Diseño De Interfaces De Usuario
El diseño de interfaces es un campo sumamente amplio (y para muchos, interesante). De hecho, se deberían contar con personas dedicadas (y preparadas) para realizar exclusivamente estas tareas. Esto no siempre es factible, y recae sobre nosotros el armar la interfaz visual para el usuario... las cuales muchas veces pueden mejorarse.
Contenido
¿Qué es la interfaz de una aplicación?
Para partir de una definición común, diremos que la interfaz es la "cara visible" de nuestra aplicación: el medio mediante el cual el usuario se comunica con nuestro sistema.
Todos los sistemas tienen una interfaz, de diversa índole.
Para un programador, la interfaz de una librería es justamente el API. Para un programa batch, la interfaz está dada por el modo de invocación en la línea de comandos. Para una aplicación Visual, la interfaz es un conjunto de formularios y ventanas. Y para un sistema web, la interfaz son justamente las páginas que conforman la aplicación.
Todas estas interfaces merecen (y deben!) ser pensadas a consciencia, y cada una presenta desafios muy distintos.
Igualmente, a continuación me voy a referir particularmente a las interfaces de nuestras aplicaciones web (esas páginas con formularios y colores verdes y azules).
¿Qué es una buena interfaz?
Ligado al concepto de diseño de interfaces, aparece la palabra usabilidad, y hace referencia justamente a qué tan simple y cómodo de usar es nuestro sistema.
El campo de la usabilidad de aplicaciones es muy amplio, y no solo se refiere al "dibujo lindo de formularios", sino que abarca comportamientos de usuarios, modos de trabajo, etc.
Debemos tomar como "buena interfaz" aquella que le brinde al usuario una mejor experiencia. Una buen interfaz deberá:
- Contener información relevante para el usuario.
- No mostrar información o mensajes que no aportan.
- Minimizar las acciones del usuario para realizar su cometido
- Facilitar la ubicación de información
Importancia de una buena interfaz de usuario
Obviamente, mejorar las interfaces que hacemos implica un esfuerzo de nuestro lado. Siendo una actividad que no nos corresponde (pero que hacemos, no lo olviden), ¿de qué nos sirve mejorar las interfaces?
Creo que básicamente podemos citar 3 mejoras concretas que nos impactan directamente:
- Mejora la experiencia del usuario
- Mejora el tiempo de desarrollo
- Mejora el mantenimiento
Mejorar la experiencia del usuario
Como ya lo hablamos bastantes veces, las aplicaciones que hacemos son nuestra "cara visible" para el resto del mundo: es justamente nuestro trabajo, y mediante el cual nos conocen. Si alguien habla bien de nuestras aplicaciones, habla bien de nosotros mismos.
Si lo quieren ver de otra manera, esforzarnos en mejorar la experiencia del usuario es un acto egoista: no es por el usuario que lo hacemos, sino por nosotros mismos.
Mejorar el tiempo de desarrollo
Si ya sabemos cómo se tienen que comportar los componentes, no tendremos que andar inventando "comportamientos mágicos" para cumplir con los requerimientos. Más aún, una vez incorporado en nosotros, no tendremos que "pensar qué componente usar": simplemente usaremos el que es acorde a la necesidad, sin muchas alternativas.
Por otro lado, y como mostré en uno de los ejemplos, usar los componentes indicados nos facilita la vida y simplifica significativamente el desarrollo.
Mejorar el mantenimiento
No se olviden, los monstruos que creamos luego tenemos que mantenerlos. Si cada aplicación hace uso "original" de los componentes, será mucho más dificil de mantener cuando sea necesario realizar alguna modificación.
Cada vez que se les ocurre una "originalidad", no se olviden que alguien luego la va a padecer para mantener.