“Progressive Enhancement” vs. “Graceful Degradation”

“Progressive Enhancement” vs. “Graceful Degradation”

“Progresive enhancement” y “Graceful degradation” son dos caras de una misma moneda; asegurar que una interface se amolde a las posibilidades técnicas del equipo que la aloje brindando una experiencia consistente independientemente de su ambiente.

Diseñando a partir de un punto mínimo inicial,  generalmente primitivo pero funcional, una interface puede mejorar progresivamente si ciertas condiciones son propicias para explotar la capacidad técnica del ambiente en pro de una mejor experiencia. A este enfoque de diseño se le conoce como “progresive enhancement” (mejora progresiva), pues parte de lo básico y progresa hacia lo sofisticado sin asumir condiciones.

“Graceful degradation” (degradación elegante), es más bien un termino para describir lo que ocurre cuando tomamos como punto de partida lo sofisticado y nos movemos hacia lo básico con éxito; si un equipo con limitaciones técnicas “imprevistas” logra interpretar la interface y brindar una experiencia consistente, decimos que se ha degradado elegantemente.

Cuando por el contrario se planea una interface partiendo de un enfoque donde se asume que existirán ciertas condiciones básicas por lo general exigentes, la interface será mal interpretada por equipos con limitaciones técnicas “ignoradas”, probablemente entorpeciendo la funcionalidad del sistema y frustrando la experiencia del usuario. Este enfoque erróneo es aveces confundido con el término “graceful degradation” pero no es necesariamente correcto pues en estos casos generalmente se recurre a parches, hacks, trucos, que finalmente hacen que la experiencia sea suficiente, pero no consistente y resulta insustentable al paso del tiempo.

I might be an idealist but I really dislike the idea of graceful degradation. By building something and then making it barely work in other environments (or asking users to upgrade) I make a lot of assumptions about both the environment and the ability of the users to upgrade.
Chris Heilmann.

Chris Heilmann comparte su visión acerca de ambos enfoques y explica la diferencia con dos atinados ejemplos en su artículo Graceful degradation versus progressive enhancement, como verán todo radica entre asumir o no expectativas del ambiente y también en como resolver las incompatibilidades técnicas a través de instruir al usuario a continuar con su experiencia sin la condición de actualizar su equipo. Es un artículo muy interesante y bien escrito el cual puede hacerte repensar la actitud que tomas cuando se planea un proyecto.

Leave a Reply

Your email address will not be published. Required fields are marked *