Interfaz gráfica del usuario

Compartir Imprimir Citar
Interfaz de usuario que permite la interacción a través de iconos gráficos e indicadores visuales

La GUI (JEE-yoo-EYE o GOO-ee), interfaz gráfica de usuario, es una forma de interfaz de usuario que permite a los usuarios interactuar con dispositivos electrónicos a través de iconos gráficos e indicadores de audio, como notación principal, en lugar de interfaces de usuario basadas en texto, etiquetas de comando escritas o navegación de texto. Las GUI se introdujeron como reacción a la pronunciada curva de aprendizaje percibida de las CLI (interfaces de línea de comandos), que requieren que los comandos se escriban en el teclado de una computadora.

Las acciones en una GUI generalmente se realizan a través de la manipulación directa de los elementos gráficos. Más allá de las computadoras, las GUI se utilizan en muchos dispositivos móviles de mano, como reproductores de MP3, reproductores multimedia portátiles, dispositivos de juegos, teléfonos inteligentes y controles domésticos, de oficina e industriales más pequeños. El término GUI tiende a no aplicarse a otros tipos de interfaces de resolución de pantalla más baja, como los videojuegos (donde se prefiere HUD (head-up display)), o no incluye pantallas planas como pantallas volumétricas porque el término está restringido al ámbito de las pantallas de visualización 2D capaces de describir información genérica, en la tradición de la investigación informática en el Centro de Investigación Xerox Palo Alto.

GUI y diseño de interacción

El GUI se presenta (displayed) en la pantalla del ordenador. Es el resultado de la entrada de usuario procesada y generalmente la interfaz principal para la interacción humana-máquina. Los interfaz de usuario táctiles populares en pequeños dispositivos móviles son una superposición de la salida visual a la entrada visual.

El diseño de la composición visual y el comportamiento temporal de una GUI es una parte importante de la programación de aplicaciones de software en el área de interacción humano-computadora. Su objetivo es mejorar la eficiencia y la facilidad de uso del diseño lógico subyacente de un programa almacenado, una disciplina de diseño denominada usabilidad. Se utilizan métodos de diseño centrado en el usuario para garantizar que el lenguaje visual introducido en el diseño se adapte bien a las tareas.

Las características visibles de la interfaz gráfica de una aplicación a veces se denominan chrome o GUI (pronunciado gooey). Por lo general, los usuarios interactúan con la información mediante la manipulación de widgets visuales que permiten interacciones adecuadas al tipo de datos que tienen. Los widgets de una interfaz bien diseñada se seleccionan para apoyar las acciones necesarias para lograr los objetivos de los usuarios. Un modelo-vista-controlador permite estructuras flexibles en las que la interfaz es independiente y está indirectamente vinculada a las funciones de la aplicación, por lo que la GUI se puede personalizar fácilmente. Esto permite a los usuarios seleccionar o diseñar un skin diferente a voluntad y facilita el trabajo del diseñador para cambiar la interfaz a medida que evolucionan las necesidades del usuario. Un buen diseño de GUI se relaciona más con los usuarios y menos con la arquitectura del sistema. Los widgets grandes, como las ventanas, suelen proporcionar un marco o contenedor para el contenido principal de la presentación, como una página web, un mensaje de correo electrónico o un dibujo. Los más pequeños suelen actuar como una herramienta de entrada del usuario.

Se puede diseñar una GUI para los requisitos de un mercado vertical como GUI de aplicación específica. Los ejemplos incluyen cajeros automáticos (ATM), pantallas táctiles de puntos de venta (POS) en restaurantes, cajas de autoservicio utilizadas en una tienda minorista, boletos automáticos y check-in de aerolíneas, quioscos de información en un espacio público, como una estación de tren o un museo y monitores o pantallas de control en una aplicación industrial integrada que emplea un sistema operativo en tiempo real (RTOS).

Los teléfonos móviles y los sistemas de juegos portátiles también emplean interfaces gráficas de usuario de pantalla táctil específicas de la aplicación. Los automóviles más nuevos usan GUI en sus sistemas de navegación y centros multimedia, o combinaciones de centros multimedia de navegación.

Ejemplos

Componentes

Capas de un GUI basado en un sistema de ventana

Una GUI utiliza una combinación de tecnologías y dispositivos para proporcionar una plataforma con la que los usuarios pueden interactuar para las tareas de recopilación y producción de información.

Una serie de elementos que conforman un lenguaje visual han evolucionado para representar la información almacenada en las computadoras. Esto hace que sea más fácil para las personas con pocos conocimientos informáticos trabajar y utilizar programas informáticos. La combinación más común de dichos elementos en las GUI es el paradigma ventanas, íconos, campos de texto, lienzos, menús, puntero (WIMP), especialmente en computadoras personales.

