Internet Explorer 10, nuevas cadenas user agent para identificar dispositivos táctiles y arquitectura ARM

La nueva cadena user agent de Internet Explorer 10 fue introducida por primera vez en la primera Platform Preview de IE10. En la versión del navegador que incorpora Windows 8 Release Preview se han añadido dos elementos para facilitar la detección del lado del servidor de dos características: dispositivos táctiles y arquitectura ARM.

Un vistazo a…
'Sgroogled.com': cuando MICROSOFT lanzaba anuncios ANTI-GOOGLE

Sobre user agent

User agent o agente de usuario, es una cadena de texto que se envía junto con el resto de cabeceras HTTP, para identificar en el servidor el programa (normalmente un navegador), que está accediendo al servicio.

La información básica que proporciona suele ser: nombre de la aplicación, versión, sistema operativo e idioma, entre otras. En los principios de la web, user agent se empleaba para diferenciar los navegadores entre sí y poder servir información adaptada a una aplicación concreta. De alguna forma esta práctica fue el inicio de la fragmentación de la web, con sitios optimizados para un determinado navegador.

Detección de capacidad táctil

El primer elemento añadido informa si el dispositivo tiene capacidades táctiles mediante el token Touch de la cadena. El empleo de Touch puede permitir a los creadores web ofrecer sitios que aprovechen las capacidades del hardware con características táctiles, y Microsoft recomienda a los diseñadores no olvidar que estos dispositivos también son capaces de emplear en ocasiones ratón y teclado.

He aquí un ejemplo de las cadenas user agent enviadas por IE-10:

Hardware sin soporte táctil:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)

Hardware con soporte táctil:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Touch)

Para detectar la capacidad táctil del lado del cliente no se recomienda emplear la cadena user agent, sino navigator.msMaxTouchPoints. Si la propiedad existe y devuelve un valor mayor que cero, el equipo del usuario tiene capacidad táctil. Por ejemplo así:

var soporteTactil = navigator.msMaxTouchPoints > 0;

La propiedad de sólo lectura msMaxTouchPoints es de tipo entero y devuelve el número de puntos táctiles soportados.

Detección de arquitectura ARM

El segundo elemento añadido a la cadena user agente de Internet Explorer 10 es el nuevo token ARM, para aquellos dispositivos animados por Windows RT. Este nuevo valor de la cadena complementa los ya existentes para identificar otras arquitecturas:

IE-10 de 32 bits sobre Windows de 32 bits:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)

IE-10 de 32 bits sobre Windows de 64 bits:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)

IE-10 de 64 bits sobre Windows de 64 bits:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)

IE-10 sobre Windows RT:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0)

Estos elementos nuevos de la cadena user agent de Internet Explorer 10 están presentes tanto en la versión de escritorio del navegador, como en la que incorpora la interfaz estilo Metro, ya que exponen las mismas capacidades de la plataforma.

A pesar de los dos nuevos tokens añadidos, Microsoft no recomienda la detección de las capacidades de los dispositivos mediante la cadena user agente, sino mediante funciones. El fabricante publicó una guía sobre cómo realizar esta detección.

En el complejo escenario de la web moderna, donde conviven multitud de tecnologías, dispositivos y navegadores, ofrecer un sitio web que se adapte a todas las posibilidades existentes es cada vez más difícil, y más si los fabricantes se apartan de los estándares, volviendo a un pasado que duele recordar.

Vía | MSDN

Portada de Genbeta