jueves, 27 de octubre de 2011

GUI vs CLI: Expresión Vs Operación



Considere la posibilidad de una interfaz de usuario para un coche:

El objetivo de estas interfaces es hacer que algo funcione, y funcione de manera eficiente y segura. Las ranuras y los clics y los límites de limitar el rango de movimiento y el número de opciones. El aspecto visual muy alude a cómo lo utilizan activamente. Lo general no son difíciles de aprender. Más importante aún, las mesetas en la curva de aprendizaje. Una vez que aprenda a conducir un coche, no hay progresión mucho después de eso. Acotación es una propiedad importante de estas interfaces, por su diseño.Ahora mira esta "interfaz de usuario" para la reproducción de música:

O esta para, entre otras cosas, la manipulación de las palabras:

El objetivo de estas interfaces es la de expresar y crear. Tenga en cuenta la casi total ausencia de restricciones. No hay indicios en la interfaz en cuanto a cómo "correctamente" utilizar estos. Para un novato, un primer vistazo no ofrece pistas para saber cómo funcionan. Tienes que ir a través de un proceso de aprendizaje empinada para empezar a utilizarlos. Más importante aún, nunca se aplana la curva de aprendizaje. Usted podría estar tocando la guitarra desde hace décadas y aún aprender cosas nuevas. Infinitud es una propiedad importante de estas interfaces, por su diseño.¿Qué hace un tipo de interfaz limitada y la otra sin límites? Es la capacidad de combinar. Las interfaces físicas (y por extensión, interfaces gráficas de usuario) no se pueden combinar a voluntad para crear un nuevo comportamiento. No se pueden realizar cambios en la forma en que el odómetro se comporta, sin romperlo hacia fuera y poner uno nuevo. No se puede "tubo" de la lectura de la misma a una alarma que suena cuando se pasa de cierto límite.GUIs están inspirados en metáforas físicas y en última instancia se basan en las mismas motivaciones. Ellos tienen la intención de hacer que funcione algo, a hacer el trabajo. Ellos quieren reducir su conjunto de opciones en cada coyuntura, hacia la elección "correcta".El "derecho" opciones son horneados en el diseño, a través de un proceso de pensamiento deliberado. ¿Cómo va a ser utilizado? ¿Cuáles son sus usuarios tratando de lograr? ¿Qué acciones son más frecuentes que otras? ¿Qué acciones tienen el potencial de confusión? ¿Qué acciones es probable que sean los errores y debe ser evitado? Todas estas decisiones son tomadas por los diseñadores y codificado en la interfaz de usuario.CLI, por otra parte, siguen el modelo más abstracto, no modelos físicos. GUIs ofrecen continuamente señales al usuario acerca de qué hacer. Se esfuerzan por conseguir una externalización del conocimiento. CLI son para usuarios con conocimientos interiorizados. Esta diferencia cognitiva fundamental es importante.La internalización es crucial para el uso de energía.Esto explica por qué los programadores de lenguajes de herramientas pesadas, como Java IDEs a menudo se quejan de ser un mal necesario. Sí, le ayudan a hacer el trabajo más rápido, pero la inclinación de la IDE de modo de pensar de la expresión hacia la operación. Es por eso que se siente sofocante. ¿Con qué frecuencia te has sentido como un IDE-operador en lugar de un programador?Hay un tiempo para la operación, y un tiempo para la expresión. La mayoría de los debates de interfaz están mal porque son unos creadores de quejarse de las interfaces de operación, o los operadores de quejarse de las interfaces de creación. Necesitamos ambos. Pero también tenemos que entender cuando.

No hay comentarios:

Publicar un comentario