sábado, 7 de abril de 2012

2.1. TEORIAS, PRINCIPIOS Y GUIAS PARA DESARROLLO DE INTERFACES


2.1. TEORÍA PARA LA INTERFAZ



Si tuviera que desarrollar una interfaz para un programa de computadora en este momento, considerando los enfoques teóricos de la creatividad, lo primero que consideraría serían tres áreas para enfocar las herramientas: a) identificación del problema b solución de problemas y c) guías de evaluación. 

a) Identificación de problemas. En mi caso he tenido especial éxito usando algo que he llamado bucles de retroalimentación. En general creo que cualquier aproximación bajo un enfoque de teoría de sistemas podría ayudar en esta parte, siempre y cuando se pusiera énfasis en guiar hacia la generación de relaciones originales. Eso último, bajo un esquema de software puede facilitarse mediante ejemplos, preguntas e incluso la propia herramienta puede establecer las relaciones originales, siempre y cuando el usuario tenga una buena base de datos, con elementos priorizados y relacionados lógicamente, uno a uno. Establecer relaciones más globales o provocativas a partir de las relaciones individuales puede ser tarea del programa. 

b) Solución de problemas. Me parece que Triz ha sido una excelente opción con bastantes probabilidades de traducirse a software. Quizá aquí pudiera introducirse algún enfoque adicional, por ejemplo los elementos planteados por Walas: Preparación, incubación, iluminación, verificación. Claro que esto último complica las cosas pues el programa debería tener una base de datos poderosa que pudiera utilizarse para la preparación y la iluminación. Esto puede significar al menos dos opciones: fue alimentado ex profeso por el usuario o el programa es desde un inicio especializado para ciertas áreas. Aquí vale la pena destacar algo importantísimo: "el creativo ve lo que otros no ven", entonces será necesario tener elementos en dicha base de datos que en un enfoque tradicional no estaría, pero que bajo un enfoque creativo pueden ser medulares. Así, el acopio de información, o preparación, debería de tener estos datos alternativos o aparentemente fuera de lugar bajo un enfoque tradicional de solución de problemas. 

c) Evaluación. En mis cursos a esta parte generalmente la llamo cambio con garantía. Esto significa que vamos a evaluar las ideas, sus posibilidades de implementación, y de originalidad bajo dos premisas: que signifiquen cambio y que tengan alguna forma de considerar sus posibilidades de éxito. En este sentido hay varias herramientas provenientes de otras áreas, como administración, economía, negocios, etc. que pueden integrarse al programa sin olvidar como criterio importante la ponderación de la originalidad.


PRINCIPIOS PARA EL DISEÑO DE INTERFACES DE USUARIO

Existen principios relevantes para el diseño e implementación de IU, ya sea para las IU gráficas, como para la Web.

Anticipación

Las aplicaciones deberían intentar anticiparse a las necesidades del usuario y no esperar a que el usuario tenga que buscar la información, recopilarla o invocar las herramientas que va a utilizar.

Para ver esta imagen deberá descargar el archivo de Word que se encuentra en la opción "Bajar trabajo" ubicado en la parte superior de este documento

En la Figura 2 se ilustra como el procesador de texto se anticipa a las necesidades del usuario, proporcionando las características del texto seleccionado -fuente, tamaño, alineación, etc.- permitiendo que el usuario pueda modificarlas ágilmente.

Autonomía

La computadora, la IU y el entorno de trabajo deben estar a disposición del usuario. Se debe dar al usuario el ambiente flexible para que pueda aprender rápidamente a usar la aplicación. Sin embargo, está comprobado que el entorno de trabajo debe tener ciertas cotas, es decir, ser explorable pero no azaroso.

Para ver esta imagen deberá descargar el archivo de Word que se encuentra en la opción "Bajar trabajo" ubicado en la parte superior de este documento

