Compatible con todos los navegadores

Mi demente cruzada para lograr completa retrocompatibilidad

¿Cómo podía tener una página de la vieja escuela y no hacerlo compatible con verdaderos navegadores de los 90? Di el primer paso de mi noble misión cuando me fijé que el sitio se veía decente en Internet Explorer 4. Desde ese punto que no hubo vuelta atrás: la retrocompatibilidad total con la mayoría de los navegadores antiguos se volvió mi meta y mi obsesión, y creo que sí me volví un poco loco en el intento debido a todo lo que tuve que aprender de HTML y CSS, la historia de la red, separación de estilo y semántica (o no), extensiones propietarias a HTML, Flash y hacks malvados.

¿Cuán lejos podría llegar adaptando mi sitio para lograr mi cometido? Tras mucho tiempo y esfuerzo gastados finalmente tengo mi respuesta: Puedes acceder a cidoku.net usando tecnología de 1996 (e incluso un poco antes), y ese ni siquiera es el límite final, probablemente. Por ahora, eso sí, estoy satisfecho, aunque siempre hay más trabajo que hacer para expandir el número de lugares donde cidoku.net puede verse.

Resultados

La tabla a continuación muestra un resumen de todos los navegadores (gráficos) en los que pude probar el sitio. Los clasifico en las siguientes categorías:

Navegador UTF-8 Estilos PNG Flash Música
NCSA X Mosaic
2.7b6 No No No No No
Netscape Navigator
1.1 El sitio no carga
2.02 No No No No No
3.03 Casi
4.03
4.04+
Internet Explorer
1.5 - 2.01 El sitio no carga
3.0 No No No No No
3.01 - 3.03 Casi
4.01 - 8.0
9.0 - 11.0
Opera
3.0 No No No No No
3.50 No
3.51
Firefox
1.0.8
3.6.28
85.0+
Kindle
PW (3.0) No No
Consolas de juegos
Nintendo 3DS No No
Navegadores independientes
Pale Moon 33
Retrozilla 2.2
Netsurf 3.11 No No
Ladybird Quizá
Dillo 3.0.5 No
xLinks 2.29 No
Arachne 1.99 CSS 1

Notas

No incluí navegadores en modo texto en la tabla, pero el soporte para Links y w3m es excelente. Muestran el sitio sin problemas excepto por páginas multimedia en las secciones de cosas y flash, pero eso era esperable. El navegador Lynx no admite tablas (igual que NCSA X Mosaic), así que algunas partes se ven bastante diferentes; no obstante, unos trucos muy simples bastan para que no se rompan las páginas con tablas.

Creo que mi sitio no carga en IE 1-2 y Netscape 1 (y anteriores) porque no entienden el protocolo HTTP/1.1. ¿Cómo podían hacerme esto?

Debido a que es altamente improbable que los usuarios de navegadores muy antiguos estén cambiando sus cadenas de agente de usuario (user agent), les paso GIFs en vez de PNGs a navegadores cuyas cadenas de agente de usuario empiezan en Mozilla/2 and Mozilla/3 (así que IE 3 y Netscape 2-3, básicamente), por lo que no deberían haber muchas imágenes rotas en ellos fuera del libro de visitas. No pude hacer funcionar este truco con NCSA Mosaic 2.7b6, pero hacer el sitio compatible con navegadores tan antiguos como versiones antiguas de Mosaic, Opera y navegadores en Windows 3.1 quizá está fuera del ámbito del proyecto. La primera versión de Netscape 4 compatible con imágenes en formato PNG en Windows de 32 bits es 4.04, pero no estoy pasándole GIFs a 4.03 y anteriores de la serie 4 porque no tengo una forma fácil de detectarlos (creo que puedo vivir con eso porque no hay razón para no instalar 4.04 o superior).

Se puede activar Unicode en Netscape 3 para Windows agregando una entrada al registro. Agrega HKEY_CURRENT_USER/Software/Netscape/Netscape Navigator/INTL/UseUnicodeFont (cadena) y dale el valor "1". Funciona pero tiene algunos fallos, así que no es ideal.

Podría ir más allá y no usar Unicode cambiando la codificación de la mayoría de mis páginas a ISO-8859-1 (el cual es suficiente para español e inglés), pero creo que eso sí sería demasiado trabajo. Creo que puedo estar tranquilo con el hecho de que para leer mis páginas de la mejor manera vas a necesitar un navegador que entienda UTF-8. Un sistema con las fuentes apropiadas también es deseable, pero un marcador es mejor que basura de codificación.

Flash 7 es el último que corre en Windows 95 y 98 (primera edición), así que puedes ver mis películas flash en esos sistemas. Si bien creo que es un poco anacronístico, si se puede hacer, se puede hacer. Pregunta abierta: ¿es el computador promedio con Windows 95 lo suficientemente poderoso para ver películas de Flash 7?. Flash 8 definitivamente solo corre en Windows 98 SE y superior. El control ActiveX (IE) no se instala en versiones previas de Windows y el complemento/conector de Netscape no carga.

A los navegadores modernos que no son compatibles con Flash se les ofrece emular mis flashes con Ruffle (en particular una versión personalizada alojada en mi servidor).

Las hojas de estilo en IE 3.01 a 3.03 se muestran algo extrañas y no pueden ser desactivadas. El sitio se ve en gran parte bien en estos navegadores pero <hr>s (líneas horizontales) se ven muy anchas. Podría arreglarlas, pero seguramente no sin romper <hr>s en todos los otros navegadores.

Hice mi propio reproductor de MP3 en Flash para navegadores antiguos. El audio incrustado retrocompatible funciona usando un elemento <audio> que contiene múltiples fuentes <source> para archivos mp3 y ogg que se reproducen en navegadores HTML5 (dependiendo de los códecs) y un <embed> de respaldo que se muestra en navegadores no-HTML5. Todo esto se hace automáticamente por el lado del servidor usando magia.

Capturas seleccionadas de la página principal

Toma de pantalla

Links 2.29, GNU/Linux.

Toma de pantalla

Internet Explorer 4, Windows 95.

Toma de pantalla

Netscape Navigator 4.04, Windows XP.

Toma de pantalla

NCSA X Mosaic 2.7b6, GNU/Linux.

Toma de pantalla

Netscape Navigator 3.01 Gold, Windows 95

Toma de pantalla

Kindle Browser 3.0 (Paperwhite)

Toma de pantalla

Navegador de Nintendo 3DS

Screenshot

Arachne 1.99, FreeDOS 1.3

¿Comentarios? Dime qué piensas en el libro de visitas.

Obtén el reproductor de Flash Mejor en 800x600 Compatible con Internet Explorer Compatible con Netscape Navigator