My Development Tools Corner

Let’s talk about Developer Tools Things

Complementos en Internet Explorer

Complementos en Internet Explorer
Entendemos por Complementos básicamente a Aplicaciones, cuya integración nos permite la interacción con contenido web. La incorporación de estos componentes tiene como objetivo, extender la funcionalidad ya residente en Internet Explorer, agregando programación personalizada. Una correcta integración exige que los usuarios puedan mantener la integridad en el uso de Internet Explorer, ya sea sobre todas sus funcionalidades nativas o el subgrupo de éstas que su Equipo Administrador haya decidido configurar por cuestiones de Seguridad que demanda su Negocio (utilizando por ejemplo Políticas de Grupo, para evitar acceso a algunas configuraciones).
Una incorrecta integración de estos Complementos puede afectar severamente la funcionalidad de Internet Explorer, haciendo su comportamiento inconsistente, exteriorizándose el mismo generalmente a través de detención del funcionamiento o demoras en la presentación de la Información sobre la cual se está navegando.
Algunos ejemplos que demuestran al usuario, que por alguna razón se ha interrumpido el funcionamiento normal de Internet Explorer, se exteriorizan por medio de Mensajes Emergentes (pop ups) tales como:

2
3

Todo esto afecta la experiencia del usuario al navegar sobre contenido utilizando Internet Explorer.
Por eso, al momento de desarrollar Complementos, se deben tener en cuenta algunas consideraciones para que la integración se realice de manera correcta, con lo que tendrá un máximo provecho en el proceso de Navegación.

En los siguientes apartados, desarrollamos:
o Requerimientos para una ideal integración
o Lineamientos a tener en cuenta cuando se implementan Complementos.
o Consideraciones adicionales a nivel de Código no Desarrollado por Microsoft
o Código contenido en estos Complementos, que no dejan de ser en sí mismos, como dijimos anteriormente, llanamente Aplicaciones.

Requerimientos para una ideal integración con Internet ExplorerLineamientos a tener en cuenta cuando se implementan Complementos
Con el propósito de evitar inconvenientes de rendimiento en el uso de Internet Explorer, al momento de decidir desarrollar un Complemento, recomendamos tener en cuenta las siguientes consideraciones:

Los Complementos no deberían:
o Limitar o quitar acceso a características de Internet Explorer.
o Cambiar un acelerador predefinido/borrar o modificar proveedores de búsqueda/actividades/complementos de otros proveedores sin informar al usuario antes por medio de la Interfaz de usuario.
o Bajar la Configuración de Seguridad.
o Eliminar o reemplazar las funcionalidades de Internet Explorer; si agregan funcionalidad, no deberían limitar el acceso a funcionalidades ya existentes.
o Habilitar Complementos que hayan sido deshabilitados por el usuario o no dejar que el usuario pueda deshabilitarlos.
o Evitar la visibilidad del Botón Cerrar del Navegador.
En caso que fuere necesario, el complemento debe tener su propio Botón de Cerrar así como también, sus propios botones de Control de Diálogo; que estos se puedan Deshabilitar y cumplir con las Selecciones del Usuario.
o Faltar en la Sección Agregar/Remover Programas, del Panel de Control.
o Imposibilitar una Desinstalación Completa y Clara, del Sistema operativo del Usuario.
o Modificar los Porcentajes de Cargas de Usuario y Navegación a nivel Registro.
o Cambiar la Disposición de Iconos de la Barra de Comando de Internet Explorer.

El usuario debería mantener:
o Control total de los proveedores de aceleración predefinidos.
o La posibilidad de :
o Elegir su propio acelerador, y/o cambiar el mismo en cualquier instante por medio de la Interfaz de usuario;
o Deshabilitar de manera completa cualquier complemento;
o Ser Notificado por el complemento, cuando sea necesaria su habilitación y esperar la confirmación del usuario.

o Al momento de utilizar Interfaces de programación de aplicaciones, conocidas como APIs por sus siglas en Ingles (Applications Programming Interfaces), se debería optar por seleccionar por aquellas soportadas por Internet Explorer y Windows.
o Esto brinda una mayor contingencia y minimiza la posibilidad de inestabilidad en el funcionamiento durante la Navegación así como también, inconvenientes al momento de realizar actualizaciones de Sistema Operativo.

A partir de la versión Internet Explorer 11, los Complementos deberán ser compatibles con el Modo Protegido Mejorado (EPM Enhanced Protected Mode).

Con EPM básicamente se limita el acceso a contenido sensible del usuario, aislándolo, minimizando así inseguridad sobre este contenido. Ejemplos de este contenido: Cache, cookies, etc. Hablaremos más en detalle en un Artículo completo.

Consideraciones adicionales a nivel de Código no Desarrollado por Microsoft
Las Aplicaciones generadas por los desarrolladores en empresas fuera de Microsoft, pueden integrarse como vimos, a Internet Explorer. Aunque trabajamos muy estrechamente con estas empresas para brindarles orientación y ayuda en la escritura de Programas destinados a brindar una gran experiencia a nuestros usuarios en la web, no podemos garantizar que su código será de alta calidad. Al no ser Librerías de Microsoft, DLLs, no conocemos su funcionalidad o cual es el propósito por el cual es necesario instalarlas en los entornos de los Clientes.

La incorporación de Complementos, como vimos, puede agregar mucha funcionalidad al Navegador, pero si la programación de dichos complementos, es pobre, o no se realizaron las pruebas de integración correctas, se pueden desencadenar entonces, problemas de rendimiento que más que mejorar la Experiencia del Usuario, la perjudican.

La navegación se vuelve entonces una experiencia no grata, provoca insatisfacción y repercute entonces, indefectiblemente, en la Productividad del usuario.

Una participación Activa en el Mantenimiento de los Complementos del Navegador, es la mejor manera de asegurar un buen Rendimiento para el usuario, que asegure su Productividad.

Los siguientes, son documentos sobre consideraciones de Rendimiento del Navegador. En ellos encontrará, diferentes maneras de Optimizar el Rendimiento en la Experiencia del usuario con Nuestro producto:
Internet Explorer All Performance Whitepaper
Guidelines and requirements for add-ons that extend Internet Explorer
Custom Toolbar Close Dialog
IOpenService::SetDefault Method