design - software - interfaz de usuario web
¿Las interfaces de usuario de caracteres tienen futuro? (14)
Tenemos productos creados tanto con GUI como con CHUI. En el futuro, estamos considerando rediseñar una gran cantidad de nuestro software y principalmente tomar la ruta de ir a toda la GUI. Mi pregunta al grupo es: ¿tenemos que dar cuenta de mantener un CHUI? ¿Cuáles son las ventajas de CHUI sobre GUI? Muchas veces en el pasado la gente ha dicho que CHUI es más rápido porque no necesitas un mouse. Yo argumento que la GUI puede ser igual de rápida con los atajos de teclado, teclas rápidas y / o pantallas táctiles correctas.
¿Es CHUI algo que ya no deberíamos considerar si el hardware ya no proporciona una restricción?
También para aclarar, cuando hablo de CHUI me refiero a una interfaz de usuario basada en caracteres, y también me preocupa principalmente la presentación efectiva de los datos a un usuario final.
Ha habido algunas respuestas fantásticas que han resaltado la importancia de tener una interfaz basada en línea de comandos para la automatización y las tareas basadas en secuencias de comandos, que sin duda tomaré en serio cuando comencemos el diseño.
Cada estudio que he leído mostró que los CHUI son mucho más rápidos para usuarios experimentados. Las GUI son más fáciles para los usuarios nuevos y para las aplicaciones que solo se usan ocasionalmente. También para un tamaño de pantalla dado, puede mostrar más información en un CHUI luego una GUI. Una buena GUI puede darle una vista general rápida de un vistazo.
Cuando lo leí por primera vez, pensé inmediatamente que esta es probablemente una de esas aplicaciones que básicamente es una serie de formularios, pero que se muestra dentro de un terminal. A menudo ves esos dinosaurios corriendo en las cajas registradoras. También recuerdo haber visto una aplicación de este tipo utilizada para solicitar un préstamo cuando compré mi automóvil. Este tipo de aplicación no parece tener cabida en el mundo moderno: cualquier sistema con un mínimo poder de procesamiento puede manejar una GUI normal hoy en día. A menos que intente admitir clientes heredados de gama baja, elimine esta interfaz de usuario. Una GUI con atajos de teclado decentes (por favor, por favor, piense en el uso de los programas GUI con solo teclado ...) será igualmente efectiva para los usuarios que provienen del antiguo sistema CHUI y mucho más amigable para aquellos que solían una GUI, sin tener que tener 2 versiones de su aplicación.
No veo por qué todo el mundo está planteando aplicaciones de línea de comandos. Creo que la mayoría de la gente reconoce que la línea de comando no va a desaparecer. Es mucho más rápido para muchas tareas que una GUI, en gran parte porque los programas tienden a ser no interactivos (y por lo tanto fácilmente programables). Tan pronto como su aplicación se vuelva interactiva (o, al menos, no tenga un parámetro para que no sea interactiva), ejecutarla desde la línea de comandos es mucho menos importante. Incluso programas increíbles como Vim que se basan en terminales están haciendo la transición a sus contrapartes gráficas (gVim) porque te ofrece lo mejor de ambos mundos.
Debe sondear a sus clientes, no a los programadores. Si sus clientes, que usan sus aplicaciones, desean un CHUI, incluso si todos sus desarrolladores piensan que es una pérdida de tiempo, usted lo construye, porque el cliente siempre tiene la razón (excepto cuando están equivocados).
Deberías absolutamente considerarlo. Lo que es más importante, los programas de línea de comando se pueden automatizar (y encadenar juntos en scripts) mucho más fácilmente que las GUI (normalmente). No me puedo imaginar trabajando con una herramienta de control de fuente que no tenía una interfaz de línea de comando, aunque obviamente tener una GUI también es útil.
Ahora, si necesita una versión de línea de comando para su aplicación en particular, es difícil de decir sin saber qué hace su aplicación. ¿Necesita automatización y scripting? ¿Alguien podría querer VPN y ejecutarlo desde una conexión muy mala, y por lo tanto apreciar ancho de banda bajo?
Tenga en cuenta que MS ciertamente no cree que la línea de comandos esté muerta, o no habrían creado PowerShell.
Estoy de acuerdo con Eli en que sus clientes deberían tener la última palabra, pero si puede evitar que la carne de su programa se mezcle demasiado con la GUI (o CHUI), entonces el costo de producción para que ambos estén disponibles debería ser mínimo.
Hasta el día de hoy, algunas de las interfaces de usuario más eficientes que he visto son simples interfaces antiguas de caracteres basadas en terminales.
Anécdota: Una vez fui parte de un proyecto para "modernizar" una aplicación de terminal utilizada por 500 representantes de servicio al cliente. Publicamos maquetas de GUI atractivas y todos, incluidos los usuarios, quedaron impresionados. Trabajamos durante seis meses en la aplicación, y todas las pruebas de aceptación del usuario parecían indicar que teníamos un ganador.
Pero cuando finalmente se lanzó la aplicación, falló miserablemente. Como resultado, las CSR se miden por el rendimiento diario, hasta la cantidad promedio de segundos por llamada manejada. Y sin importar lo mucho que lo intentaron, no pudieron igualar el mismo nivel de eficiencia en la GUI que en la interfaz de la terminal. Podrían acercarse con pestañas y atajos, pero no del todo allí.
Lecciones difíciles aprendidas. Los programadores modernos pueden aborrecer a los "dinosaurios", pero ¿a los usuarios realmente les importan las interfaces ingeniosas? Por lo general, solo quieren hacer su trabajo.
Incluso las aplicaciones de GUI como Firefox pueden beneficiarse de las interfaces de línea de comandos como Ubiquity . Si hay una manera de proporcionar la línea de comando desde la GUI, ¿por qué no tener lo mejor de ambos mundos?
Muchos programas de CAD tienen interfaces de línea de comandos que le muestran lo que equivale a la interacción de la GUI que acaba de realizar en la línea de comandos. De esta forma, puede aprender las operaciones de la línea de comandos para las cosas que hace con frecuencia y donde la línea de comando puede interactuar con mayor rapidez, aun teniendo la capacidad de descubrimiento de la interfaz de la GUI.
Vea este video de youtube que demuestra la línea de comando de Rhino3D
Los principales beneficios de un CHUI (que es algo con formas y campos, no necesariamente interfaces de línea de comando) es el teclado para navegación y diseño consistente. Esa es la clave.
Si su GUI puede navegar por teclado de manera completa y eficiente, entonces su base de usuarios de CHUI debería estar contenta. Esto se debe a que con el tiempo, los usuarios simplemente "escriben" sus comandos en el sistema sin "ver la interfaz". No es necesario que "descubran" la interfaz, que es una característica principal de la GUI.
Mientras que los CHUI parecen ser dinosaurios, todavía son funcionales y utilizables. La mayoría de las personas una vez que están capacitados (especialmente los trabajadores de POS / mostrador, pero incluso los escenarios de back office como fábrica o almacén, etc.) no tienen problemas para usar un CHUI.
Pero la clave es el soporte del teclado para que el usuario no tenga que esperar a que la pantalla se ponga al día con ellos. Ver a un operador experto con dominio del teclado puede hacer volar una aplicación. Apenas tienes la oportunidad de ver ventanas emergentes y lo que no.
Si escribe aplicaciones para Unix y necesita manejar a los usuarios que telnet / ssh en su caja, necesitará interfaces de línea de comando.
Yo diría que depende de tu objetivo. ¿Guionas tu código desde otras aplicaciones? Eso sería un requisito para mantener la versión interactiva (o alguna pieza para evitar el inicio de la GUI).
Usualmente hacemos uno o el otro. Pero a veces tenemos utilidades que deben ser implementables a través de ftp y ejecutar ssh. O tenemos herramientas que nuestros usuarios integran en sus aplicaciones y no quieren exponer una interfaz de usuario (migración / conversión de datos).
Tan pronto como presente algunos datos, alguien querrá consultarlos. Puede integrar eso con una interfaz gráfica de usuario, no hay problema. Si crees que algunos de tus clientes van a querer guiar ciertas tareas. prepararlo. Cualquier cosa que tenga que ver con la automatización se realiza mejor desde la línea de comandos (¡y el trabajo de cron de y harlo thar!)
Me encanta Guis. Soy un usuario de Mac. Pero hay un momento y un lugar para una CLI.
CHUI es más rápido en velocidad de ejecución, no en velocidad de interacción del usuario. Escribo sistemas integrados (así como GUI), así que siempre tendré un uso para aplicaciones de línea de comandos.
Además de los otros beneficios mencionados anteriormente, con frecuencia he encontrado otra razón para mantener una UI alternativa: te mantiene a ti y a tus interfaces honestos. Cuando una aplicación se crea con una sola interfaz de usuario, es mucho más fácil dejar que los principios de diseño se deslicen y su lógica de negocios, etc., y su GUI se convierta en una bola de espagueti entrelazada, a pesar de las mejores intenciones. Independientemente de la importancia de que sus clientes tengan una interfaz de línea de comando, pronto podría llegar el momento en que sea necesaria una GUI alternativa (léase: capa de presentación) y querrá estar preparado. Esto puede no ser relevante para sus requisitos, pero creo que es algo bueno a tener en cuenta ...
Uno de los grandes problemas que encontramos fue la capacidad de multisesión que casi no existe con las tecnologías de GUI que he visto. Nuestros usuarios se apresuraron a señalar que con la interfaz actual basada en caracteres podrían tener más de una docena de sesiones de terminales basadas en Telnet al mismo tiempo en la pantalla de su PC que les permitía realizar múltiples tareas o cambiar tareas con una alta eficiencia. Calificaron la multitarea como la característica clave de la que se beneficiaron en nuestro entorno de ritmo rápido donde las interrupciones son frecuentes. Ser capaz de tener acceso simultáneo a múltiples instancias de una aplicación ERP particular o múltiples aplicaciones diferentes de ERP, manteniendo siempre los estados de sesión era importante para nuestra comunidad de usuarios.
Creo que el problema proviene de las prácticas de diseño en las formas de GUI. Tendemos a colocar más objetos sobre ellos, especialmente con una barra de desplazamiento vertical y capacidades de pestañas. Esto también hace que la carga sea más lenta. Pasar por los menús de CHUI con el teclado es más rápido una vez que haya memorizado esas secuencias y no es necesario mantener presionada la tecla Ctrl. Hay algo acerca de la barra de menú en Windows donde las descripciones de las teclas de método abreviado están hacia la derecha. Los menús basados en personajes parecían más fáciles de recordar después de un tiempo.
A) - This Menu
B) - That Menu
C) - Some other Menu
O podrías ver las opciones y parece que tienes algo de memoria muscular donde ese menú es la segunda opción.