El estilo de interacción WIMP utiliza un dispositivo de entrada virtual para representar la posición de la interfaz de un dispositivo señalador, generalmente un mouse, y presenta información organizada en ventanas y representada con íconos. Los comandos disponibles se recopilan en menús y las acciones se realizan haciendo gestos con el dispositivo señalador. Un administrador de ventanas facilita las interacciones entre ventanas, aplicaciones y el sistema de ventanas. El sistema de ventanas maneja dispositivos de hardware tales como dispositivos de puntero, hardware de gráficos y posicionamiento del puntero.

En las computadoras personales, todos estos elementos se modelan a través de una metáfora de escritorio para producir una simulación llamada entorno de escritorio en el que la pantalla representa un escritorio, en el que se pueden colocar documentos y carpetas de documentos. Los administradores de ventanas y otro software se combinan para simular el entorno de escritorio con diversos grados de realismo.

Las entradas pueden aparecer en una lista para hacer espacio para el texto y los detalles, o en una cuadrícula para que sea más compacta e íconos más grandes con poco espacio debajo para el texto. Existen variaciones intermedias, como una lista con varias columnas de elementos y una cuadrícula de elementos con filas de texto que se extienden lateralmente desde el icono.

Los diseños de varias filas y varias columnas que se encuentran comúnmente en la web son "estantería" y "cascada". El primero se encuentra en los motores de búsqueda de imágenes, donde las imágenes aparecen con una altura fija pero una longitud variable, y normalmente se implementa con la propiedad CSS y el parámetro display: inline-block;. Un diseño en cascada que se encuentra en Imgur y Tweetdeck con ancho fijo pero altura variable por elemento generalmente se implementa especificando column-width:.

Interfaz posterior a WIMP

Los dispositivos móviles de aplicaciones más pequeños, como los asistentes digitales personales (PDA) y los teléfonos inteligentes, suelen utilizar los elementos WIMP con diferentes metáforas unificadoras, debido a las limitaciones de espacio y los dispositivos de entrada disponibles. Las aplicaciones para las que WIMP no es adecuado pueden utilizar técnicas de interacción más nuevas, denominadas colectivamente IU posteriores a WIMP.

A partir de 2011, algunos sistemas operativos basados en pantallas táctiles, como iOS (iPhone) y Android de Apple, usan la clase de GUI denominada post-WIMP. Estos admiten estilos de interacción que usan más de un dedo en contacto con una pantalla, lo que permite acciones como pellizcar y rotar, que no son compatibles con un puntero y un mouse.

Interacción

Los dispositivos de interfaz humana, para la interacción eficiente con una GUI, incluyen un teclado de computadora, especialmente usado junto con atajos de teclado, dispositivos señaladores para el control del cursor (o más bien puntero): mouse, dispositivo señalador, touchpad, trackball, joystick, virtual teclados y pantallas de visualización frontal (dispositivos de información translúcidos a la altura de los ojos).

También hay acciones realizadas por programas que afectan la GUI. Por ejemplo, existen componentes como inotify o D-Bus para facilitar la comunicación entre programas informáticos.

Historia

Esfuerzos iniciales

Ivan Sutherland desarrolló Sketchpad en 1963, ampliamente reconocido como el primer programa de diseño gráfico asistido por computadora. Usó un lápiz óptico para crear y manipular objetos en dibujos de ingeniería en tiempo real con gráficos coordinados. A fines de la década de 1960, los investigadores del Instituto de Investigación de Stanford, dirigidos por Douglas Engelbart, desarrollaron el Sistema en línea (NLS), que utilizaba hipervínculos basados en texto manipulados con un dispositivo entonces nuevo: el mouse. (Una demostración de NLS de 1968 se conoció como "La madre de todas las demostraciones"). En la década de 1970, los investigadores de Xerox PARC y específicamente Alan Kay refinaron aún más las ideas de Engelbart y las extendieron a los gráficos., que fue más allá de los hipervínculos basados en texto y usó una GUI como interfaz principal para el lenguaje de programación Smalltalk, que se ejecutaba en la computadora Xerox Alto, lanzada en 1973. La mayoría de las GUI modernas de propósito general se derivan de este sistema.

La estación de trabajo Xerox Star 8010 introdujo la primera GUI comercial.