La cantidad de opciones propuestas propone un grado de complejidad que         no permite que el usuario pueda aprender a utilizar el sistema en forma progresiva.

Es importante utilizar mecanismos indicadores de estado del sistema que mantengan a los usuarios alertas e informados. No puede existir autonomía en ausencia de control, y el control no puede ser ejercido sin información suficiente. Además, se debe mantener información del estado del sistema en ubicaciones fáciles de visualizar.

Para ver esta imagen deberá descargar el archivo de Word que se encuentra en la opción "Bajar trabajo" ubicado en la parte superior de este documento

En la Figura 4 se ejemplifica una incorrecta disposición de componentes en la IU. El reloj no debe ser incorporado en el menú del sistema ya que aporta confusión al usuario. Para mantenerlo informado sería mas adecuado colocarlo en la barra de estado del sistema.

Percepción del Color

Aunque se utilicen convenciones de color en la IU, se deberían usar otros mecanismos secundarios para proveer la información a aquellos usuarios con problemas en la visualización de colores

Para ver esta imagen deberá descargar el archivo de Word que se encuentra en la opción "Bajar trabajo" ubicado en la parte superior de este documento

En la Figura 5 se representa un mecanismo secundario muy utilizado para ejecución de comandos: los comandos abreviados (shortcut-keys). Sin embargo la aplicación presenta un problema de inconsistencia ya que define combinaciones de teclas que difieren a lo esperado por el usuario, por ejemplo Alt+< en lugar de Alt+B.

Valores por Defecto

No se debe utilizar la palabra "Defecto" en una aplicación o servicio. Puede ser reemplazada por "Estándar" o "Definida por el Usuario", "Restaurar Valores Iniciales" o algún otro término especifico que describa lo que está sucediendo. Los valores por defecto deberían ser opciones inteligentes y sensatas. Además, los mismos tienen que ser fáciles de modificar.

Consistencia

1.  Para lograr una mayor consistencia en la IU se requiere profundizar en diferentes aspectos que están catalogados en niveles. Se realiza un ordenamiento de mayor a menor consistencia:

2.  Interpretación del comportamiento del usuario: la IU debe comprender el significado que le atribuye un usuario a cada requerimiento. Ejemplo: mantener el significado de las los comandos abreviados (shortcut-keys) definidos por el usuario.

3.  Estructuras invisibles: se requiere una definición clara de las mismas, ya que sino el usuario nunca podría llegar a descubrir su uso. Ejemplo: la ampliación de ventanas mediante la extensión de sus bordes.

4.  Pequeñas estructuras visibles: se puede establecer un conjunto de objetos visibles capaces de ser controlados por el usuario, que permitan ahorrar tiempo en la ejecución de tareas específicas. Ejemplo: ícono y/o botón para impresión.

5.  Una sola aplicación o servicio: la IU permite visualizar a la aplicación o servicio utilizado como un componente único. Ejemplo: La IU despliega un único menú, pudiendo además acceder al mismo mediante comandos abreviados.

6.  Un conjunto de aplicaciones o servicios: la IU visualiza a la aplicación o servicio utilizado como un conjunto de componentes. Ejemplo: La IU se presenta como un conjunto de barras de comandos desplegadas en diferentes lugares de la pantalla, pudiendo ser desactivadas en forma independiente.

7.  Consistencia del ambiente: la IU se mantiene en concordancia con el ambiente de trabajo. Ejemplo: La IU utiliza objetos de control como menús, botones de comandos de manera análoga a otras IU que se usen en el ambiente de trabajo.

8.  Consistencia de la plataforma: La IU es concordante con la plataforma. Ejemplo: La IU tiene un esquema basado en ventanas, el cual es acorde al manejo del sistema operativo Windows.

Para ver esta imagen deberá descargar el archivo de Word que se encuentra en la opción "Bajar trabajo" ubicado en la parte superior de este documento

 La inclusión de la opción X para cerrar la ventana –operación común mente utilizada en estas aplicaciones- simplifica la operatividad del mismo.

