Presentación para diseñadores y desarrolladores de aplicaciones móviles. Definiciones y conceptos esenciales de Diseño de Interacción, Proceso de diseño convergente, prototipado, niveles de fidelidad, pruebas con usuarios, prototipado iterativo, niveles de consistencia de la interfaz.
Expuesta el 20 de julio de 2010 en el aula magna de la UP, en evento MobileMonday TechTalks con la participación de Axel Meyer, Diseñador en Jefe de la Serie N de Nokia.
Partiendo de un requerimiento determinado, que asumimos implicó un análisis previo de la solución (ya sea por nosotros o por otra parte), vamos a analizar cómo se desarrolla el proceso de implementación de esa solución, y qué resultados vamos a obtener como consecuencia de cada tipo de proceso.
El proceso lineal es muy sencillo. Recibimos un requerimiento, lo desarrollamos, lo implementamos y lo entregamos. Es lineal, tiene un principio y un fin, y el resultado es lo que se solicitó inicialmente. Pero qué ocurre al final de este proceso?
Lo que ocurre al final del proceso, es que generalmente es allí donde se detectan errores de diseño, funcionalidad, interacción y se redefine el scope del requerimiento, pero no los deadlines. Y al implementarse la solución de esos errores utilizando el mismo proceso, hasta no completar los nuevos requerimientos no se dará lugar a detectar nuevas posibles fallas.
En cambio en el proceso convergente, todos los aspectos del requerimiento son validados y aprobados en iteraciones. Esto es bueno ya que, por un lado se detectan de forma temprana (al principio o transcurso del proyecto y no al final) los errores, arrojando visibilidad sobre los tiempos y permitiendo tomar mejores decisiones respecto del scope del pryecto; y por otro lado todas las definiciones realizadas en cada etapa del proceso son validadas por las partes necesarias.
En cambio en el proceso convergente, todos los aspectos del requerimiento son validados y aprobados en iteraciones. Esto es bueno ya que, por un lado se detectan de forma temprana (al principio o transcurso del proyecto y no al final) los errores, arrojando visibilidad sobre los tiempos y permitiendo tomar mejores decisiones respecto del scope del pryecto; y por otro lado todas las definiciones realizadas en cada etapa del proceso son validadas por las partes necesarias.
Se parte del scope general y se avanza hacia lo particular, donde varias ideas convergen progresivamente en una solución, en vez de ir refinándose al final de cada implementación.
Qué ocurre en cada iteración? Para cada una de las iteraciones/etapas, deben realizarse: 1 2 3 4
Habiendo visto las diferencias entre los procesos, este es el “reason why” de incluír tareas de maquetado y prototipado en el proceso de diseño/desarrollo
Estas son las etapas del proceso, y a continuación se enumerarán las diferencias entre cada una de ellas
Al cabo de esta etapa, tendremos una visión validada de cómo va a funcionar nuestra aplicación, y de que modo debería presentarse la información en ella.
Al cabo de esta etapa tendremos un documento con la definición de la estructura de nuestra aplicación y su contenido, y la funcionalidad que va a cubrir. Para el análisis funcional deberá tenerse en cuenta además el contexto de uso de la aplicación (ej: si es una aplicación de productividad, el contexto puede ser “sentando cómodo en mi oficina” o “en la calle, yendo para una reunión, y con una única mano libre”)
Al cabo de esta etapa tendremos la confirmación de que el flujo de navegación y la interacción propuestas cumplen a grandes razgos con los requerimientos funcionales de la aplicación.
Al cabo de esta etapa tendremos un documento con la definición de la interactividad requerida por nuestra aplicación para presentar la información del modo previamente definido, en función de un análisis en conjunto con la propuesta estética (diseño) y la propuesta funcional.
Dentro de un mismo segmento/sistema operativo podemos encontrar muchísimas configuraciones de hardware diferentes
Cada variación en la configuración de hardware puede implicar una variación en nuestra aplicación. Qué tipo de variación?
Ej: Hay dispositivos que proveen modo “landscape”, otros dispositivos que poseen mayor tamaño de pantalla y por ende me permiten distribuír los elementos de otra forma más “óptima”
Al tener más pantalla puedo unificar flow de navegación, o ahorrar un paso donde el usuario ingresa su ubicación en la aplicación porque puedo detectarla vía GPS.
Cada plataforma posee una GUI con estructura consistente y definida. Nuestra aplicación no debe ser excepción. Debemos respetar las convenciones del sistema en el que estamos, tanto desde lo estético (look & feel de tabs) como lo funcional (ej: menu contextual de un ítem en una lista, las opciones deben ser similares, por ej, al SMS) y lo interactivo (ese menu se abre con la soft-key izquierda)
Mantener la coherencia tanto a lo largo de toda la aplicación, como en la aplicación en diferentes devices
Permitir al usuario cumplir su obejtivo en nuestra aplicación es tan importante como permitirle que lo haga en el contexto en que se encuentra Determinar tareas clave de la aplicación y permitir al usuario realizarlas con mínimo esfuerzo Environment-Awareness (acelerómetro, brújula) Location-Awareness (GPS) Otras aplicaciones que el usuario utilice al mismo tiempo