La GUI de Xerox PARC constaba de elementos gráficos como ventanas, menús, botones de radio y casillas de verificación. El concepto de íconos fue introducido más tarde por David Canfield Smith, quien había escrito una tesis sobre el tema bajo la dirección de Kay. La GUI de PARC emplea un dispositivo señalador junto con un teclado. Estos aspectos se pueden enfatizar utilizando el término alternativo y el acrónimo de ventanas, íconos, menús, dispositivo señalador (WIMP). Este esfuerzo culminó en 1973 con Xerox Alto, la primera computadora con GUI, aunque el sistema nunca llegó a la producción comercial.

La primera computadora disponible comercialmente con una GUI fue la estación de trabajo PERQ de 1979, fabricada por Three Rivers Computer Corporation. Su diseño estuvo fuertemente influenciado por el trabajo en Xerox PARC. En 1981, Xerox finalmente comercializó el Alto en la forma de un sistema nuevo y mejorado, el Sistema de información Xerox 8010, más conocido como Xerox Star. Estos primeros sistemas estimularon muchos otros esfuerzos de GUI, incluidas las máquinas Lisp de Symbolics y otros fabricantes, Apple Lisa (que presentó el concepto de barra de menú y controles de ventana) en 1983, Apple Macintosh 128K en 1984 y Atari ST con Digital Research & #39;s GEM y Commodore Amiga en 1985. Visi On se lanzó en 1983 para las computadoras compatibles con IBM PC, pero nunca fue popular debido a sus altas demandas de hardware. Sin embargo, fue una influencia crucial en el desarrollo contemporáneo de Microsoft Windows.

Apple, Digital Research, IBM y Microsoft utilizaron muchas de las ideas de Xerox para desarrollar productos, y las especificaciones de acceso de usuario común de IBM formaron la base de las GUI utilizadas en Microsoft Windows, IBM OS/2 Presentation Manager y el kit de herramientas y administrador de ventanas Unix Motif. Estas ideas evolucionaron para crear la interfaz que se encuentra en las versiones actuales de Microsoft Windows y en varios entornos de escritorio para sistemas operativos similares a Unix, como macOS y Linux. Por lo tanto, la mayoría de las GUI actuales tienen expresiones idiomáticas en gran parte comunes.

Una Apple Lisa (1983) demostrando LisaOS, la primera GUI comercialmente disponible de Apple Computer.

Popularización

HP LX System Manager funcionando en un HP 200LX.

Las GUI fueron un tema candente a principios de la década de 1980. Apple Lisa se lanzó en 1983 y existían varios sistemas de ventanas para los sistemas operativos DOS (incluidos PC GEM y PC/GEOS). Las aplicaciones individuales para muchas plataformas presentaron sus propias variantes de GUI. A pesar de las ventajas de la GUI, muchos revisores cuestionaron el valor de todo el concepto, citando límites de hardware y problemas para encontrar software compatible.

En 1984, Apple lanzó un comercial de televisión que presentaba el Apple Macintosh durante la transmisión del Super Bowl XVIII por CBS, con alusiones a la célebre novela de George Orwell Nineteen Eighty-Four. El objetivo del comercial era hacer que la gente pensara en las computadoras, identificando la interfaz fácil de usar como una computadora personal que se apartaba de los sistemas anteriores orientados a los negocios y se convertía en una representación distintiva de los productos Apple.

Windows 95, acompañado de una extensa campaña de marketing, fue un gran éxito en el mercado en su lanzamiento y pronto se convirtió en el sistema operativo de escritorio más popular.

En 2007, con el iPhone y más tarde en 2010 con la introducción del iPad, Apple popularizó el estilo de interacción posterior a WIMP para pantallas multitáctiles, y esos dispositivos se consideraron hitos en el desarrollo de dispositivos móviles.

Las GUI familiares para la mayoría de las personas a mediados de la década de 2010 son Microsoft Windows, macOS y las interfaces del sistema X Window para computadoras de escritorio y portátiles, y Android, iOS de Apple, Symbian, BlackBerry OS, Windows Phone/Windows 10 Mobile, Tizen, WebOS y Firefox OS para dispositivos portátiles (teléfonos inteligentes).

Comparación con otras interfaces

Interfaces de línea de comandos

Un CLI moderno