La inconsistencia en el comportamiento de componentes de la IU debe ser fácil de visualizar. Se debe evitar la uniformidad en los componentes de la IU. Los objetos deben ser consistentes con su comportamiento. Si dos objetos actúan en forma diferente, deben lucir diferentes. La única forma de verificar si la IU satisface las expectativas del usuario es mediante testeo


GUIAS PARA EL DESARROLLO DE INTERFAZ:

El iPhone de Apple ha representado un modelo de interfaz de usuario revolucionario para los usuarios. Los usuarios pueden ver páginas web, usar aplicaciones web y utilizar aplicaciones instaladas en los iPhone como aplicaciones de email, el iPod o la cámara digital en cualquier sitio donde estén.

Por ello, Apple ha lanzada la guía de estilo para las interfaces de usuarios para el iPhone, donde explica como diseñar las interfaces de usuarios para que la experiencia en el iPhone sea satisfactoria.

La guía está dividida en cuatro secciones:

   “iPhone and the User’s Environment”. Introduce el iPhone y describe como el entorno del usuario influencia el diseño y el uso del contenido en el iPhone. Este capítulo también describe características de la interfaz de usuario del iPhone que hay que tener en cuenta al diseñar contenido.

   “Content on iPhone: Is It a Webpage or an Application?”. En este capítulo se muestran los diferentes tipos de contenidos que se puedes desarrollar para el iPhone y lo que tienes que tener en cuenta para desarrollar en alguna de esas áreas.

   “Principles and Guidelines for Creating Great iPhone Content”. Este capítulo cubro los principios del diseño de interfaces para personas para mostrarte las guías de estilo para ayudarte a realizar los primeros pasos de tu diseño.

   “Metrics, Layout Guidelines, and Tips”. Presenta la disposición y las métricas de la interfaz que deberías utilizar al desarrollar una aplicación o una web para el iPhone.

2.2. EL MODELO SINTACTICO-SEMANTICO DEL CONOCIMIENTO DEL USUARIO


2.2. BEN SHNEIDERMAN HA LLAMADO "SINTÁCTICO"



 Es arbitrario: a menudo no responde al modelo del usuario sino que se acerca más a lo que concibe el diseñador de la aplicación. 

Es dependiente del sistema: si cambia la aplicación, el usuario ha de aprender de nuevo el funcionamiento del sistema. 

 Se adquiere por repetición. 

 Si no se usa regularmente se olvida. 

En cambio, la interacción Objeto-Acción guía mejor al usuario a alcanzar su objetivo sin sobrecargar la memoria en exceso. Por ejemplo, en una interfaz gráfica desarrollada bajo estos criterios, el usuario tan sólo ha de aprender el lenguaje básico y universal de estos entornos: el movimiento del ratón, cuándo y dónde hacer clic o doble clic y pocas cosas más.

   Un ejemplo: el funcionamiento del Explorador de archivos de Windows (y en general de cualquier otro sistema operativo con interfaz gráfica). Para abrir un documento al usuario le basta con este mínimo lenguaje que podrá aplicar a cualquier otro programa donde aparezca un sistema de árbol similar.


 Shneiderman lo llama "conocimiento semántico" ya que lo que el sistema requiere es que el usuario conozca el objetivo a alcanzar más que la forma exacta de conseguirlo. Las ventajas de este conocimiento aplicado a las interfaces de usuario son las siguientes:


~- Es independiente del sistema: el programa puede cambiar pero, si no cambian los objetivos, el usuario se adapta fácilmente al nuevo sistema.


~- Perdura en la memoria. 

~- Se puede estructurar con conceptos relativos a los objetos. 

~- Se puede ayudar al usuario suministrándole metáforas, es decir, analogías del mundo físico.


2.3. PRINCIPIOS


2.3. UN PRINCIPIO:



