Una auditoria de las interfaces de usuario actuales de Commotion

2012-05-09 / The Work Department

Con el objetivo de crear una experiencia de usuario tanto intuitiva como accesible (UX) mediante un muestreo de los dispositivos en los que se ejecutará Commotion, encuestamos y analizamos la situación actual de las interfaces existentes. Desplegamos una red de prueba usando los tres componentes de software actualmente en fase de desarrollo: Commotion en un Ubiquiti Picostation (router), el OLSR Mesh Tether de The Guardian Project en un dispositivo Android (teléfono) y Commotion en Linux (laptop). Anticipando el próximo trabajo del Proyecto Serval en torno a dispositivos móviles de malla con Commotion, también investigamos el actual lanzamiento de Serval Mesh. Documentamos cada paso con capturas de pantalla, que están compiladas aquí. Después de la auditoría inicial, comparamos y contrastamos cada flujo de trabajo, documentando cualquier problema que surgió durante el proceso, y entonces fuimos capaces de hacer recomendaciones sobre cómo mejorar cada una de las interfaces y los flujos de trabajo, y hacerlos compatibles entre plataformas. Nuestro proceso fue único ya que nuestros auditores representaron una gama de niveles de habilidades y procedencias. Buscamos representar esta diversidad al crear interfaces de usuario destinadas a una amplia gama de usuarios. Por ejemplo, Auditor 1 es un desarrollador web autodidacta con habilidades avanzadas en redes y redes mesh específicamente. Auditor 2 es un diseñador con conocimiento intermedio de redes y cierta experiencia en la instalación de una red. Auditor 3 es un diseñador con conocimientos básicos de redes y muy poca experiencia instalando una red. Creemos que estos niveles variados de experiencia con las redes son importantes. El usuario avanzado puede ayudar a guiar el proceso para la instalación exitosa y los usuarios sin experiencia pueden comunicar lo que es útil, mientras que iluminan aspectos confusos del proceso. Router Commotion: Instalando en un Ubiquiti Picostation (Véase el PDF del proceso.) La interfaz y el flujo de trabajo del router fueron los más complejos de las tres plataformas que probamos. La pantalla de bienvenida incluía reglas para acceder a la red y la opción de “aceptar” o “declinar” el accesso. Aunque eso pareciera directo, después de dar clic en “aceptar” fuimos re-direccionados a un mensaje de error, “302 found.” Sin explicación de lo que causaba el error o qué hacer después, manualmente escribimos la dirección IP del router para intentar acceder a la red. Esto pareció funcionar, al ser llevados entonces a la página de inicio de Commotion. La configuración por defecto no requiere un nombre de usuario y contraseña, aunque esto no se observa en cualquier lugar, así que dimos clic en el botón de “iniciar sesión” y fuimos llevados a (otra) pantalla de bienvenida. Esta pantalla de bienvenida decía que ahora estábamos conectados a la red mesh e incluía una descripción de lo que es Commotion, con un link para mayor información del proyecto. Para configurar los ajustes de la red mesh, dimos clic en “Administración,” que era un link en la esquina superior derecha. Una vez dentro de la sección de Administración, los menús de la izquierda cambiaron. Inicialmente, el menú izquierdo tenía un link: “Resumen.” Una vez dentro de la sección de Administración, el menú ya no incluye “Resumen” pero incluye los links “Commotion, Estatus, Sistema, Servicios, Red, Estadísticas, Cerrar Sesión, y Voz”. Del menú “Commotion” seleccionamos “Mesh Config (Manual).” Confusamente, cuando seleccionamos el menú “Commotion” el link del menú de “Estatus” cambió de color como si lo estuviéramos seleccionando en su lugar. A su vez, el link en el menú se llama “Mesh Config (Manual),” aunque al estar en esta página, el título es “Configuración.” De la página “Configuración” cambiamos el nombre-base de “commotion_52_51” a nuestro nombre de red personalizado “meshshaging.” Entonces, dimos clic en “Guardar & Aplicar.” Un símbolo de cargando actualización apareció con el mensaje “esperando por el router,” no obstante ningún mensaje de validación aparecía. Una línea de texto en la parte superior de las páginas nos sugirió reiniciar el nodo después de cambiar cualquier configuración, así que encontramos el link para hacer el “Reseteo” bajo el menú de “Sistema”. Fuimos llevados a otra pantalla donde pudimos seleccionar “Realizar Reseteo.” Un mensaje apareció donde se leía “Por favor espere: Dispositivo reseteándose…” No obstante, nunca vimos algún mensaje de validación. Una vez que el dispositivo se reinició, lo cual notamos al ver el estatus de las luces en el dispositivo mismo, verificamos que la red fue renombrada a través de la ventana puertos/redes inalámbricas. Este proceso también se documentó en el diagrama de flujo UX aquí. OLSR Mesh Tether en teléfono: Instalando en un teléfono de Android ** (Véase el PDF del proceso.) Una vez que el OLSR Mesh Tether se instaló en el dispositivo Android, y se abrió el programa, fuimos llevados a una pantalla que mostraba el registro de actividad, un botón “Tráfico” un botón “Clientes” y un botón largo de “Inicio”. Para poder acceder a estos ajustes, tuvimos que presionar físicamente el botón de “Ajustes” en el teléfono, no en la interfaz. Este menú era una lista larga de ajustes, algunos con un poco de explicación debajo, y algunos sin explicación alguna. Seleccionamos “SSID” que fue el primero listado en ajustes. Apareció un pop-up titulado “SSID (Nombre de la red)” con un valor predeterminado de “olsr.org” y un botón de “OK” y “cancelar”. Cambiamos el nombre a “meshshaging” y seleccionamos “OK.” Regresamos entonces al menú de ajustes principales, donde seleccionamos “Canal,” que estaba en tercer lugar en la lista de ajustes. Apareció una ventana pop-up con el título “Canal” y una lista de canales, para escoger del 1 al 12, cada uno con un número de canal y una frecuencia correspondiente. Nosotros seleccionamos el canal 7 y fuimos llevados de regreso al menú principal de ajustes. Estos son los únicos pasos requeridos para instalar el mesh, pero cuando tratamos de acceder a la red, recibimos un mensaje de error titulado, “Root Access,” diciéndonos que necesitábamos tener un root access o acceso de raíz para que el software pudiera funcionar. Así que nuestro proceso con el dispositivo Android tuvo que terminar aquí. Este proceso también se documentó en el diagrama de flujo UX aquí. **Teléfono Serval Mesh: Instalando en un teléfono Android ( Véase el PDF del proceso.) También observamos el software Serval Mesh en un dispositivo Android. El actual lanzamiento de Serval Mesh crea una red telefónica en malla, auto-alimentada y auto-organizada entre teléfonos habilitados para WiFi, que no requiere ninguna otra infraestructura. Elegimos evaluar la interfaz Serval también, porque depende de redes mesh y muchas de las configuraciones podrían ser similares. Cuando se inicia el Serval Mesh, la primera pantalla no es un mensaje de bienvenida, sino una advertencia titulada “¡AQUÍ HAY DRAGONES!” y un párrafo largo explicando que el programa está aún en desarrollo, que contiene varios errores y que podría interferir con el uso normal de tu teléfono. Hay un botón de “Acepto” y un botón de “Cancelar”. Elegimos “Acepto” y fuimos llevados a las “Instrucciones de instalación.” Las instrucciones nos dijeron que debíamos elegir un número telefónico, que no podía iniciar con “11” y debía tener más de 5 dígitos. Hay un botón de “OK” en el que dimos clic después de pensar en un número. Luego se nos pidió ingresar el número que elegimos, lo cual hicimos, y dimos clic en “OK” - ahora ya se podían realizar las llamadas. Este proceso también se documentó en el diagrama de flujo UX aquí . Commotion en laptop: Instalando en una laptop con Linux Este proceso de instalación no tiene interfaz gráfica de usuario. Todos los comandos son por vía de entrada a la terminal y sólo un usuario experimentado podría tener éxito en la navegación de este proceso. Los comandos están abajo y el subsecuente análisis es limitado.

