Los patrones de diseño de interacción son patrones de diseño aplicados en el contexto de la interacción humano-computadora , que describen diseños comunes para interfaces gráficas de usuario .
Un patrón de diseño es una forma formal de documentar una solución a un problema de diseño común . La idea fue introducida por el arquitecto Christopher Alexander para su uso en la planificación urbana y la arquitectura de edificios y ha sido adaptada para varias otras disciplinas, incluidas la enseñanza y la pedagogía, la organización y el proceso de desarrollo y la arquitectura y el diseño de software. [1]
Por lo tanto, los patrones de diseño de interacción son una forma de describir soluciones a problemas comunes de usabilidad o accesibilidad en un contexto específico. [2] Documentan modelos de interacción que facilitan a los usuarios comprender una interfaz y realizar sus tareas. [3]
Historia
Los patrones se originaron como un concepto arquitectónico de Christopher Alexander . Los patrones son formas de describir las mejores prácticas, explicar buenos diseños y capturar experiencias para que otras personas puedan reutilizar estas soluciones.
Los ingenieros de software utilizan patrones de diseño en informática durante el proceso de diseño real y al comunicar diseños a otros. Los patrones de diseño ganaron popularidad en informática después de que se publicara el libro Design Patterns: Elements of Reutilizable Object-Oriented Software . Desde entonces, ha surgido una comunidad de patrones que especifica patrones para dominios de problemas, incluidos estilos arquitectónicos y marcos orientados a objetos. Las actas de la Conferencia sobre lenguajes de patrones de programación (anual, 1994—) incluyen muchos ejemplos de patrones específicos de dominio.
La aplicación de un enfoque de lenguaje de patrones al diseño de interacción fue sugerida por primera vez en el libro User Centered System Design (Diseño de sistemas centrados en el usuario) de Norman y Draper (1986). Las pautas de interfaz humana para Macintosh de Apple Computer también citan las obras de Christopher Alexander en sus lecturas recomendadas.
Bibliotecas
Alexander imaginó un lenguaje de patrones como un sistema estructurado en el que las relaciones semánticas entre los patrones crean un todo que es mayor que la suma de sus partes, de manera muy similar a la forma en que las relaciones gramaticales entre las palabras hacen que el lenguaje sea significativo. [4] Si bien algunas colecciones de patrones intentan crear las relaciones estructurales necesarias para formar un lenguaje, muchas otras son simplemente un conjunto de patrones (y por lo tanto se las denomina más apropiadamente bibliotecas de patrones).
Bibliotecas de patrones de interacción móvil
La popularidad de los dispositivos móviles, como teléfonos inteligentes y tabletas, genera la necesidad de una biblioteca de patrones de diseño de interacción móvil.
Esta necesidad está impulsada por:
- Diferencias en el comportamiento y la interacción del usuario en dispositivos móviles, como los gestos de deslizar y tocar, en comparación con la interacción en una GUI de escritorio, que se controla con el mouse.
- Diferencias en los atributos físicos entre un dispositivo móvil y uno de escritorio, por ejemplo, tamaño de pantalla, pantalla táctil, etc.
- Pautas de diseño recomendadas por sistemas operativos móviles, p. ej. iOS, Android
Elementos
Para que los patrones sean útiles para los diseñadores y desarrolladores que los utilizarán, deben ser fáciles de encontrar y leer. [5] [6] [7]
Elementos comunes
Aunque las descripciones de patrones varían un poco, muchas bibliotecas de patrones incluyen algunos elementos comunes:
- Nombre del patrón: Elegir un nombre claro y descriptivo ayuda a las personas a encontrar el patrón y fomenta una comunicación clara entre los miembros del equipo durante las discusiones de diseño.
- Descripción del patrón: Debido a que los nombres cortos como "desglose de una ventana" a veces no son suficientes para describir el patrón, unas pocas líneas de explicación adicionales (o una captura de pantalla canónica) ayudarán a explicar cómo funciona el patrón.
- Enunciado del problema: Escrito en un lenguaje centrado en el usuario, comunica lo que el usuario quiere lograr o cuál es el desafío para el usuario final.
- Uso: el "contexto de uso" es un componente fundamental del patrón de diseño. Este elemento ayuda a las personas a comprender las situaciones en las que se aplica el patrón de diseño (y en las que no).
- Solución: La solución debe explicar "cómo" resolver el problema y puede incluir listas de verificación prescriptivas, capturas de pantalla o incluso videos cortos que demuestren el patrón en acción.
- Justificación: Proporcionar razones de "por qué" el patrón funciona reforzará la solución, aunque los desarrolladores con poco tiempo pueden preferir ignorar esta explicación.
- Ejemplos: Cada ejemplo muestra cómo se ha aplicado con éxito el patrón. Esto suele ir acompañado de una captura de pantalla y una breve descripción.
- Comentarios: Incluir un lugar para que los miembros del equipo discutan el uso del patrón ayuda a mantener un recurso activo y mantiene al equipo comprometido.
Elementos opcionales
Las bibliotecas de patrones también pueden incluir elementos opcionales, según las necesidades del equipo que las utilice. Estos pueden incluir:
- Especificaciones de implementación: Una guía de estilo con información detallada sobre tamaños de fuente, dimensiones de píxeles, colores y redacción de mensajes y etiquetas puede ser útil para los desarrolladores.
- Investigación de usabilidad: se debe recopilar toda la investigación de respaldo de las pruebas de usabilidad u otros comentarios de los usuarios. Esto también puede incluir comentarios de los desarrolladores, el servicio de atención al cliente o el equipo de ventas.
- Patrones relacionados : La biblioteca de patrones puede incluir patrones similares o puede estar organizada en una jerarquía de patrones padres e hijos.
- Enfoques similares : dado que es probable que existan muchas soluciones posibles a este problema, los equipos pueden querer un lugar para capturar alternativas similares.
- Código fuente : si el código es lo suficientemente modular como para ser reutilizado, también puede incluirse en la biblioteca.
Razones para utilizar patrones de diseño
Los beneficios de utilizar patrones de diseño de interacción incluyen:
- Enseñar a los principiantes algunas prácticas recomendadas y enfoques comunes
- Capturando la sabiduría colectiva de los diseñadores en múltiples usos y escenarios
- Proporcionar a los equipos un lenguaje común, reduciendo los malentendidos que surgen del diferente vocabulario.
- Reducción de tiempos y costes en el ciclo de vida del diseño y desarrollo
- Hacer diseños utilizables es el " camino de menor resistencia "
- Elimina el tiempo perdido que dedicas a "reinventar la rueda"
- Garantizar que los usuarios tengan una experiencia consistente y predecible dentro de una aplicación o servicio
Ventajas sobre las pautas de diseño
Las pautas son generalmente más útiles para describir requisitos, mientras que los patrones son herramientas útiles para quienes necesitan traducir los requisitos en soluciones de software específicas. Algunas personas consideran que las pautas de diseño son un ejemplo de patrón de diseño de interacción, ya que también son un enfoque común para capturar la experiencia en el diseño de interacción. Sin embargo, los patrones de diseño de interacción suelen tener las siguientes ventajas sobre las pautas de diseño:
- Las pautas abstractas, como las Ocho reglas de oro del diseño de interfaces de Shneiderman, no sugieren cómo resolver un problema como muchos patrones de diseño de interacción y no se pueden utilizar para la comunicación interdisciplinaria. Además, las pautas no brindan una explicación de por qué funciona una solución en particular.
- Las pautas concretas, como las Pautas de interfaz humana de Macintosh, están demasiado adaptadas a una interfaz específica y, por lo tanto, no son tan efectivas cuando se aplican a otras interfaces (especialmente interfaces que no son de Macintosh).
- Otro problema de las directrices es que suelen ser demasiado numerosas, lo que dificulta que los diseñadores apliquen las directrices correctas. Además, las directrices suponen una validez absoluta, aunque normalmente solo se pueden aplicar en un contexto particular. Un resultado de ello es que las directrices suelen ser contradictorias simplemente porque no describen un contexto.
Las pautas y los patrones no son necesariamente conflictivos, y ambos pueden usarse en conjunto para identificar el problema y luego crear una solución válida.
Véase también
Referencias
- ^ Coplien, James. "Una definición de patrón". Bell Laboratories. Archivado desde el original el 2007-02-09 . Consultado el 2008-11-24 .
- ^ "¿Qué es un patrón?". Yahoo!. Archivado desde el original el 4 de diciembre de 2008. Consultado el 24 de noviembre de 2008 .
- ^ Tidwell, Jennifer. "Common Ground: Un lenguaje de patrones para el diseño de interfaces hombre-computadora". MIT . Consultado el 24 de noviembre de 2008 .
- ^ Pemberton, Lyn. "El género como concepto estructurante para los lenguajes de patrones de diseño de interacción". Universidad de Brighton. Archivado desde el original el 22 de octubre de 2006. Consultado el 24 de noviembre de 2008 .
- ^ Spool, Jared. "Los elementos de un patrón de diseño". Ingeniería de interfaz de usuario. Archivado desde el original el 20 de diciembre de 2008. Consultado el 24 de noviembre de 2008 .
- ^ Malone, Erin. "Implementación de una biblioteca de patrones en el mundo real: un estudio de caso de Yahoo!". Boxes and Arrows. Archivado desde el original el 2008-12-07 . Consultado el 2008-11-24 .
- ^ Kunert, Tibor (23 de junio de 2009). Patrones de diseño de interacción centrados en el usuario para aplicaciones de televisión digital interactiva. Springer. ISBN 9781848822740. Consultado el 6 de julio de 2009 .
Lectura adicional
- Un enfoque basado en patrones para el diseño de interacción, por Jan Borchers, ISBN 0-471-49828-9
- Un lenguaje de patrones para la usabilidad web, por Ian Graham, ISBN 0-201-78888-8
- Patrones de diseño de interacción para soluciones de captura de datos electrónicos basadas en NFC por Andreas Prinz, Prinz Publishing, Dieburg 2014, ISBN 978-3-9816875-0-7 .
- El diseño de sitios: patrones para crear sitios web exitosos (segunda edición), por Douglas K. van Duyne, James A. Landay y Jason I. Hong, ISBN 0-13-134555-9
- Diseño de interfaces: patrones para un diseño de interacción eficaz, por Jenifer Tidwell, ISBN 0-596-00803-1
- Diseño de interfaces sociales: principios, patrones y prácticas para mejorar la experiencia del usuario, por Christian Crumlish y Erin Malone, ISBN 0-596-15492-5
- Diseño de interacción para actividades cognitivas complejas con representaciones visuales: un enfoque basado en patrones, por Kamran Sedig y Paul Parsons, AIS Transactions on Human-Computer Interaction 5(2), 84-133.
Enlaces externos
- 10 sitios excelentes para patrones de diseño de interfaz de usuario en la Fundación de Diseño de Interacción
- Biblioteca de patrones de diseño de Yahoo