Es una ley o regla que se cumple o debe seguirse con cierto propósito, como consecuencia necesaria de algo o con el fin de lograr cierto propósito. Las leyes naturales son ejemplos de principios físicos, en matemáticas, lingüística, algorítmico y otros campos también existen principios necesarios o que se cumplen sin más o que deberían cumplirse si se pretende tener cierto estado de hechos.

   Otra manera de concebir los principios inherentes a un sistema o una disciplina es como un reflejo de las características esenciales de un sistema, que los usuarios o investigadores asumen, y sin los cual no es posible trabajar, comprender o usar dicho sistema.

   Etimológicamente principio deriva del latín principium 'comienzo, primera parte, parte principal' a su vez derivado de prim- 'primero, en primer lugar' y cap(i)- 'tomar, coger, agarrar', por lo que literalmente principium es 'lo que se toma en primer lugar'. Se le puede llamar principio a los valores morales de una persona o grupo.

2.4. DISEÑO DE DIALOGO


2.4. DISEÑO DE DIÁLOGO



Un campo de aplicación en demanda hoy en día es el diseño de diálogos para el contestador automático inteligente que atiende al público que llama por teléfono interesado en un servicio. El usuario llama para obtener información, dar información (una encuesta) o realizar una compra. Todo el intercambio se realiza en forma verbal-auditiva. El ente que atiende el usuario es una computadora. Los mensajes que genera el ente pueden ser de un conjunto limitado, y por lo tanto pre- grabado (como por ejemplo, un servicio que ofrece la hora), o de una naturaleza más generalizada que requiere la flexibilidad de los sintetizadores de voz sobre la base de una conversión texto a voz.



   El sistema además cuenta con un sistema de reconocimiento automático de voz. Sin embargo, la capacidad de reconocimiento de estos sistemas es aún muy limitada. En particular, si se pretende atender a un número ilimitado de personas, entonces el tamaño del vocabulario que puede reconocer será pequeño. Es decir, se limita a captar palabras claves dentro de la estructura de una frase. Por lo tanto uno de los objetivos del diseño de diálogos es precisamente de encauzar el usuario para que responda dentro de un contexto bien definido. Por ejemplo, provocar una respuesta del tipo "Si/No", que es reconocido con un alto grado de confiabilidad por parte de la máquina.



   A nivel mundial, esta técnica ya tiene aplicaciones comerciales, particularmente trabajando con el idioma inglés, para servicios financieros, de transporte, comerciales y de gobierno. Actualmente el diseño de diálogos en español es un campo fértil de explotar, y que va a tener un gran futuro, pues es de esperar que a medida que pasa el tiempo, el computador cada vez va tener mayor campo de aplicación, y en la medida de las posibilidades, la comunicación del hombre con la máquina se hará por vía verbal, siendo esta la vía por excelencia de comunicación del hombre.


2.5. PREVENCION DE ERRORES


2.5. GESTIÓN Y PREVENCIÓN DE ERRORES



Partiendo de la máxima de que es necesario adelantarse a los errores que el usuario puede cometer en el uso de una interfaz, desgraciadamente en muchos sitios no se utilizan las tecnologías adecuadas, ni se hace una definición adecuada de las diferentes tipologías de errores a las que un usuario puede enfrentarse.


Una de las mayores frustraciones que un usuario puede llegar a tener en el uso de una interfaz, es que ésta, no esté correctamente preparada para tolerar los errores más comunes que un usuario pueda cometer en diferentes escenarios. No hay más que darse una vuelta por Internet y ver las diferentes respuestas que dan algunos sistemas ante diferentes situaciones en las que un usuario comete un error de forma involuntaria, o peor aún, provocado por una deficiente definición.

Una correcta gestión de los errores no suele ser una de las grandes prioridades en el desarrollo de un producto, ya que en la mayoría de las ocasiones se da prioridad a otros conceptos, relegando a los errores a posiciones de menor importancia.