# add guardian's ppa
apt-get update
apt-get install olsrd
# edit /etc/olsrd/olsrd.conf: set DebugLevel to 1, change Interface to your wifi card
sudo service stop network-manager
sudo ifconfig wlan0 up
sudo ifconfig wlan0 5.70.60.60 netmask 255.0.0.0
olsrd -f /etc/olsrd/olsrd.conf

Acciones compartidas: Router Commotion, teléfono OLSR Mesh Tether y teléfono con Serval Mesh Los procesos del Router Commotion y Serval Mesh comienzan con una página splash que incluye una bienvenida/advertencia, más información, y la opción de continuar o cancelar. Los procesos de OLSR Mesh Tether y Commotion Linux no tienen instrucciones iniciales o más información acerca del software. A partir de este punto en el flujo de trabajo, todos los procesos son igualmente confusos sobre lo que es necesario para configurar la red. Las interfaces de Commotion Linux y de OLSR Mesh Tether son las menos informativas. La interfaz de usuario (UI) de OLSR Mesh Tether ofrece tan solo algunas claves de una terminología que es opcional y raramente definida. La aplicación en Linux, al ser cargada desde la terminal, no ofrece claves o ayuda en lo absoluto. La UI del Router Commotion tiene más información - porque se accede a ella desde una laptop y no desde un dispositivo de mano, hay bastante “espacio” para mostrar tantos detalles. Pero, apesar de que hay más detalles y opciones, no hay guía y el proceso dista de ser intuitivo. Como auditores, concluimos que sin experiencia en programación o en redes mesh, las posibilidades de los usuarios para configurar una red con éxito son escasas. Véase los diagramas de flujo aquí. Idioma compartido Cada una de las interfaces tiene una manera única de comunicar el propósito del software cuando es lanzado por primera vez. La pantalla de bienvenida del Router Commotion nunca dice la palabra “mesh” pero en su lugar, llama al proyecto una “red inalámbrica comunitaria.” La interfaz OLSR Mesh Tether tiene el título “OLSR Mesh Tether” pero ninguna otra mención de “mesh” o “redes.” La pantalla de bienvenida/adevertencia del Serval Mesh tiene ambas palabras “mesh” y “redes,” pero están profundamente escondidas en la advertencia. El lenguaje Linux incluye claves nativas de la terminal y la palabra “redes” pero no “mesh.” En ambas interfaces del Serval Mesh y el Router Commotion, hay un botón en la pantalla de bienvenida que te permite cancelar o moverse hacia adelante en el proceso, pero el lenguaje usado aquí también es diferente. Los botones de la UI del Serval Mesh están etiquetados “Acepto” y “Cancelar.” Los botones de la UI del Router Commotion están etiquetados “Declinar” y “Aceptar.” Las interfaces del OLSR Mesh Tether y Linux no incluyen ninguno de estos botones. El software Serval Mesh parece configurar automáticamente los ajustes, lo cual no hacen las otras aplicaciones. Aunque los mismos ajustes necesitan configurarse, el lenguaje con el que se refieren a los ajustes no es el mismo. La interfaz del OLSR Mesh Tether se refiere al SSID como “SSID (Nombre de la Red)” mientras que la interfaz del router se refiere a ella como “Mesh SSID.” Además, los ajustes esenciales están en menús etiquetados de dos formas distintas: El menú del OLSR Mesh Tether está etiquetado ”Wireless LAN” y el menú de la interfaz del router está etiquetado “Configuración.” El lenguaje sobre la elección de un canal es el mismo en ambas interfaces, aunque no es un paso requerido en la interfaz del router. Recomendaciones iniciales Entre el software auditado, descubrimos que hace falta un lenguaje compartido. Con el fin de crear las bases para una plataforma transparente, conectada y accesible, un conjunto de temas de Commotion, acciones e íconos, son esenciales. Después de esta fase de descubrimiento, se concluye que se trata de cuatro áreas de enfoque que mejorarán drásticamente la experiencia general del usuario. Estas áreas de enfoque son, además de la aplicación de la nueva identidad de la marca Commotion.

