Diseño de interfaces de usuario para sistemas embebidos

Luis Alberto Fernández Arnanz
Idean Spain
Published in
7 min readOct 4, 2019

Por Luis Alberto Fernández Arnanz, Senior UX/UI & Visual Designer en Idean Spain.

Cabecera diseño UI para sistemas embebidos

El desarrollo de interfaces de usuario para sistemas embebidos puede estar sembrado de múltiples obstáculos y limitaciones directamente relacionados en su mayoría con el propio hardware donde va implementado. En este artículo voy a intentar aclarar qué son estos sistemas, sus características mas importantes y cómo poder optimizar el desarrollo UI teniendo cómo base un equipo UX/UI trabajando codo con codo con un equipo de desarrollo y con metodologías Agile en un marco de trabajo Scrum.

¿Qué es un sistema embebido?

Un sistema embebido es un dispositivo electrónico diseñado para realizar pocas funciones en tiempo real, según sea el caso. Al contrario de lo que ocurre con los ordenadores personales y/o computadoras empresariales, que tienen un propósito general, ya que están diseñados para cubrir un amplio rango de necesidades, los sistemas embebidos se diseñan para cubrir necesidades específicas y objetivos concretos.

Panel de navegación de un coche Tesla modelo S.
Photo by Marvin Meyer on Unsplash

Casi todos los dispositivos que nos rodean contienen elementos con sistemas embebidos como pueden ser aplicaciones de misión crítica en diversos equipos de automatización industrial, unidades de control electrónico y frenos antibloqueo en automóviles, y, por supuesto, los dispositivos IoT ahora tan de moda.

Los sistemas embebidos se encuentran en la mayoría de los sectores industriales, por nombrar solo algunos: automoción, industria aeroespacial, telecomunicaciones, electrónica de consumo, banca, electrodomésticos, seguridad, etc.

Características de los sistemas embebidos

Las principales características de un sistema embebido son la confiabilidad, precisión, velocidad de rendimiento, bajo costo y reducido consumo de energía. Dado que muchos sistemas embebidos son concebidos para ser producidos en miles o millones de unidades, el costo por unidad es un aspecto muy importante que tener en cuenta en la etapa de diseño.

Un sistema embebido está compuesto por un microprocesador y un software que se ejecuta sobre él. Este software necesita un lugar donde pueda guardarse para luego ser ejecutado por el procesador, este espacio físico podría ser una memoria RAM o ROM, la cual en cierta cantidad es utilizada por el sistema embebido. En general estas unidades suelen tener un tamaño reducido y con un consumo bajo de energía, lo que las posiciona ventajosamente para su uso en un amplio abanico de aplicaciones.

Cualquier dispositivo con una interfaz digital incorporada que se sirva para controlar el hardware anexo pertenecerá probablemente a los sistemas embebidos. Dicho sistema se puede implementar en un dispositivo independiente o como parte de un sistema más grande con el que se podría comunicar a través de Internet, Bluetooth u otros canales de comunicación.

Cómo optimizar el diseño de interfaces de usuario para sistemas embebidos

Trabaja en lo que quieres lograr

El objetivo más importante para cualquier interfaz de usuario en un sistema embebido debe ser adaptarse plenamente al producto optimizando mediante elementos visuales sus funcionalidades y cumpliendo además con el design system de la marca de la empresa. Para cualquier marca el software embebido es un punto de contacto muy importante con sus usuarios, por lo que es imprescindible que sea coherente con el resto del producto y con la imagen que la empresa intenta transmitir.

Al desarrollar la interfaz de usuario, analizaremos la visión particular del cliente para saber de primera mano cómo quieren que se vea y se sienta la interfaz, y cómo la experiencia de usuario deberá relacionarse con su marca para conseguir la mejor integración, usabilidad y funcionalidad.

Comprende a tus usuarios

En primer lugar, la interfaz de usuario debe de estar optimizada para su propósito. Con esto quiero decir, “¿hace lo que el usuario quiere / necesita que haga?”.

Esto no significa necesariamente que deba ser fácil o intuitivo. Hay muchos kits o familias de software de éxito como Photoshop o AutoCAD, etc., que en realidad no son fáciles ni intuitivos para los usuarios novatos. Sin embargo, están repletos de funciones y características necesarias para que los usuarios avanzados y profesionales que estén capacitados y tengan una experiencia amplia puedan sacarle todo el jugo a las funcionalidades y realizar exactamente lo que querían y necesitaban.

Por lo tanto, es verdaderamente importante que comprendamos completamente quiénes son los usuarios típicos y cómo sus conocimientos, experiencia y necesidades afectan a la forma en que usan el producto. ¿Cuál será su edad ? ¿Pueden tener problemas de visión y/o psicomotrices? ¿Serán usuarios temporales o la experiencia se alargará durante años? ¿Están acostumbrados a usar la tecnología en el día a día? ¿Están buscando una solución rápida o un sistema en profundidad? ¿Les importa tener que leer largas instrucciones?

Estas son algunas de las preguntas que se deben hacer sobre los usuarios típicos, para garantizar que la interfaz sea adecuada para ellos.