Entonces, son los equipos de desarrollo los que definen los posibles errores y los mensajes que obtiene el usuario. GRAN ERROR. Este trabajo es tarea del Consultor de Definición (o Analista) y del Diseñador de Interacción. Los desarrolladores deben desarrollar en base a las especificaciones dadas por ellos.

Algunas guidelines básicas a tener en cuenta y que pueden ayudar a prevenir y gestionar los errores de forma adecuada:


1.  Tipificar los errores o mensajes creando grupos lógicos:

Si identificamos varios tipos errores o mensajes que pueden considerarse similares, tipificarlos o agruparlos es una buena manera de dar consistencia y orientar al usuario cuando éstos se producen.


2.  Prevenir el error antes de que se produzca:

Identificar todas aquellas situaciones en las que un usuario podría cometer un error y adecuar el diseño para que éste no se produzca.


3.  Crear ayudas contextuales:

Donde no sea posible prevenir un error, debe existir una ayuda o instrucción contextual que aclare cómo se ha de realizar la acción.


4.  Contextualizar el mensaje de error:

Los mensajes de error, cuando se produzcan, deben ser sensibles al contexto en el que el usuario se encuentre en ese momento, huyendo de mensajes genéricos. Cuanto más concreto, mejor.


5.  Redactar el mensaje de error de forma adecuada:

Utilizar un lenguaje directo, cercano y comprensible, huyendo de los mensajes abstractos o técnicos, como por ejemplo “Error 42845: no se ha encontrado el usuario.”


6.  Ofrecer alternativas cuando el error se produce:

Si el error llega a producirse no hay que limitarse a dar un buen mensaje de error contextualizado, sino que también hay que ofrecer alternativas funcionales al usuario para que continúe en su tarea y encuentre lo que busca.


7.  Tolerancia de los motores de búsqueda a los errores tipográficos:

Uno de los errores más frecuentes es que el usuario cometa un error involuntario al escribir una cadena de búsqueda. El sistema debería contar con la tecnología adecuada para tolerar estos errores cometidos por el usuario de forma involuntaria y sugerir las alternativas más probables.

La correcta gestión de estos errores es una de las claves para que los usuarios utilicen un sistema de forma eficiente y no abandonen una tarea por no tener alternativas o ayudas que le faciliten conseguir su objetivo.

2.6. GUIAS


2.6. GUÍAS PARA LA INTERFAZ DE USUARIO DE 2007 OFFICE SYSTEM



¿No encuentra los comandos de Office 2003 que más le gustan en la nueva interfaz de 2007 Office system? Está en el lugar indicado.

   Si desea explorar el nuevo y enriquecido diseño con instrucciones, pruebe solo por curiosidad. Las guías interactivas le ayudarán a saber dónde están las cosas rápidamente. Puede ejecutar las guías desde aquí o puede descargárselas a su propio equipo para usarlas cuando desee.

   Si prefiere ver una lista de los comandos de las barras de herramientas y menús de Office 2003 y sus ubicaciones en 2007 Office system, abra uno de los libros de asignación para poder examinar, personalizar, imprimir y guardar en el equipo. Las instrucciones de la primera ficha de cada libro ofrecen sugerencias para personalizar, buscar e imprimir listas.



Guías interactivas

Ejecutar desde aquí

   Access 2007

   PowerPoint 2007

   Excel 2007

   Word 2007

   Outlook 2007



Descargar

   Access 2007

   PowerPoint 2007

   Excel 2007

   Word 2007

   Outlook 2007




2.7. PROTOTIPOS


2.7. PROTOTIPOS



Es frecuente que los clientes no sepan lo que quieren, pero cuando ven algo y utilizan prototipos, pronto saben lo que no quieren.

Los prototipos son una representación limitada de un producto, permite a las partes probarlo en situaciones reales o explorar su uso, creando así un proceso de diseño de iteración que genera calidad.

