Las guias de diseño son pautas generales para el diseño de la interfaz del software que los desarrolladores de una interfaz publican con la finalidad de que las aplicaciones que los programadores desarrollen sean amigables con el usuario y congruentes con la interfaz de la plataforma, pero ademas de estas guías de diseño que los desarrolladores de las plataformas proponen existen guías de diseño generales, que buscan lograr una experiencia de usuario natural, con interfaces intuitivas y muy fáciles de usar.
Las guias de diseño de UI (interfaces de usuario) son reglas aplicables a cualquier tipo de interfaz, estas reglas varían según el autor, pero las mas comunes son las que presentan Nielsen and Molich:
Consistencia y estandarización
La consistencia en el diseño es emplear los mismos elementos gráficos en toda la interfaz y la estandarización consiste en el empleo de elementos que ya son usados de forma estándar en la plataforma donde estamos desarrollando, un ejemplo de esto podría ser la elección del botón de aceptar en las ventanas de un programa, si empleamos un botón con un check verde como el siguiente
Si estamos usando este diseño, seria incorrecto que en otra ventana empleáramos un botón al estilo web, ahora bien, esta regla se hace mas importante en el diseño web, en donde los elementos gráficos como el fondo y los botones de los menús deben de ser iguales en todas las paginas del mismo sitio, ya que eso genera la sensación de estar siempre en la misma pagina o sitio, si empleáramos un color de fondo diferente en cada pagina, generarían desconfianza al hace pensar al visitante que ha salido del sitio actual para entrar a otro
Visibilidad del estado del sistema.
Para tener una buena comunicación con el usuario, la interfaz de nuestro sistema debe de permitir al usuario conocer en todo momento el estado del sistema, en el diseño de programas para PC, esto se cumple usando barras de progreso o mensajes que indiquen lo que esta ocurriendo en ese momento, si hablaríamos de apps para smartphones una buena practica para esta regla seria el poder mantener visible aun dentro de la app el estado de la batería, el reloj o la antena de la señal.
Congruencia entre el sistema y el mundo real
Un buen diseño de interfaz debe ser un reflejo o extensión del mundo real, para ello debe reproducir lo que las personas hacen normalmente y permitirles hacerlo sin complicaciones en el sistema, para ello se deben emplear los mismo términos que las personas usan en el entorno en donde se desarrolla el sistema y solicitar los datos en el mismo orden en que lo manejan las personas de forma común.
Prevención y control de errores.
En un buen diseño los errores deben de ser previstos y mas aun controlados por el sistema, solicitando de forma oportuna la intervención del usuario cuando sea indispensable, proporcionando una información clara sobre el origen del problema sin presentar los mensajes de error que los compiladores o el sistema operativo manden, ya que esos errores con todo y su código de error deben ser ocultadas de la vista del usuario final.
Desgraciadamente este es el punto débil de muchos sistemas, como por ejemplo los errores que presenta Windows con información que es incomprensible para cualquier usuario y que es de poca utilidad.
Diseño estetico y minimalista
El minimalismo se refiere a cualquier cosa que haya sido reducida a lo esencial, despojada de elementos sobrantes, es decir un diseño que brinde simplicidad sin adornos excesivos pero manteniendo un estilo elegante y limpio.
Proveer documentación en linea.
En un buen diseño, las ayudas o instrucciones detalladas deben ser proveídas dentro del ambiente donde se solicita la ayuda, es decir, si estamos en una ventana donde damos de alta a nuestros clientes, al presionar el botón de ayuda, debe aparecer directamente la ayuda relativa a esa ventana o al elemento en donde estamos.