Comprende como funciona el hardware de tu producto

Todo hardware con software embebido, para poder realizar las tareas específicas para las que ha sido ideado, tiene unas características y componentes seleccionados por consenso para optimizar peso, tamaño, diseño, rendimiento y costes de producción.

Tienes que analizar e interiorizar los puntos fuertes y sobre todo las debilidades y limitaciones de tu producto para poder realizar las mejores interfaces de usuario con la mejor experiencia posible, usabilidad, accesibilidad, etc. Por ejemplo, puedes tener un hardware con una pantalla táctil donde predomine la optimización del color en los pixeles en detrimento de su capacitividad, lo que haría conveniente el evitar elementos con scroll en los diseños de pantallas cuando en pruebas con usuarios se evidencian problemas importantes al arrastrar el dedo por la pantalla.

Crea prototipos y realiza pruebas A / B

Proporcionar prototipos a nuestros clientes nos facilitará que estos puedan ver y probar un elemento tangible del proyecto recibiendo de vuelta como feedback sus comentarios, así como posibles mejoras para el desarrollo futuro. Sin embargo, requeriría mucho tiempo realizar un prototipo inicial para el producto en todo su conjunto, por lo que usaremos el VC (vertical slicing o corte vertical) para proporcionar muestras de ciertas características.

Tablero con psost-its
Photo by Patrick Perkins on Unsplash

El desarrollo de software se crea normalmente en capas, con los controladores como nivel inferior y la interfaz de usuario como superior. En el desarrollo de software tradicional, la capa inferior de código para todo el proyecto se programa al principio, seguida de la segunda capa y así sucesivamente. Sin embargo, esto significa que solo se puede ver elementos completos del proyecto al final del desarrollo, proporcionando al cliente poco o nada para retroalimentar el proyecto.

El corte vertical significa que, en vez de trabajar en las capas horizontales del software de una en una, elegiremos una característica específica y trabajaremos a través de todas las capas de código para esa propia característica. Este método implicará que nos llevará menos tiempo crear algo que sea palpable para el cliente, por lo tanto, nos dará la oportunidad de recibir comentarios mucho antes.

Proporciona iteraciones para obtener retroalimentación

Trabajar con interfaces de usuario en sistemas embebidos es muy diferente que hacerlo con interfaces de usuario en el ordenador o con las de una aplicación móvil, ya que normalmente no tenemos la opción de entrega continua y actualizaciones de software de forma regular una vez que el producto está en manos de los usuarios finales. Por esta razón, utilizamos una amplia variedad de métodos de prueba y lanzaremos iteraciones de software al final de cada sprint (2 a 3 semanas) para el cliente.

Generalmente es necesario tener un sistema de actualizaciones de firmware. Estas actualizaciones deben realizarse sobre todo al principio del proyecto, por lo que trataremos de obtener la mayor cantidad de comentarios e información posibles de una sola vez y así conocer como interactúa el firmware con nuestro hardware y tener el mejor punto de partida para poder desarrollar la mejor experiencia de usuario posible.

Hay que proponer reuniones de retroalimentación regulares con cada uno de los miembros de nuestro equipo, los miembros del equipo de nuestros clientes, los usuarios finales y los operadores de servicio al cliente / soporte técnico, para que podamos comprender los diferentes viajes de usuario (users journeys) y los problemas que puedan surgir en el camino. Además de esto, siempre queremos recibir comentarios del departamento de Marketing de nuestros clientes, para asegurar que la interfaz se integre sin problemas con la marca de la compañía.

Lleva el producto a producción con garantías

Con el uso de metodologías Lean-Agile, nuestro objetivo es adaptar en lugar de predecir, lo cual es difícil con los sistemas embebidos que se ejecutan en placas de circuitos y pantallas digitales, ya que por naturaleza no son muy flexibles. Por lo tanto, queremos evitar el desarrollo impulsado por quejas, que podría surgir al llevar el producto al mercado demasiado pronto, por lo que nuestro objetivo es obtener la mayor cantidad de comentarios posible durante el desarrollo junto al equipo técnico. Solo cuando las iteraciones reciban comentarios en su gran mayoría positivos, sugeriremos llevarlo a producción.

Imagen feedback positivo
Photo by John Schnobrich on Unsplash

En conclusión, tenemos un sistema cuyo hardware y software están específicamente diseñados y optimizados para resolver un problema concreto de forma eficiente. Nuestro objetivo como profesionales en experiencia de usuario es conseguir la mayor usabilidad y funcionabilidad ciñéndonos lo máximo posible al guion del design system del cliente, teniendo presente que no hay que tener miedo a evolucionarlo y a proponer mejoras visuales que se adapten fielmente a las casuísticas tan genuinas que puede acarrear nuestro punto de partida.

Si quieres saber más acerca de cómo diseñar para sistemas embebidos o para cualquier otro tema relacionado con el mundo del diseño, ¡contacta con nosotros!

--

--

Luis Alberto Fernández Arnanz
Idean Spain

Senior UX/UI & Visual Designer en frog | Aventuras y desventuras de un diseñador curtido en miles de batallas de colores.