Articulo de referencia

Interfaz de usuario orientada a objetos

En informática , una interfaz de usuario orientada a objetos ( OOUI , por sus siglas en inglés ) es un tipo de interfaz de usuario basada en la metáfora de la programación orien...

En informática , una interfaz de usuario orientada a objetos ( OOUI , por sus siglas en inglés ) es un tipo de interfaz de usuario basada en la metáfora de la programación orientada a objetos , y describe la mayoría de los sistemas operativos modernos (" sistemas operativos orientados a objetos "), como macOS y Unix . En una OOUI, el usuario interactúa explícitamente con objetos que representan entidades del dominio de la aplicación. Muchas aplicaciones de dibujo vectorial, por ejemplo, tienen una OOUI, donde los objetos son líneas, círculos y lienzos. El usuario puede seleccionar explícitamente un objeto, modificar sus propiedades (como el tamaño o el color) o realizar otras acciones sobre él (como moverlo, copiarlo o realinearlo). Si una aplicación empresarial tiene una OOUI, el usuario puede seleccionar y/o realizar acciones sobre objetos que representan entidades del dominio empresarial, como clientes, productos o pedidos.

Jakob Nielsen define la OOUI en contraste con las interfaces orientadas a funciones: "Las interfaces orientadas a objetos a veces se describen como una inversión de la aplicación en comparación con las interfaces orientadas a funciones. El foco principal de la interacción cambia para convertirse en los datos del usuario y otros objetos de información que normalmente se representan gráficamente en la pantalla como iconos o en ventanas." [ 1 ]

Dave Collins define un OOUI como aquel que demuestra tres características:

  • Los usuarios perciben y actúan sobre los objetos.
  • Los usuarios pueden clasificar los objetos en función de cómo se comportan.
  • En el contexto de lo que los usuarios intentan hacer, todos los objetos de la interfaz de usuario encajan en una representación general coherente [ 2 ].

Jef Raskin sugiere que la característica más importante de una OOUI es que adopta un estilo de interacción "sustantivo-verbo", en lugar de un estilo "verbo-sustantivo", y que esto tiene varias ventajas en términos de usabilidad. [ 3 ]

Relación con otras ideas de interfaz de usuario

Existe una gran sinergia potencial entre el concepto OOUI y otras ideas importantes en el diseño de interfaces de usuario, entre las que se incluyen:

Muchas visiones futuristas de interfaces de usuario se basan en gran medida en los conceptos de OOUI y especialmente de OOGUI. [ 4 ] Sin embargo, hay muchos ejemplos de interfaces de usuario que implementan una o más de esas otras ideas, pero que en realidad no son OOUI, aunque a menudo se las etiqueta erróneamente como tales. [ 5 ] Por el contrario, hay ejemplos de OOUI que no son gráficas, ni emplean técnicas de manipulación directa, ni emplean metáforas fuertes. Por ejemplo, las primeras versiones del lenguaje de programación Smalltalk tenían una interfaz de línea de comandos que, no obstante, también era claramente una OOUI, [ 6 ] aunque posteriormente se hizo más conocida por su papel pionero en el desarrollo de GUI, manipulación directa y metáforas visuales .

Relación con la programación orientada a objetos

Aunque existen muchos paralelismos conceptuales entre las interfaces de usuario orientadas a objetos (OOUI) y la programación orientada a objetos , no se deduce que una OOUI deba implementarse utilizando un lenguaje de programación orientado a objetos .

Las directrices para el Acceso Común de Usuario (CUA) de IBM (posiblemente el intento más completo de definir un estándar para el diseño de interfaces de usuario orientadas a objetos) establecían que «si bien la programación orientada a objetos puede facilitar el desarrollo de una interfaz de usuario orientada a objetos, no es un requisito previo. Una interfaz de usuario orientada a objetos puede desarrollarse con lenguajes y herramientas de programación más tradicionales». [ 7 ]