1. Lenguaje Común

El lenguaje compartido es esencial para que Commotion sea accesible al público en general. Además de utilizar un conjunto común de temas, acciones e íconos, recomendamos agregar consejos o pistas de uso de herramientas tanto como sea posible. Por ejemplo, se puede agregar una pista al campo del SSID para decirle al usuario “El SSID debería ser un nombre único para tu red comunitaria y puede tener hasta xx caracteres.” Esto lo haría más sencillo para un usuario principiante de lo que se espera en cada campo. Por otra parte, recomendamos que el lenguaje en los botones, menús y mensajes sea remplazado con un lenguaje más orientado a la acción y explicativo. Los primeros botones que el usuario encuentra en las interfaces Serval, router y Android son “Acepto/Cancelar,” “Acepto/Declinar” e “Iniciar,” respectivamente. La acción que el usuario está aceptando sería más evidente si los botones fueran nombres, por ejemplo, “Vincular” y “No por ahora."

2. Jerarquía del Flujo de Trabajo

Diseñar un modo en el que se designen los campos requeridos y los campos opcionales puede ser útil para los nuevos usuarios. Si esto se hiciera, un principiante podría saber que solo dos pasos claros (hipotéticamente) se necesitan para configurar una red y que no todos los ajustes se necesitan para ligar a la red mesh. Más allá de esto, recomendamos que dos tipos de ajustes, requeridos y opcionales, sean separados jerárquicamente para evidenciar con mayor claridad a un nuevo usuario que se necesita, y a un usuario avanzado, que se pueden realizar más cambios. La interfaz debería también incluir una liga para más información acerca de los ajustes y cómo elegir un canal o SSID, para el usuario que quiera auto-enseñarse.

