24.11.2012 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!