En informática , interacción hombre-ordenador y diseño de interacción , la manipulación directa es un enfoque de las interfaces que implica la representación continua de objetos de interés junto con acciones y retroalimentación rápidas, reversibles e incrementales. [1] A diferencia de otros estilos de interacción, por ejemplo, el lenguaje de comandos , la intención de la manipulación directa es permitir que un usuario manipule los objetos que se le presentan, utilizando acciones que corresponden al menos vagamente a la manipulación de objetos físicos . Un ejemplo de manipulación directa es cambiar el tamaño de una forma gráfica , como un rectángulo, arrastrando sus esquinas o bordes con un ratón .
Tener metáforas del mundo real para objetos y acciones puede hacer que sea más fácil para un usuario aprender y usar una interfaz (algunos podrían decir que la interfaz es más natural o intuitiva), y la retroalimentación rápida e incremental permite que un usuario cometa menos errores y complete tareas en menos tiempo, porque puede ver los resultados de una acción antes de completarla, evaluando así el resultado y compensando los errores.
El término fue introducido por Ben Shneiderman en 1982 en el contexto de las aplicaciones de oficina y la metáfora del escritorio . [2] [3] Las personas del mundo académico y los científicos informáticos que realizan investigaciones sobre las interfaces de usuario futuras a menudo ponen tanto énfasis o incluso más en el control y la retroalimentación táctiles, o en el control y la retroalimentación sónicas que en la retroalimentación visual que ofrecen la mayoría de las GUI . Como resultado, el término se ha extendido más en estos entornos. [ cita requerida ]
A diferencia de las interfaces WIMP/GUI
La manipulación directa está estrechamente asociada con las interfaces que utilizan ventanas, iconos, menús y un dispositivo señalador ( GUI WIMP ), ya que casi siempre incorporan manipulación directa al menos en algún grado. Sin embargo, la manipulación directa no debe confundirse con estos otros términos, ya que no implica el uso de ventanas o incluso salida gráfica. Por ejemplo, los conceptos de manipulación directa se pueden aplicar a interfaces para usuarios ciegos o con problemas de visión, utilizando una combinación de dispositivos táctiles y sónicos y software.
Con frecuencia se observan concesiones en cuanto al grado en que una interfaz implementa la manipulación directa. En algunos ejemplos, la mayoría de las versiones de interfaces de ventanas permiten a los usuarios reposicionar una ventana arrastrándola con el ratón. En los primeros sistemas, no era posible volver a dibujar la ventana mientras se arrastraba debido a limitaciones computacionales. En su lugar, se dibujaba un contorno rectangular de la ventana mientras se arrastraba. El contenido completo de la ventana se volvía a dibujar una vez que el usuario soltaba el botón del ratón.
En gráficos por computadora
Debido a la dificultad de visualizar y manipular varios aspectos de los gráficos por computadora, incluyendo la creación y edición de geometría, la animación, el diseño de objetos y cámaras, la colocación de la luz y otros efectos, la manipulación directa es una parte importante de los gráficos por computadora en 3D. Existen widgets de manipulación directa estándar , así como muchos widgets únicos que se desarrollan como una mejor solución a un problema antiguo o como una solución para un problema nuevo y/o único. Los widgets intentan permitir al usuario modificar un objeto en cualquier dirección posible, al mismo tiempo que proporcionan guías o restricciones fáciles para permitir al usuario modificar fácilmente un objeto en las direcciones más comunes, al mismo tiempo que intentan ser lo más intuitivos posible en cuanto a la función del widget. Los tres widgets de transformación más omnipresentes están en su mayoría estandarizados y son:
- El widget de traducción , que normalmente consta de tres flechas alineadas con los ejes ortogonales centrados en el objeto que se va a traducir. Al arrastrar el centro del widget, se traslada el objeto directamente debajo del puntero del ratón en el plano paralelo al plano de la cámara, mientras que al arrastrar cualquiera de las tres flechas, se traslada el objeto a lo largo del eje correspondiente. Los ejes pueden estar alineados con los ejes del espacio del mundo, los ejes del espacio del objeto o algún otro espacio.
- El widget de rotación , que normalmente consta de tres círculos alineados con los tres ejes ortogonales y un círculo alineado con el plano de la cámara. Al arrastrar cualquiera de los círculos, el objeto rota alrededor del eje correspondiente, mientras que al arrastrarlo en cualquier otro lugar, el objeto rotará libremente (rotación virtual con trackball).
- El widget de escala , que normalmente consta de tres líneas cortas alineadas con los ejes ortogonales que terminan en cuadros y un cuadro en el centro del widget. Al arrastrar cualquiera de los tres cuadros alineados con los ejes, se genera una escala no uniforme únicamente a lo largo de ese eje, mientras que al arrastrar el cuadro central se genera una escala uniforme en los tres ejes a la vez.
Dependiendo de los usos estándar específicos de un objeto, se pueden utilizar diferentes tipos de widgets. Por ejemplo, una luz en gráficos de computadora también se define, como cualquier otro objeto, mediante una transformación (traslación y rotación), pero a veces se posiciona y se dirige simplemente con las posiciones de sus puntos finales. Esto se debe a que puede ser más intuitivo definir la ubicación de la fuente de luz y luego definir el objetivo de la luz, en lugar de rotarla alrededor de los ejes de coordenadas para apuntarla a una posición conocida.
Otros widgets pueden ser exclusivos de una herramienta en particular, como controles de borde para cambiar el cono de un foco, puntos y controladores para definir la posición y el vector tangente para un punto de control de spline, círculos de tamaño variable para definir el ancho de un filtro de desenfoque o el tamaño del pincel, objetivos IK para manos y pies, o ruedas de color y muestras para elegir colores rápidamente. Los widgets complejos pueden incluso incorporar algunos elementos de visualización científica para presentar de manera eficiente datos relevantes (como campos vectoriales para efectos de partículas o imágenes de color falso para mostrar mapas de vértices).
La manipulación directa, así como el diseño de interfaces de usuario en general, para tareas de gráficos por computadora en 3D, sigue siendo un área activa de invención e innovación. El proceso de generación de imágenes generadas por computadora no se considera intuitivo o fácil en comparación con la dificultad de lo que el usuario quiere hacer, especialmente para tareas complejas y menos comunes. La interfaz de usuario para procesamiento de textos, por ejemplo, se usa comúnmente. Es fácil de aprender para los nuevos usuarios y es suficiente para la mayoría de los propósitos de procesamiento de textos, por lo que es una interfaz de usuario mayoritariamente resuelta y estandarizada. Sin embargo, las interfaces de usuario para gráficos por computadora en 3D generalmente son difíciles de aprender y usar y no lo suficientemente potentes para tareas complejas y/o difíciles de aprender y usar, por lo que la manipulación directa y las interfaces de usuario variarán enormemente de una aplicación a otra.
Véase también
Referencias
- ^ Kwon, Bum chul; Wagas Javed; Niklas Elmgvist; Ji Soo Yi (mayo de 2011). "Manipulación directa a través de objetos sustitutos". Actas de la Conferencia SIGCHI sobre factores humanos en sistemas informáticos (PDF) . pp. 627–636. CiteSeerX 10.1.1.400.340 . doi :10.1145/1978942.1979033. ISBN . 9781450302289Archivado desde el original (PDF) el 1 de febrero de 2014. Consultado el 9 de junio de 2013 .
- ^ Shneiderman, Ben (1982). "El futuro de los sistemas interactivos y el surgimiento de la manipulación directa". Behaviour & Information Technology . 1 (3): 237–256. doi :10.1080/01449298208914450.
- ^ Shneiderman, Ben (agosto de 1983). "Manipulación directa. Un paso más allá de los lenguajes de programación". IEEE Computer . 1 (8): 57–69. doi :10.1109/MC.1983.1654471. Archivado desde el original el 8 de febrero de 2012 . Consultado el 28 de diciembre de 2010 .
- Frohlich, David M (1993). "La historia y el futuro de la manipulación directa". Behaviour & Information Technology . 12 (6): 315–329. doi :10.1080/01449299308924396.
- Shneiderman, Ben. Diseño de la interfaz de usuario: estrategias para una interacción eficaz entre humanos y ordenadores. (1987)
- Hutchins, Edwin L., James D. Hollan y Donald Norman. Interfaces de manipulación directa (1985)
- Shneiderman, Ben. "Manipulación directa: un paso más allá de los lenguajes de programación", IEEE Computer 16(8) (agosto de 1983), 57-69.