La importancia del Undo en las Aplicaciones Web

Posted by Pablo Viojo on November 11, 2008 at 18:16

Robert O’Callahan, en su artículo The Essence Of Web Applications, resume algunos aspectos de las aplicaciones web y su relación con las aplicaciones de escritorio.

En lo personal no estoy muy de acuerdo con lo que opina, sobre todo cuando menciona aspectos relacionados con los elementos de “navegación” con los que debe contar una aplicación (atras, adelante, bookmarks, etc), elementos que tienen un fuerte trasfondo en la navegación de los sitios web.

En mi visión, la diferencia fundamental entre una aplicación y un sitio web es que las aplicaciones, en general, pueden ser vistas como entidades que operan realizando transformaciones sobre datos, por lo tanto a lo largo del ciclo de vida de una aplicación existen diferentes estados de los datos, algunos inducidos por el usuario, por ejemplo al escribir un documento, o realizado por el sistema, como por ejemplo sincronización, aplicación de lógica de negocios, etc. Por otra parte un sitio web es un conjunto de información, estructurada según un amplio conjunto de paradigmas y patrones (categorización, etiquetado, jerarquización) que sufre muy pocas transformaciones, o en algunos casos ninguna, a lo largo de su ciclo de vida. En este sentido los diferentes estados en que se puede encontrar un sitio web, esto es las páginas que se muestran, dependen de la relación entre los diferentes elementos que lo componen, y sus modificaciones responden mayormente a la voluntad del usuario del sitio.

Por lo tanto, en el caso de la aplicación los datos cambian en el tiempo, en el caso de los sitios web los datos no cambian, son estáticos. Entonces es muy dificil considerar que los mismos paradigmas pueden aplicar en ambos contextos funcionales.

Los elementos de navegación de un browser han sido diseñados para funcionar muy bien en un contexto en que el usuario recorre una estructura de documentos, ya sea con caminos predeterminados o no. En el caso de las aplicaciones estos elementos deberían ser reemplazados por la posibilidad de hacer undo/redo (deshacer/rehacer) lo que actuaría en el sentido de “navegación” entre estados de los datos que la aplicación esta procesando (deshacer un cambio en un formulario, etc).

Muchos dirán que esto es algo trivial, sin embargo basta mirar un poco el mundo de las “aplicaciones web” y casi ninguna hace uso de estas herramientas, por lo tanto creo que es una area donde hay mucha tela que cortar si es que se busca que algún día las aplicaciones web compitan con las desktop.

A continuación una breve, e introductoria, explicación del patrón Undo.

El patrón Undo

¿Que es? Permite al usuario la posibilidad de deshacer una acción realizada con anterioridad

¿Cuando usarlo? En cualquier instancia donde es factible perder trabajo realizado (por ejemplo al borrar o modificar datos). Cuanto más costosa es la recuperación de datos más importante es la posibilidad de desahacer.

¿Por qué?

  • El software que permite deshacer es software en el que puedes confiar.
  • Todos cometemos errores, por ejemplo en “Aceptar” en un diálogo de cerrar, cuando en realidad no era lo que queríamos, perdiendo el trabajo realizado. En este sentido el poder de la costumbre es muy fuerte, llevandonos a hacer click en aquellas opciones mas comunmente usadas, incluso en aquellos casos en que deberíamos seleccionar otra opción. En este contexto es mucho más util proveer la posibilidad de desahcer que la de diálogos de confirmación. Nunca usar una advertencia cuando puedes proveer la opción de deshacer.

¿Como funciona?

  • Decide cuales opciones deben ser posibles de deshacer y genera una pila de acciones a deshacer. (undo stack)
  • Despues de una acción que puede ser deshecha provee un link o boton para deshacer la acción.

Hasta aquí algunos aspectos importantes del undo en las aplicaciones (web o no web). En un próximo artículo veremos que importancia tiene esto en la experiencia del usuario al momento de usar una aplicación. Stay Tuned!

Algunos links interesantes:

1 of 1 people liked this post.

Sites that link to this post:






Suscribe to this article's comments in RSS

Subscribe to this blog

Use Needish in your Desktop

You can download our Desktop Application and post Needs and Helps from your computer

Click here to download

Helperman

Helperman is the superhero whose superpower is helping others.

 

See more at Helperman.org

Needish in pictures

PymeFeliz

Loading content...

Videos

Limpiando el fondo marino

Recent comments

Most Read Content

Most read posts

Our friends