Es un error común pensar que como profesionales del audio y video lo sabemos todo, podemos saber la técnica, pero no sabemos lo que el cliente desea o necesita.
Juan Tamayo*
Cuando inicié en el mundo audio visual, una de mis funciones era programador de sistemas de automatización para audio y video, lo que mal llamamos domótica. Y cometí muchos errores, hasta que por allá en el 2009 o 2010, me encontré con un documento muy interesante de cómo diseñar interfaces gráficas de usuario. Cambié a partir de ese suceso mi forma de programar, centrado en el usuario y buscando el máximo de usabilidad de una sala. Espero compartir esta información y que sus automatizaciones mejoren constantemente.
Antes de programar cualquier línea de código, antes de conectar cualquier equipo, inclusive antes de diseñar, el programador debe tener claro cuáles son los objetivos del sistema audiovisual. Es un error común pensar que como profesionales del audio y video lo sabemos todo, podemos saber la técnica, pero no sabemos lo que el cliente desea o necesita. Cuando se tienen objetivos claros se sabe cómo afrontar cada proyecto, este siempre dependerá del cliente final. Con la lista de objetivos definidos, realice una lista tipo comprobación de las funciones necesarias y las condiciones para cada función o subrutina, valide siempre este listado con el cliente operador de la solución.
Muchas veces el encargado del proyecto no necesariamente es quien lo operará. En lo posible, agende una reunión en la cual esté la persona o administrador del sistema para que usted como programador le explique cómo está planeado este, le enseñe esquemas de diseño gráfico de la interfaz de usuario y valide, confirme y compruebe que el usuario tiene claro lo que usted va a realizar y no tener contratiempos y retrocesos por falta de información. Hoy en día la virtualidad nos ayuda mucho, con reuniones virtuales de este tipo, como programador le puede enseñar algunos programas ya realizados para que el cliente conozca tu portafolio, y se dé una idea de lo que busca o necesita.
El listado de objetivos es fundamental, y este nos ayuda a tener un listado de equipos a programar. Siempre recomiendo para cada equipo que se programe hacer las funciones mínimas necesarias para la operación de la sala. No es necesario programar todas las opciones, por ejemplo, si es el control remoto de un televisor, no es necesario poner todos los menús y submenús, para esto existe el control remoto original, lo discutiré en un momento, y cada opción o función programada en lo posible se le debe asignar una variable, para que esta sea mostrada al cliente operador en la interface gráfica.
Por ejemplo, los encendidos y apagados pueden ser enseñados como indicadores lumínicos, esto ayudará a retro alimentar la función con la operación real. Si el sistema tiene una opción de entradas, se puede poner vía texto o con un grupo de botones tipo radio la indicación de la opción seleccionada. Estas recomendaciones buscan generar retro alimentación activa o pasiva de la función ordenada desde el sistema de automatización, es fundamental para diagnosticar fallas simples de operación, como, por ejemplo, el usuario dio la orden de apagar, pero se prende el dispositivo, o le dio la opción 1 de selección, pero se activó la 4.
La composición de colores puede hacer que tu programación sea un éxito total o sea un gran fracaso, generalmente quienes programamos interfaces gráficas somos ingenieros y no estudiamos teorías de color. Recomiendo no utilizar los colores corporativos de las empresas para los fondos de pantalla, es mejor utilizar colores neutros como gris. Las pantallas consumen energía, entre más blanco sea el fondo más fácil se reduce el estado de la batería. Ahora bien, los botones pueden ser otra historia, con los botones es posible jugar con colores.
En lo posible trato que los menús sean diferenciados por colores, por ejemplo, azul para audio, verde para video. El rojo es poco utilizado porque indica peligro, pero este puede ser utilizado para activar sistemas de emergencia o audio evacuación. Siempre he recomendado que el programador haga cursos de diseño gráfico básico, edición de imágenes, fondos transparentes y teoría de color. El sentido estético le entregará funcionalidad al diseño y hará que su cliente se sienta cómodo, adicional el costo en tiempo de programación se reduce, algunos programadores creen que las interfaces gráficas deben ser obras de arte, y muchas veces se convierte en un arte abstracto que el cliente no desea utilizar.
Cuando finalice un programa y realice la implementación, es importante realizar una comprobación completa de la funcionalidad de este, como usted es un programador juicioso tiene un listado de chequeo basado en las normas Avixa, así que evaluar este es demasiado fácil. Tenga en cuenta que el cerebro humano se debe acostumbrar al sistema, y es normal que le pidan cambios sencillos, contemple estos cambios es su propuesta económica, siempre serán garantías.
Un programa sencillo puede tomar entre 2 a 6 meses para estabilizarse, es común ofrecer una garantía de máximo 6 meses en la programación. Como documentó el inicio del proyecto, lo más probable es que los cambios sean mínimos, pero si le piden realizar un programa totalmente diferente a lo pactado, también es válido entregar una oferta económica sobre este cambio.
La programación es subjetiva, algunos programadores implementan códigos complejos, otros tratan de hacer lo más sencillo posible, todo el espectro es válido, pero siempre mi recomendación va a ser entre se haga menos, es más. La palabra automatizar es asociada con la reducción, la eficiencia, la operatividad. He visto programas que incluyen todos los botones de un control remoto, pero sin entregar operatividad, y no hay nada más eficiente que el control original, para esto está. Nuestro objetivo siempre será optimizar recursos a través de una interfaz gráfica, no se pueden olvidar de eso.
Como siempre, trato de compartir ideas sencillas pero eficientes para el correcto desarrollo del proyecto. Si quiere complementar esta columna los invito a que nos dejen los comentarios y con gusto los leeremos e incluiremos en otras ediciones. Mi experiencia es gracias a los procesos de certificación objetiva que poseo y, lo más importante, de escuchar a los usuarios finales quienes son la mejor retroalimentación para nuestras empresas.
*Juan Tamayo, CTS-D, es ingeniero electrónico y actualmente se desempeña como Gerente de T-Árbol Audiovisuales SAS, ingeniero de aplicaciones de producto para América Latina de International Sales e Ingeniero de Soporte para Synthax Inc.