3. ¿Unirse a una red existente o construir una nueva red?

A través de la UI nunca está claro qué acciones se deben tomar por un usuario ya sea cuando se une a una red existente o al construir una nueva red. Puede ser útil crear indicaciones iniciales que aclararen si el dispositivo ha sido detectado y, por lo tanto, se vincula a una red existente o no. Puede ser importante tener en cuenta si el dispositivo, o nodo, está actuando como el primer nodo en una red nueva. También puede ser útil mostrar si la red está conectada o no a la Internet global. En el futuro, se pueden crear íconos que comuniquen cómo los nodos están conectados y cómo el tráfico está fluyendo a través de la red. Esto puede ser similar a una herramienta de visualización/mapeo, como la herramienta de manejo de redes de Open Mesh cloudtrax.com.

4. Validación de conectividad y configuración

Finalmente, recomendamos un mensaje positivo, sonido o característica de validación cuando la red se ha configurado con éxito, y las instrucciones sobre qué hacer a continuación. Por ahora, al usuario se le deja asumiendo (o no) que los ajustes que realizaron son válidos. Una símbolo del nivel de progreso, o algo similar, también se recomienda cuando sea apropiado, ya que ofrece al usuario una sensación de avance al pasar por el proceso de instalación y configuración. Un ejemplo puede encontrarse con el mensaje de error del dispositivo OLSR Mesh Tether. El mensaje nos informó que el dispositivo necesitaba ser enrutado con el fin de proceder, pero con poca experiencia en el desarrollo de los dispositivos de mano, un usuario no estará familiarizado con lo que el término “root” significa y se le dejará sin caminos para avanzar.