En informática, GUI es un conjunto de formas y métodos que posibilitan a los usuarios la interacción con un sistema, empleando para esto gráficos e imágenes.
Con formas gráficas nos referimos a botones, íconos, ventanas, fuentes, etc. los cuales representan funciones, acciones e información en el contexto de ese sistema.
Cuando hablamos de sistema nos referimos a cualquier dispositivo electrónico que cuente con pantalla y un sistema operativo gráfico: teléfonos inteligentes, computadoras de hogar, notebooks, cajeros automáticos, reproductores de música, dispositivos para juegos, equipos industriales y de oficina, terminales de puntos de venta (POS), kiosks, etc. Siempre que cuenten con pantalla visual, claro está.
GUI significa Graphic User Interface o Interfaz Gráfica de Usuario.
No es el único tipo de interfaz para usuarios, de hecho, el GUI surge de una evolución de la interfaz de línea de comandos tradicional (llamada también CLI) de los primeros sistemas operativos. El ejemplo más conocido es la familia de sistemas DOS (como MS-DOS). La interfaz de línea de comando aún se emplea en múltiples casos porque en ocasiones resulta conveniente.
Una interfaz intermedia entre GUI y la de línea de comandos es la interfaz de texto.
La interfaz GUI sin dudas facilita el uso y la curva de aprendizaje de los sistemas operativos y aplicaciones, en comparación a la línea de comandos que requiere memorizar comandos y parámetros, y son muy dependientes del teclado.
La interfaz gráfica y el diseño visual con respecto al usuario
El diseño de la composición visual y el comportamiento temporal de una interfaz gráfica de usuario es una parte importantísima de la programación de un software de aplicación o de un sistema operativo. El objetivo primordial debe ser la eficiencia y la facilidad de uso para el usuario, esta disciplina es llamada usabilidad. Los diseños y métodos de interacción deben estar centrados en el usuario, introduciendo elementos visuales y de texto fáciles de entender y que sigan ciertos estándares.
Estos elementos visuales también son llamados widgets. Al final de este artículo contamos con un cuadro con una extensa variedad de elementos visuales GUI comunes en los sistemas operativos gráficos.
La interfaz gráfica de usuario y su adaptación a pantallas táctiles
Con la llegada de las pantallas táctiles, las interfaces gráficas se han visto algo alteradas para facilitar la interacción del usuario que ahora emplea los dedos o lápices especiales. En general, esta adaptación permite deslizamientos de elementos, textos e íconos más grandes (el dedo es más grueso que un cursor de ratón), gestos con los dedos (por ej.: pellizco de la pantalla), etc.
El intento de unificar aplicaciones o sistemas operativos para controlar con un ratón o para controlar con una pantalla táctil no siempre da buenos resultados. La confusa mezcla de interfaces que se hizo en Windows 8 para PCs no conformó demasiado, ni a especialistas ni a usuarios novatos, tal es así que Microsoft tuvo que rediseñar su siguiente sistema operativo, Windows 10 a un estilo más parecido al clásico Windows, al menos cuando se ejecuta en PCs.
Breve historia de la interfaz gráfica de usuario (GUI)
Primeros pasos
Las primeras interfaces gráficas fueron creadas por investigadores en el Instituto de Investigación de Stanford liderados por Douglas Engelbart. Ellos diseñaron hiperenlaces basados en texto manipulados con un ratón para el sistema NLS (oN-Line System), un revolucionario sistema de computación, que fue el primero en emplear este tipo de enlaces, el ratón, monitores de pantalla raster-scan, etc.
El concepto de hiperenlace fue refinado y extendido a gráficos por investigadores de Xerox PARC, específicamente Alan Kay empleó GUI como interfaz principal para la computadora Xerox Alto lanzada en 1973.
Podría decirse que el sistema GUI de la computadora Xerox Alto es la madre de todas las interfaces gráficas modernas, ya que empleaba elementos que hoy por hoy todos distinguiríamos: ventanas, botones, menús, etc. Esta interfaz es llamada interfaz PARC.
En el año 1963, Ivan Sutherland ya había desarrollado un sistema basado en punteros llamado Sketchpad, empleaba un lápiz de luz para crear y manipular objetos en programas de dibujo.
La interfaz de usuario PARC consiste de los elementos gráficos básicos como ventanas, menús, botones de radio y casillas de verificación. El concepto de ícono fue introducido más tarde por David Canfield Smith, entonces PARC comenzó a emplear dispositivo de puntero junto con el teclado. De esta unión surgió WIMP: windows (ventanas), íconos, menús y puntero.
La evolución de la interfaz PARC
Luego de PARC, el primer modelo de computación basado en GUI fue el Xerox 8010 Information System (Xerox Star) de 1981, seguido por el Apple Lisa de 1983, el cual presentó nuevos elementos: barra de menú y controles de ventanas. Luego le siguieron Apple Macintosh 128K en 1984, y el Atari ST y Commodore Amiga en 1985.
Visi On fue lanzado en 1983 para computadoras IBM PC compatibles que corrían MS-DOS. Tuvo poca vida debido a las grandes demandas de hardware, pero fue muy influyente en lo que respecta a los entornos de interfaz gráfica de usuario. Influyó nada más y nada menos que al sistema operativo Windows.
Las grandes compañías del momento: Apple, IBM y Microsoft, usaron muchas de las ideas de la interfaz PARC de Xerox y también de las especificaciones CUA (Common User Access) de IBM. Estas especificaciones son estándares de interfaz de usuario para sistemas operativos y programas informáticos lanzadas en 1987. Sirvieron para el desarrollo de las interfaces gráficas de los sistemas operativos VM/CMS, OS/400, OS/2, Microsoft Windows y el toolkit Unix Motif.
Actualmente estas ideas son la base para la creación de gran cantidad de sistemas operativos como Windows, Unix para PCs, macOS y Linux.
El aumento del poder de las computadoras y la mejora de la interfaz
Década de 1980:
Incluso aunque el sistema operativo no tuviera interfaz gráfica, como es el caso de los sistemas operativos DOS, sí se lanzaban aplicaciones que empleaban sistemas de ventanas, usualmente empleando una interfaz de texto.
También ocurría que cada aplicación individual tenía su propia variante de GUI, por lo que esto hacía variar mucho la forma de interactuar con cada uno de estos programas en general.
A pesar de las grandes ventajas de las interfaces GUI, las limitaciones del hardware y problemas de compatibilidades impedían una mejora sustancial en esta área.
En 1984, Apple introdujo la Apple Macintosh durante un comercial en el Super Bowl XVIII, identificando la interfaz de su producto como fácil de usar para personas comunes y corrientes. Este se volvió el lema de la compañía desde entonces.
Década de 1990:
Sin dudas el gran salto de la década, acompañado por una campaña publicitaria espectacular, lo dio Windows 95. Volviéndose así el sistema operativo más popular del mundo en computadoras de escritorio. En nada se parecía a su predecesor, el Windows 3.x. Su interfaz gráfica de usuario fue revolucionaria. Si bien no introdujo demasiados nuevos conceptos, era realmente visualmente atractiva.
Década de 2000:
Esta década está marcada por la masificación de las pantallas táctiles, en especial en dispositivos de mano. La gran revelación vino en 2007 con el teléfono inteligente iPhone y luego en 2010 con la introducción del iPad, ambos de la compañía Apple. Este cambio en la interfaz de usuario puso en el mapa nuevamente a esta compañía.
De hecho Apple popularizó el llamado estilo "post WIMP" de interacción en pantallas multitáctil.
Década de 2010:
Los GUIs actuales se parecen mucho entre sí, se han vuelto tan amigables que incluso personas mayores se animan a usarlos. Básicamente los más populares son los usados en Windows, OS X y las interfaces X Windows System para computadoras de escritorio y laptops.
En tanto Android, iOS de Apple, Symbian, BlackBerry OS, Windows Phone, Palm Os-WebOS y Firefox OS son los más populares en dispositivos de mano como teléfonos inteligentes y tabletas.
CALIDAD DEL SOFTWARE
Cuando nos hablan de “calidad de software”, quizá lo primero que se nos viene a la mente es que se trate de un método mediante el cual se pueda medir o se pueda verificar si un software cumple o no cumple unos estándares de calidad al que fue sometido en su desarrollo, si cumple con los requisitos y necesidades funcionales que solicito el cliente. Para lograr esto, la entidad encargada de realizar las pruebas cumple una función esencial en el desarrollo de la aplicación, pues es esta, quien revisa el código, realiza las pruebas técnicas y monitoriza el rendimiento de la aplicación.
Entonces dicho esto nos podemos preguntar, ¿Para qué medir la calidad de software?, Las organizaciones y personas que solicitan un desarrollo, invierten dinero esperando que la necesidad informática que ellos tienen sea satisfecha por el desarrollador, el cliente final por lo general sólo necesita que cumpla y funcione tal cual solicito, pero la empresa desarrolladora debe garantizar la calidad del producto y la calidad del proceso.
La calidad es sinónimo de eficiencia, confiabilidad, portabilidad, mantenibilidad, seguridad, etc. Debemos entender que la calidad de software es medible, pero esta medición varía según el desarrollo o la aplicación, hay software que solo necesitan ser ejecutados una vez y hay otros que son desarrollados para ser utilizado o ejecutado muchas veces por un largo periodo de tiempo, este ultimo necesita ser confiable y mantenible, esto hace que los costos para el cliente disminuyan en relación a estar adquiriendo cada determinado tiempo un software. Se puede medir la calidad de un software después de venido, pero esta no es la idea, pues si hay errores, esto llevará a costos adicionales, tiempo perdido, cliente insatisfecho etc.
El software de calidad conlleva a realizarles procedimientos para su análisis, diseño, programación y las respectivas pruebas de calidad, realizado esto podemos lograr mayor confiabilidad. Se utilizan políticas tecnológicas la cual define las técnicas que se deben utilizar en el proceso del desarrollo, luego viene las políticas administrativas, estas define la planificación y control del desarrollo del software y el ambiente o el centro en el cual será desarrollado y por último la política ergonómica la cual define la interfaz a utilizar entre el usuario y el ambiente. Cuando se adoptan estas políticas, estas ayudan a lograr un software de calidad, teniendo en cuenta que para asegurar el correcto funcionamiento de un producto, este debe ser sometido a controles constantemente.
Concluyendo para lograr el éxito en la producción de software es hacerlo con calidad y demostrar su buena calidad. Esto sólo es posible con la implantación de un Sistema para el Aseguramiento de la Calidad del Software directamente relacionado con la política establecida para su elaboración y que esté este con los estándares internacionales ISO de calidad ampliamente aceptada, y por los estándares del grupo ISO 9000.
Email: jorgeicm@misena.edu.co
jorge_icm@utp.edu.co
Facebook: George Carvajal MArin
Twitter: @GEORGECMARIN