Patrones de Interacción para el Diseño de Interfaces ... - Willy .Net
Patrones de Interacción para el Diseño de Interfaces ... - Willy .Net
Patrones de Interacción para el Diseño de Interfaces ... - Willy .Net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Patrones</strong> <strong>de</strong> Interacción <strong>para</strong> <strong>el</strong><br />
Diseño <strong>de</strong> <strong>Interfaces</strong> WEB usables<br />
Ma. Elena Hernán<strong>de</strong>z Hdz. 1 , Guillermo Alvarez Carrión 1 , Jaime Muñoz Arteaga 2<br />
Universidad Autónoma <strong>de</strong> Tlaxcala (UAT) 1 , Departamento <strong>de</strong> Ingeniería y Tecnología,<br />
Km 2.5 Calzada Apizaquito s/n, Apizaco Tlaxcala, México 90300<br />
Instituto Nacional <strong>de</strong> Astrofísica Óptica y Electrónica (INAOE) 2 , Departamento <strong>de</strong> Ciencias Computacionales, Luis Enrique<br />
Erro No. 1, Sta. María Tonantzintla, Puebla México, 72840.<br />
ma-<strong>el</strong>ena@ingenieria.uatx.mx, galvarez@ingenieria.uatx.mx, jaime@inaoep.mx<br />
Resumen<br />
La aceptación final <strong>de</strong> una aplicación <strong>de</strong> software por parte<br />
<strong>de</strong>l usuario <strong>de</strong>pen<strong>de</strong> en gran manera <strong>de</strong> la percepción que<br />
éste tenga <strong>de</strong>l sistema y esta percepción se logra mediante la<br />
interfaz <strong>de</strong>l sistema. En la literatura correspondiente al<br />
diseño <strong>de</strong> interfaces <strong>de</strong> usuario se habla mucho <strong>de</strong> la<br />
importancia <strong>de</strong> diseñar interfaces usables, (fáciles <strong>de</strong><br />
apren<strong>de</strong>r, <strong>de</strong> usar, robustas, flexibles etc.) sin embargo, la<br />
forma <strong>de</strong> incorporar esta característica en los diseños es poco<br />
clara. Es este documento <strong>de</strong> propone <strong>el</strong> uso <strong>de</strong> los <strong>Patrones</strong><br />
<strong>de</strong> Interacción <strong>para</strong> <strong>el</strong> diseño <strong>de</strong> interfaces usables <strong>para</strong> <strong>el</strong><br />
WEB, en virtud <strong>de</strong> que los patrones especifican claramente la<br />
forma <strong>de</strong> implementación, <strong>el</strong> contexto en <strong>el</strong> que pue<strong>de</strong>n ser<br />
aplicados e incluso las consecuencias <strong>de</strong> su uso, sin olvidar<br />
que los <strong>Patrones</strong> <strong>de</strong> Interacción están basados sobre<br />
principios <strong>de</strong> Usabilidad.<br />
Introducción<br />
Un patrón partiendo <strong>de</strong> la <strong>de</strong>finición <strong>de</strong> Christopher<br />
Alexan<strong>de</strong>r[4], es una solución a un problema que se usa<br />
repetidamente en contextos similares con algunas variantes<br />
en la implementación. El primer intento por aplicar este<br />
concepto en <strong>el</strong> diseño <strong>de</strong> las interfaces <strong>de</strong> usuario se dio<br />
por Ward Cummingham y Kent Beck quienes adaptaron la<br />
propuesta <strong>de</strong> C. Alexan<strong>de</strong>r y crearon cinco patrones <strong>de</strong><br />
interfaz: Window per task, Few panes, Standard panes,<br />
Nouns and verbs, y Short Menu. El interés por aplicar este<br />
<strong>para</strong>digma a la Ingeniería <strong>de</strong> Software se manifiesta a<br />
principios <strong>de</strong> los 90’s, don<strong>de</strong> los personajes más<br />
<strong>de</strong>stacados son Erick Gamma, Richard H<strong>el</strong>m, Ralph<br />
Johnson y John Vlissi<strong>de</strong>s; quienes se hacen llamar “La<br />
Pandilla <strong>de</strong> los Cuatro” (GangOfFour) en <strong>el</strong> 94 publicaron<br />
su famoso libro “<strong>Patrones</strong> <strong>de</strong> Diseño: Elementos <strong>de</strong><br />
Software Reusable Orientado a Objetos” (Design Patterns:<br />
Elements of reusable Object Oriented Software). Sin<br />
embargo no fue hasta finales <strong>de</strong> los noventa en que<br />
irrumpen en escena los <strong>Patrones</strong> <strong>de</strong> Interacción[8] siendo<br />
estos más cercanos a las i<strong>de</strong>as <strong>de</strong>l Arquitecto Christopher<br />
Alexan<strong>de</strong>r, quien propuso <strong>el</strong> <strong>para</strong>digma <strong>de</strong> patrones<br />
teniendo en mente una cuestión <strong>de</strong> estética y confort en la<br />
construcción <strong>de</strong> edificios y <strong>de</strong> consi<strong>de</strong>rar al usuario <strong>de</strong>l<br />
edificio como parte <strong>de</strong>l equipo <strong>de</strong> diseño <strong>de</strong>l mismo, en<br />
virtud <strong>de</strong> que es él quien conoce mejor que nadie los<br />
requerimientos.<br />
En años más recientes investigadores como <strong>el</strong> Martin Van<br />
W<strong>el</strong>lie, Jennifer Tidw<strong>el</strong>l, Jaime Muñoz han <strong>de</strong>sarrollado<br />
1 <strong>de</strong> 1<br />
colecciones <strong>de</strong> <strong>Patrones</strong> <strong>de</strong> Interacción <strong>para</strong> <strong>el</strong> WEB, en<br />
dichas colecciones captan la experiencia <strong>de</strong> programadores<br />
y diseñadores expertos en <strong>el</strong> <strong>de</strong>sarrollo <strong>de</strong> interfaces<br />
usables y con<strong>de</strong>nsan esta experiencia en una serie guías o<br />
recomendaciones, que puedan ser usadas por los<br />
<strong>de</strong>sarrolladores novatos con <strong>el</strong> propósito <strong>de</strong> que en poco<br />
tiempo adquieran la habilidad <strong>de</strong> diseñar interfaces que<br />
incidan en la satisfacción <strong>de</strong> los usuarios.<br />
Problemática<br />
Es muy frecuente encontrar interfaces <strong>para</strong> <strong>el</strong> WEB en las<br />
que no se consi<strong>de</strong>ro que <strong>el</strong> usuario no es en la mayoría <strong>de</strong><br />
los casos un experto en computación, sino que la<br />
aplicación pue<strong>de</strong> ser usada por un publico diverso, que<br />
pue<strong>de</strong> incluir personas con características especiales, al<br />
parecer es fácil olvidar que es <strong>el</strong> usuario quien <strong>de</strong>termina<br />
<strong>el</strong> éxito o fracaso <strong>de</strong> una aplicación <strong>de</strong> software. Incluir<br />
solamente características estéticas en una interfaz sin<br />
consi<strong>de</strong>rar seriamente la usabilidad <strong>de</strong> la misma provoca<br />
un fuerte <strong>de</strong>saliento en <strong>el</strong> usuario. Lo <strong>de</strong>seable es que las<br />
interfaces <strong>de</strong> aplicaciones <strong>para</strong> <strong>el</strong> WEB sean fáciles <strong>de</strong><br />
usar, fáciles <strong>de</strong> navegar, agradables al usuario, que<br />
contengan <strong>el</strong>ementos bien distribuidos, <strong>de</strong> tal forma que no<br />
se haga una saturación <strong>de</strong> la página y que la Interfaz<br />
realmente contenga la información que <strong>el</strong> usuario espera<br />
<strong>de</strong> <strong>el</strong>la a<strong>de</strong>más <strong>de</strong> que por supuesto, <strong>de</strong>be ser agradable<br />
visualmente.<br />
Propuesta<br />
La usabilidad es “La medida en la que un producto se<br />
pue<strong>de</strong> usar por <strong>de</strong>terminados usuarios <strong>para</strong> conseguir<br />
objetivos específicos con efectividad, eficiencia y<br />
satisfacción en un contexto <strong>de</strong> uso particular” [3]. Una<br />
interfaz <strong>de</strong> usuario usable es fácil <strong>de</strong> apren<strong>de</strong>r <strong>para</strong> los<br />
nuevos usuarios quienes sin complicaciones pue<strong>de</strong>n<br />
convertirse en expertos, es flexible porque <strong>el</strong> usuario y <strong>el</strong><br />
sistema pue<strong>de</strong>n intercambiar información <strong>de</strong> varias formas,<br />
es sólido porque es posible utilizar <strong>el</strong> sistema sin<br />
problemas ya que pue<strong>de</strong> recuperarse <strong>de</strong> los errores y<br />
respon<strong>de</strong>r en un tiempo razonable.<br />
Si bien existen una gran cantidad guías, pautas, estándares<br />
y reglas ergonómicas <strong>para</strong> diseñar interfaces usables,<br />
generalmente no es fácil aplicarlas en virtud <strong>de</strong> que no se<br />
precisa <strong>el</strong> escenario bajo <strong>el</strong> cual puedan aplicarse, no se
conocen las consecuencias <strong>de</strong> su uso y no se tienen<br />
ejemplos específicos <strong>de</strong> cómo emplearlas a diferencia <strong>de</strong><br />
los <strong>Patrones</strong> <strong>de</strong> Interacción en don<strong>de</strong> sí se especifica<br />
claramente como <strong>de</strong>ben aplicarse, bajo que contexto y que<br />
implicaciones tiene su uso.<br />
Un patrón tiene un formato bien <strong>de</strong>finido [3], atributos<br />
frecuentes son: nombre <strong>de</strong>l patrón, problema que resu<strong>el</strong>ve,<br />
solución propuesta, contexto, ejemplos etc. Los patrones<br />
están estrechamente r<strong>el</strong>acionados unos con otros y <strong>para</strong> un<br />
mejor aprovechamiento <strong>de</strong> estos no <strong>de</strong>ben aplicarse <strong>de</strong><br />
manera aislada.<br />
La estructura <strong>de</strong> los patrones <strong>de</strong> la colección <strong>de</strong> Van<br />
W<strong>el</strong>lie es en terminos generales la siguiente [8]:<br />
Nombre : El título <strong>de</strong>l patrón, <strong>el</strong> cual <strong>de</strong>be ser<br />
representativo, claro y conciso <strong>de</strong>l concepto a comunicar.<br />
Autor: Quien propone al patrón.<br />
Problema : Una <strong>de</strong>scripción <strong>de</strong>l problema <strong>de</strong>s<strong>de</strong> <strong>el</strong> punto<br />
<strong>de</strong> vista <strong>de</strong>l usuario.<br />
Principio <strong>de</strong> usabilidad: Describe los principios o<br />
criterios <strong>de</strong> usabilidad en los cuales se basa <strong>el</strong> patrón.<br />
Contexto: Una <strong>de</strong>scripción <strong>de</strong> la situación en la cual pue<strong>de</strong><br />
usarse <strong>el</strong> patrón, cuales son las características <strong>de</strong>l contexto,<br />
en términos <strong>de</strong> las tareas, <strong>de</strong>l usuario.<br />
Fuerza: Aspectos <strong>de</strong>l contexto que necesitan ser<br />
optimizados.<br />
Solución: Descripción clara <strong>de</strong> la solución propuesta<br />
(otros patrones pue<strong>de</strong>n ser necesarios <strong>para</strong> completar la<br />
solución completa <strong>de</strong>l problema)<br />
Consecuencias: Describe los resultados <strong>de</strong> aplicar <strong>el</strong><br />
patrón.<br />
Ejemplo: Un ejemplo ilustrativo <strong>de</strong> una solución exitosa.<br />
Para mayor claridad <strong>de</strong>l concepto <strong>de</strong> patrón <strong>de</strong> interacción<br />
a continuación se muestran algunos casos particulares<br />
Nombre: Formatos <strong>de</strong> Datos <strong>de</strong> fechas<br />
Autor: Martijn Van W<strong>el</strong>lie<br />
Problema: El usuario <strong>de</strong>sea introducir datos <strong>de</strong><br />
fechas y no <strong>de</strong>sea preocuparse por la sintaxis <strong>de</strong>l<br />
dato.<br />
Principio: Guiar al usuario y prevenir errores<br />
Contexto: Todos los sistemas que requieran que<br />
<strong>el</strong> usuario introduzca fechas<br />
Fuerzas: Los datos <strong>de</strong> fechas tienen múltiples<br />
sintaxis.<br />
Solución: Permitir que <strong>el</strong> usuario <strong>el</strong>ija la fecha <strong>de</strong><br />
un calendario como en <strong>el</strong> mundo real.<br />
Ejemplo: <strong>para</strong> realizar la búsqueda <strong>de</strong> algún<br />
archivo creado a partir <strong>de</strong> una fecha <strong>el</strong> calendario<br />
le ayudará a llenar las casillas <strong>de</strong> la fecha con <strong>el</strong><br />
formato <strong>de</strong> día/mes/año (dd/mm/aa).<br />
2 <strong>de</strong> 2<br />
Nombre: Representación visual jerárquica <strong>de</strong>l<br />
estado <strong>de</strong>l sistema.<br />
Autor: Jaime Muñoz<br />
Problema: ¿Cómo mostrar la información <strong>de</strong>l<br />
estado que tiene una estructura arborescente?<br />
Principio: Reducir la carga cognitiva y<br />
representación coherente.<br />
Contexto: Una gran cantidad <strong>de</strong> información<br />
r<strong>el</strong>acionados jerárquicamente. El usuario pue<strong>de</strong><br />
facilitarse <strong>el</strong> acceso <strong>de</strong> la información<br />
<strong>de</strong>splazándose a través forma <strong>de</strong> una jerarquía.<br />
Fuerza: Una representación jerárquica es fácil <strong>de</strong><br />
enten<strong>de</strong>r y <strong>de</strong> manipular.<br />
El usuario manipula y visualiza la r<strong>el</strong>ación <strong>de</strong> los<br />
<strong>el</strong>ementos.<br />
Solución: Mostrar los datos en forma jerárquica<br />
don<strong>de</strong> exista un nodo <strong>de</strong> base y las nodos<br />
terminales representan datos <strong>el</strong>ementales.<br />
Consecuencias: La representación jerárquica<br />
motiva al usuario a <strong>de</strong>scubrir información que le<br />
pue<strong>de</strong> ser útil <strong>para</strong> alcanzar su objetivo. Dicha<br />
representación también le permite tener una<br />
imagen mental correcta <strong>de</strong>l acceso <strong>de</strong> la<br />
información que ofrece <strong>el</strong> sistema a un estado<br />
dado.<br />
Ejemplo: Un sistema <strong>de</strong> gestión <strong>de</strong> archivos<br />
gráfico muestra la r<strong>el</strong>ación <strong>de</strong> los documentos<br />
<strong>de</strong>ntro <strong>de</strong> fól<strong>de</strong>res los cuales pue<strong>de</strong>n abrirse<br />
(aqu<strong>el</strong>los con signo +) o cerrarse (aqu<strong>el</strong>los con<br />
signo -)<br />
El siguiente ejemplo es un patrón <strong>de</strong> Jennifer Tidw<strong>el</strong>l [10]<br />
con un formato mucho más simple<br />
Cuándo utilizarlo: en <strong>el</strong> diseño <strong>de</strong> páginas con<br />
varios niv<strong>el</strong>es
¿Por qué?: si se cuenta con varios niv<strong>el</strong>es es<br />
posible que <strong>el</strong> usuario se pierda al realizar la<br />
navegación, pero si se mantiene <strong>el</strong> diseño <strong>de</strong> la<br />
página en todos los niv<strong>el</strong>es, y a<strong>de</strong>más cada niv<strong>el</strong><br />
tiene algo significativo, <strong>el</strong> usuario podrá<br />
distinguir en que niv<strong>el</strong> está y como pue<strong>de</strong> regresar<br />
o seguir navegando.<br />
¿Cómo?: se pue<strong>de</strong>n emplear colores <strong>para</strong> resaltar<br />
los niv<strong>el</strong>es, sin per<strong>de</strong>r <strong>el</strong> diseño original, así como<br />
también <strong>el</strong> tipo <strong>de</strong> letra.<br />
Ejemplo:<br />
La colección <strong>de</strong> Martjin van W<strong>el</strong>lie se clasifica en<br />
6 niv<strong>el</strong>es. El niv<strong>el</strong> Interacciones Básicas contiene los<br />
patrones que representan las acciones básicas que realiza<br />
un usuario al navegar en una página. El niv<strong>el</strong> <strong>de</strong> Búsqueda<br />
facilita la busqueda al usuario dandole la mayor facilidad y<br />
efectividad <strong>de</strong> los resultados obtenidos. El niv<strong>el</strong> <strong>de</strong><br />
Elementos <strong>de</strong> la página esta orientado a las páginas<br />
comerciales que son visitadas por usuarios <strong>de</strong> diferentes<br />
culturas, facilitandoles la navegación proporcionandoles<br />
características particulares. El niv<strong>el</strong> <strong>de</strong> <strong>Patrones</strong> <strong>de</strong><br />
comercio <strong>el</strong>ectronico brinda al usuario privacidad en <strong>el</strong><br />
acceso a sus cuentas. El niv<strong>el</strong> <strong>de</strong> Navegación provee<br />
patrones con los <strong>el</strong>ementos básicos <strong>para</strong> proporcionar una<br />
navegación fácil y accesible.<br />
Por otra parte, tal como explicamos en [6] la colección <strong>de</strong><br />
patrones <strong>de</strong> Jaime Muñoz pue<strong>de</strong> clasificarse en 3 niv<strong>el</strong>es<br />
<strong>de</strong> acuerdo al niv<strong>el</strong> <strong>de</strong> interacción, Léxico, Sintáctico y<br />
Semántico. A niv<strong>el</strong> Léxico, los patrones consisten en dar<br />
retroalimentación al usuario sobre <strong>el</strong> resultado <strong>de</strong> sus<br />
acciones. La categoría <strong>de</strong> patrones <strong>de</strong> interacción a niv<strong>el</strong><br />
Sintáctico agrupa patrones que informan <strong>de</strong> forma visual<br />
sobre <strong>el</strong> comportamiento <strong>de</strong>l sistema. La categoría <strong>de</strong><br />
patrones <strong>de</strong> interacción a niv<strong>el</strong> Semántico agrupa los<br />
patrones que permiten la visualización <strong>el</strong> estado <strong>de</strong>l<br />
sistema.<br />
3 <strong>de</strong> 3<br />
Conclusiones<br />
Los <strong>Patrones</strong> <strong>de</strong> Interacción son soluciones efectivas a<br />
problemas repetidos, promueven la reutilización <strong>de</strong><br />
los buenos diseños, acortan <strong>el</strong> tiempo en que un diseñador<br />
novato adquiere experiencia <strong>para</strong>, son una exc<strong>el</strong>ente<br />
alternativa <strong>para</strong> <strong>de</strong>sarrollar interfaces usables <strong>para</strong> <strong>el</strong><br />
WEB, en virtud <strong>de</strong> que se <strong>de</strong>finen a partir <strong>de</strong> los criterios<br />
<strong>de</strong> usabilidad. Sin embargo, una dificultad presente al<br />
momento, es que no se cuenta con una taxonomía <strong>de</strong><br />
patrones aceptada universalmente, y la proliferación <strong>de</strong> los<br />
patrones pue<strong>de</strong> llegar a ser inmanejable en tanto no se<br />
normatice su producción. Un autor ampliamente<br />
reconocido por su aportación a la disciplina <strong>de</strong> <strong>Patrones</strong> <strong>de</strong><br />
Interacción es <strong>el</strong> holandés Martijn Van W<strong>el</strong>lie. Para<br />
automatizar <strong>el</strong> diseño <strong>de</strong> <strong>Interfaces</strong> Usables se requiere <strong>de</strong><br />
herramientas CASE que soporten este enfoque y así<br />
disminuir la duración <strong>de</strong>l proceso y mejorar resultados. El<br />
material aquí presentado esta siendo utilizado como<br />
plataforma <strong>para</strong> proyectos <strong>de</strong> investigación y <strong>de</strong>sarrollo <strong>de</strong><br />
aplicaciones basadas en <strong>Patrones</strong> <strong>de</strong> Interacción en las<br />
instituciones <strong>de</strong> adscripción <strong>de</strong> los autores.<br />
Bibliografía<br />
[1] Bayle, E., "Putting it All Together: Towards a Pattern Language for<br />
Interaction Design," SIGCHI Bulletin, Vol. 30, No. 1, , pp. pp.17-24.<br />
[2] Borchers, J., . A Pattern Approach to Interaction Design. Wiley 2001.<br />
[3] Dix A, Finlay J., Abowd G., Beale R. Human – Computer Interaction,<br />
2º Ed. Prentice Hall, (1997).<br />
[4]Gamma et Al. Design Patterns,.USA: Addison Wesley, (1995)<br />
[5]Gould J. “How to Design Usable Systems (Excerpt)”, IBM Research<br />
Center Howthorne Yorktown Heights, New York 10598, North-Holland:<br />
Elsevier, (1988) pp 757-789.<br />
[6]Muñoz J., Hernán<strong>de</strong>z M. “<strong>Patrones</strong> <strong>de</strong> Interacción: Una Solución <strong>para</strong><br />
<strong>el</strong> Diseño <strong>de</strong> la Retroalimentación Visual <strong>de</strong> Sistemas Interactivos”.<br />
Instituto Nacional <strong>de</strong> Astrofísica Óptica y Electrónica (INAOE),<br />
Universidad Autónoma <strong>de</strong> Tlaxcala jaime@inaoep.mx, ma<strong>el</strong>ena@ingenieria.uatx.mx<br />
[7]Rossi G., Schwabe D. “User Interface patterns for hypermedia<br />
applications”, Proceedings of the Working Conference on Advanced<br />
Visual Interface, pp. 136-142 Series Proceeding Article(2001) ,ISBN<br />
58113 252 2<br />
[8] Martijn van W<strong>el</strong>ie. “<strong>Patrones</strong> <strong>de</strong> Diseño <strong>de</strong> Interacción” Universidad<br />
<strong>de</strong> Amsterdam<br />
Facultad <strong>de</strong> informática, 2001.<br />
http://www.w<strong>el</strong>ie.com<br />
[9] Richard N. Griffiths y Lyn Pemberton “Enseñar usabilidad <strong>de</strong> diseño<br />
través <strong>de</strong> lenguajes <strong>de</strong> patrones” , Universidad <strong>de</strong> Brighton. Escu<strong>el</strong>a <strong>de</strong><br />
Computación. Centro <strong>de</strong> Ingeniería <strong>de</strong> Software y Sistemas (ISYS), 2001.<br />
http://www.it.bton.ac.uk/staff/1p22/CHIpaper.html<br />
[10] Tidw<strong>el</strong>l, J., Common Ground: A Pattern Language for Human-<br />
Computer Interface Design.