El complicado papel de los proxys-transcodificadores en la web móvil

Nadie me podrá convencer que el diseño y desarrollo de sitios web para dispositivos móviles es muchísimo más complicado que la web para dispositivos de sobremesa. Nos podemos quejar que en la web de “monitores grandes” es complicado, porque no todos los usuarios tienen la misma resolución, navegadores, configuración, o sistema operativo… pero en el caso de la web móvil la fauna es mucho más variada y desconocida.

El éxito, la difusión y presencia navengado por internet del iPhone e iPod Touch, facilita y justifica bastante los desarrollos para éstos dispositivos: hay muchos, sus características están muy bien documentadas. Además al contar con wi-fi y estar asociados en casi siempre a un plan de datos (en el caso del iPhone), son dispositivos desde los que se navega y mucho por internet. Y, cáspita, tienen una experiencia de usuario brutal.

¿Y el resto de los dispositivos? La teoría dice que se deben diseñar los sitios web para un número limitado de tipos dispositivos con unas características comunes (tamaño de pantalla, soporte de lenguajes de marcado, estilos, scripts,…), y tras el prototipado, en la fase de desarrollo, detectar las características de los dispositivos gracias a su user-agent, y enviar el código y contenido optimizado.

Entre la opción anterior, y dejar que el navegador del pequeño dispositivo se las apañe como pueda para mostrar una página plagada de tablas para maquetar, hay un amplio espectro de posibilidades en el desarrollo de web móvil (no todas recomendables, por supuesto).

Pero hay que ser realista, y la web todavía no está lejos de ser un entorno agradable para dispositivos móviles navegando por internet (salvo excepciones, y afortunadamente cada vez más).

Teniendo en cuenta que no todos los sitios web están preparados para recibir visitas de pequeñas pantallitas (por no hablar de usuarios con discapacidades y sistemas operativos-navegadores-configuración diferentes), hay pocas formas de navegar con una experienca de usuario no-demasiado-penosa:

  • Usando navegadores del tipo Opera Mini o Bolt, en los que un gateway o pasarela actúa como intermediario entre el sitio web y el dispositivo, enviando el contenido adaptado (y en el caso de Opera Mini, ni siquiera es una página web, sino un fichero de tipo OBML). Ahorra mucho peso y permite a muchos terminales mejorar notablemente las capacidades de navegación y la experiencia de usuario.
  • Navegar a través de sitios web o portales – en muchas ocasiones de las propias operadoras de telefonía o carriers – que adaptan el código y contenido a los terminales.

En los dos casos, surge un elemento de gran importancia, y que al igual que los árbitros en un partido de fútbol, es mejor que no se hagan notar. Hablo de los proxys y transcodificadores.

El funcionamiento, si no lo conoces, te lo puedes imaginar: hay una web y un navegador que si se juntan, hacen catacrocker. Solución: que algo actúe como intermediario para adaptar el código y contenido original del sitio web al navegador del dispositivo móvil:

  • si sólo admite 10 Kbs y la página pesa 100 Kbs, pues se “trocea”.
  • si hay imágenes PNG mayores que la pantalla y además el terminal no las soporta, pues la reduce y transforma en GIF.

Si un sitio web no está preparado para recibir a internautas móviles – exceptuamos aquí a los navegadores que muestran la web miniaturizada en pantalla y no la “trocean” en diferentes páginas -, un transcodificador puede ser la diferencia entre una visita y un en error (con la lógica frustación del usuario).

Pero… ¿y los sitios web que están preparados para los dispositivos móviles? En principio no debería hacer nada “intrusivo”, como cambiar la lenguaje de marcado, estilos, cabeceras HTML, user-agent,… y no hablemos de modificar el diseño o el contenido: por ejemplo cambiando los colores corporativos, añadir una barra de navegación propia, o incluso incluir publicidad sin el consentimiento y participación en los posibles beneficios del sitio web que se está visitando. ¿Y qué pasa con las páginas web seguras?

Consecuencia: algo que en principio puede ser “útil”, puede acabar siendo siendo algo deleznable y vil si no se actúa de manera responsable.

Si quieres saber cuáles son los límites “tolerables” para los transcodificadores ajenos (no hablo obviamente de los que están actuando del lado del servidor), puedes dar un vistazo al Rules for Responsible Reformatting: A Developer Manifesto, de Luca Passani.