Un prototipo puede ser cualquier cosa, desde un trozo de papel con sencillos dibujos a un complejo software.

¿Por qué un prototipo?

Porque son útiles para comunicar, discutir y definir ideas entre los diseñadores y las partes responsables.

Los prototipos apoyan la evaluación de productos, clarifican requisitos de usuario y definen alternativas.

Prototipos de baja fidelidad

Utilizan materiales distintos al del producto final, son baratos, simples y fáciles de producir.

Son particularmente útiles en las fases iniciales del desarrollo, durante el diseño conceptual.

Prototipo de alta fidelidad

Son aquellos que se parecen al producto final y utiliza sus mismos materiales.

Marc Retting (1994) desaconseja el uso de prototipos de alta fidelidad porque:


  Necesitan mucho tiempo para crearse.


  Las pruebas tienden a centrarse en aspectos superficiales.


  Los desarrolladores se resisten a cambiar algo que les ha llevado horas crear.


  Crea excesiva expectación.


  Un error puede parar un test.


  Hace un tiempo me topé con un artículo sobre diseño de interfaces sociales (It’s Not Just Usability), es viejo para los tiempos de la web, del 2004, no obstante me ayudo en el aún rompecabezas sobre este nuevo campo interdisciplinario. En la última parte del artículo Joel Spolsky dice algo más o menos como:



  “El diseño de interfaces sociales es aún un campo en pañales…



  … En los comienzos de la usabilidad, las compañías de software reclutaban expertos en ergonomía y en factores humanos (¿antropometría?) para ayudar a diseñar productos usables….


  … Eventualmente el diseño de interfaces de usuario recibió el lugar que le correspondía respondiendo con conceptos tales como consistencia, afordabilidad, respuesta, etc., los cuales se convirtieron en la piedra angular de la ciencia del Diseño de Interfaces de Usuario…


  …Durante la próxima década, espero que las compañías de software contraten antropólogos y etnógrafos para trabajar en el diseño de interfaces sociales en vez de construir laboratorios de usabilidad…”


  Es una buena reflexión sobre la intervención de diferentes perfiles en las nuevas disciplinas que tienen que ver con diseño, internet y sobre todo lo social, el diseño de la interacción social (SxD) recoge retazos de sabiduría de varias disciplinas algunas bastante nuevas: Arquitectura de la información (IA), diseño de la experiencia de usuario (UxD), Diseño de la Interacción (IxD), Usabilidad, Psicología cognitiva, Sociología, Antropología y muchas otras.


  En este sentido se hace una crítica a los expertos que colocan la usabilidad como la solución a todos los problemas y el testing de usuario como el camino pavimentado directo al paraíso al exponer que dentro del diseño de interfaces sociales la usabilidad no lo es todo, ya que aún teniendo resuelta la usabilidad de una interface, todavía hay que resolver los temas que involucran el diseño social, éste último es más importante.


  Una aplicación que brinde un servicio muy apreciado por los usuarios puede tener un muy bajo nivel de usabilidad y aún así los usuarios la adoptarían, de la misma manera una aplicación puede ser muy usable pero si no hace algo que alguien quiera, no tendrá éxito, esto un poco explica como algunas interfaces terribles no solo fueron adoptadas sino también usadas hasta el hartazgo más allá de la pobre usabilidad que presentaban. Y en franco desafío a los postulados de Jakob Nielsen (Ojo, no estoy en desacuerdo con él en el contenido, quizás un poco en la forma) sostienen que una experiencia realmente buena puede transformar el medio en irrelevante.


  ¿Entonces la usabilidad no sirve? No, nada de eso, simplemente que en estos nuevos escenarios donde la interacción pasó de human-computer a human-human el aspecto social de las interfaces cobra una gran relevancia, lugar que antes estaba destinado única e indiscutiblemente a la usabilidad.