Dado que los comandos disponibles en las interfaces de línea de comandos pueden ser muchos, se pueden realizar operaciones complejas usando una secuencia corta de palabras y símbolos. Se pueden utilizar funciones personalizadas para facilitar el acceso a acciones frecuentes. Las interfaces de línea de comandos son más livianas, ya que solo recuerdan la información necesaria para una tarea; por ejemplo, sin miniaturas de vista previa o representación gráfica de páginas web. Esto permite una mayor eficiencia y productividad una vez que se aprenden muchos comandos. Pero llegar a este nivel lleva algún tiempo porque las palabras de comando pueden no ser fáciles de descubrir o mnemotécnicas. Además, el uso de la línea de comandos puede volverse lento y propenso a errores cuando los usuarios deben ingresar comandos largos que comprenden muchos parámetros o varios nombres de archivo diferentes a la vez. Sin embargo, las interfaces de ventanas, íconos, menús, puntero (WIMP) presentan a los usuarios muchos widgets que representan y pueden activar algunos de los comandos disponibles del sistema.

Las GUI pueden volverse bastante difíciles cuando los diálogos están enterrados profundamente en un sistema o se mueven a diferentes lugares durante los rediseños. Además, los iconos y los cuadros de diálogo suelen ser más difíciles de ejecutar para los usuarios.

Los WIMP utilizan mucho los modos, ya que el significado de todas las teclas y los clics en posiciones específicas de la pantalla se redefinen todo el tiempo. Las interfaces de línea de comandos usan modos solo en formas limitadas, como para el directorio actual y las variables de entorno.

La mayoría de los sistemas operativos modernos proporcionan una GUI y algún nivel de CLI, aunque las GUI suelen recibir más atención.

Envolturas GUI

Los envoltorios de GUI encuentran una forma de sortear las versiones de la interfaz de línea de comandos (CLI) de (normalmente) aplicaciones de software similares a Linux y Unix y sus IU basadas en texto o etiquetas de comando escritas. Si bien las aplicaciones de línea de comandos o basadas en texto permiten a los usuarios ejecutar un programa de forma no interactiva, los envoltorios de GUI evitan la pronunciada curva de aprendizaje de la línea de comandos, que requiere que los comandos se escriban en el teclado. Al iniciar un envoltorio de GUI, los usuarios pueden interactuar intuitivamente, iniciar, detener y cambiar sus parámetros de trabajo, a través de iconos gráficos e indicadores visuales de un entorno de escritorio, por ejemplo. Las aplicaciones también pueden proporcionar ambas interfaces, y cuando lo hacen, la GUI suele ser un contenedor WIMP alrededor de la versión de línea de comandos. Esto es especialmente común con aplicaciones diseñadas para sistemas operativos similares a Unix. Este último solía implementarse primero porque permitía a los desarrolladores centrarse exclusivamente en la funcionalidad de su producto sin preocuparse por los detalles de la interfaz, como el diseño de iconos y la colocación de botones. Diseñar programas de esta manera también permite a los usuarios ejecutar el programa en un script de shell.

Interfaz gráfica de usuario tridimensional

Muchos entornos y juegos usan métodos de gráficos 3D para proyectar objetos GUI 3D en la pantalla. El uso de gráficos 3D se ha vuelto cada vez más común en los principales sistemas operativos (p. ej., Windows Aero y Aqua (MacOS)) para crear interfaces atractivas, lo que se denomina vistosidad (que incluye, por ejemplo, el uso de sombras paralelas debajo de las ventanas y el cursor).), o con fines funcionales solo es posible utilizando tres dimensiones. Por ejemplo, el cambio de usuario se representa girando un cubo con caras que representan el espacio de trabajo de cada usuario, y la gestión de ventanas se representa a través de un mecanismo de volteo estilo Rolodex en Windows Vista (consulte Windows Flip 3D). En ambos casos, el sistema operativo transforma las ventanas sobre la marcha mientras continúa actualizando el contenido de esas ventanas.

La GUI generalmente se basa en WIMP, aunque ocasionalmente surgen otras metáforas, como las que se usan en Microsoft Bob, 3dwm, File System Navigator, File System Visualizer, 3D Mailbox y GopherVR. El zoom (ZUI) es una tecnología relacionada que promete brindar los beneficios de representación de los entornos 3D sin los inconvenientes de usabilidad de los problemas de orientación y los objetos ocultos. En 2006, Hillcrest Labs presentó el primer ZUI para televisión. Otras innovaciones incluyen los menús de PlayStation 2, los menús de Xbox, Sun's Project Looking Glass, Metisse, que era similar a Project Looking Glass, BumpTop, donde los usuarios pueden manipular documentos y ventanas con movimientos y física realistas como si fueran documentos físicos, Croquet OS, que está diseñado para la colaboración, y administradores de ventanas de composición como Enlightenment y Compiz. La realidad aumentada y la realidad virtual también utilizan elementos GUI 3D.

En ciencia ficción

Las GUI 3D han aparecido en la literatura y las películas de ciencia ficción, incluso antes de que ciertas tecnologías fueran factibles o de uso común.