Sin embargo, existen fuertes sinergias. Larry Tesler , quien dejó Xerox PARC en 1980 para unirse a Apple, subrayó esta relación:

Muchos observadores han planteado la hipótesis de que la interfaz de usuario de Smalltalk y el lenguaje Smalltalk son innovaciones separables. En consecuencia, la mayoría de los sistemas influenciados por la interfaz de usuario de Smalltalk se han diseñado sin recurrir al enfoque de implementación de Smalltalk. En Apple, después de usar Pascal para implementar seis aplicaciones iniciales para Lisa , descubrimos razones de peso para cambiar nuestro lenguaje de programación e incorporar más ideas de Smalltalk. Las aplicaciones de Lisa ahora se escriben en el lenguaje Clascal , una extensión de Pascal que incluye objetos, clases, subclases e invocación de procedimientos mediante paso de mensajes. [ 8 ]

Relación con el modelado de objetos de dominio

Existe una sinergia evidente entre el concepto de OOUI y la idea de construir software a partir de objetos de dominio . Sin embargo, esto no implica que los objetos que un usuario ve e interactúa dentro de una OOUI deban corresponder a los objetos de dominio sobre los que se basa la aplicación.

Las directrices de CUA establecieron que «En una interfaz de usuario orientada a objetos, los objetos con los que trabaja un usuario no necesariamente corresponden a los objetos o módulos de código que un programador utilizó para crear el producto». [ 7 ] Los métodos de diseño básicos descritos en CUA se perfeccionaron aún más en el método OVID [ 9 ] que utilizó UML para modelar la interfaz.

Mark van Harmelen afirma que «el diseño de interfaz de usuario orientado a objetos no exige que los diseñadores adopten una perspectiva orientada a objetos del problema desde el inicio del proyecto. Además, incluso si los diseñadores adoptan una perspectiva orientada a objetos en todo momento, se beneficiarán al centrarse por separado en el modelo de objetos y en el diseño de la interfaz de usuario orientado a objetos». [ 10 ]

Por el contrario, el patrón de objetos desnudos es un enfoque para el diseño de aplicaciones que, al menos en su forma ingenua, impone una correspondencia directa entre los objetos representados en la OOUI y los objetos de dominio subyacentes, autogenerando los primeros a partir de los segundos. [ 11 ]

Referencias

  1. Nielsen, J., Ingeniería de usabilidad. 1993, San Francisco: Morgan Kaufmann / Academic Press
  2. Collins, D., Diseño de interfaces de usuario orientadas a objetos. 1995, Redwood City, CA: Benjamin/Cummings
  3. Raskin, J., La interfaz humana. 2000, Reading, MA: Addison-Wesley / ACM Press
  4. Dayton, Tom. "Las interfaces gráficas de usuario orientadas a objetos son el futuro" . Blog de Presto Innovation . Consultado el 8 de marzo de 2017 .
  5. Constantine, L. y L. Lockwood, Software para uso. 1999: Addison-Wesley
  6. Kay, A., La historia temprana de Smalltalk, en Historia de los lenguajes de programación, T. Bergin y R. Gibson, editores. 1996, Addison-Wesley / ACM Press: Reading, MA. pág. 511-.
  7. 1 2 IBM, Acceso común al usuario - Guía para el diseño de la interfaz de usuario. 1991, IBM: Cary, Carolina del Norte.
  8. Tesler, L. Interfaces de usuario orientadas a objetos y lenguajes orientados a objetos. En Conferencia ACM sobre computadoras personales y pequeñas. 1983. Nueva York: ACM.
  9. Dave Roberts, Dick Berry, Scott Isensee y John Mullaly, Diseño para el usuario con OVID: Uniendo el diseño de interfaces de usuario y la ingeniería de software, MacMillan, 1998
  10. van Harmelen, M., ed. Modelado de objetos y diseño de interfaces de usuario. 2001, Addison-Wesley: Reading, MA.
  11. Pawson, R., Objetos desnudos, Tesis doctoral, 2004, Trinity College, Dublín, Irlanda