3.5. ¿Mejora progresiva o degradación gradual?
Desde los comienzos de la Web, los navegadores fueron diseñados para ignorar instrucciones que no reconocieran. Esta capacidad, inherente a muchos sistemas informáticos, es conocida como tolerancia al fallo, o fault tolerance por su traducción al inglés. Esto está dado así para que los lenguajes HTML y CSS pudiesen evolucionar sin ser frenados por el riesgo a conflictuar con ellos. “Entender la tolerancia a fallos es clave para entender la mejora progresiva. […] es la razón por qué […] funciona y hace posible asegurarse que todo el contenido servido en la web es accesible y al alcance de todos” (Gustafson, 2011, p. 5).
A medida que la Web crecía, las técnicas utilizadas en el campo del diseño web fueron evolucionando con ella. Lo más habitual consistía en aplicar gran parte de estos cambios en cualquier tipo de proyecto, los cuales generalmente eran únicamente soportados por las últimas versiones de los navegadores más populares. Esta práctica se convirtió en una tendencia, que duró más de una década. “Esta época dio lugar a la filosofía de desarrollo conocida como ‘degradación gradual’” (Gustafson, 2011, p. 6).
Actualmente pueden distinguirse restos de graceful degradation, su término original en inglés. Es aún habitual diseñar y maquetar con técnicas disponibles sólo para navegadores modernos, y dejar para el final del proyecto la comprobación de que otros anteriores las soporten, aunque sea medianamente, y luego, a lo sumo, hacer pequeños cambios para suplir la falta. “El concepto no es especialmente amigable con el futuro. Muestra una falta de respeto a los usuarios de navegadores más antiguos e ignora la creciente realidad de que hay nuevos dispositivos (móviles), que también cuentan con navegadores menos capaces” (Kadlec, 2012, p. 15).
La degradación gradual fue siendo desvalorizada, hasta la aparición de un nuevo concepto denominado mejora progresiva. Esta nueva técnica es esencialmente lo contrario. Su premisa es comenzar por un planteo que abarque la estructura delineada en base a los estándares de la W3C, de manera que sea en primera instancia accesible desde cualquier navegador, para luego ir sumándole capas y niveles de funcionalidades, y características soportadas únicamente en algunos más modernos (Frain, 2012).
Tanto diseñadores novatos como profesionales del área, deben procurar servir una experiencia óptima a la mayor cantidad de usuarios como les sea posible. Por eso mismo, la mejora progresiva es una filosofía que, correctamente aplicada, promete cumplir con tal objetivo.