Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Eugenio Jacobo Hernndez Valdelamar Fundacin Arturo Rosenblueth. Insurgentes Sur 670-3. Colonia del Valle. CP 03100. Mxico, D.F., Mxico. jack@mail.rosenblueth.mx , jack_hv@yahoo.com
Resumen. La manera en que los usuarios de computadoras interactan con sus aplicaciones es uno de los tpicos ms interesantes en el rea de computacin. Muchos de los avances podemos verlos plasmados en los sistemas operativos que usamos a diario, pero an queda mucho por hacer, por lo que se plantean en este trabajo los antecedentes de las interfaces de usuario existentes y se presentan algunas consideraciones para el diseo de estos subsistemas de los sistemas operativos. Palabras clave: sistemas operativos, interaccin hombre-mquina, interfaz de usuario, interfaz grfica de usuario.
2. Interaccin humano-computadora
La interaccin humano-computadora (HCI) es la disciplina relacionada con el estudio, diseo, construccin e implementacin de sistemas de cmputo interactivos centrados en el usuario. HCI va ms all de disear pantallas o mens que sean ms fciles de usar (usabilidad), pues estudia el razonamiento que implica construir determinada funcionalidad en las computadoras y sus efectos a largo plazo que estos sistemas tienen
en los humanos. Una de las principales actividades en esta rea, es el desarrollo de nuevos sistemas de interfaz para el usuario, lo que implica desarrollar nuevos dispositivos de interfaz, nuevas tcnicas de graficacin por computadora y tcnicas de dilogo [1]. Una interfaz de usuario es un medio para que el usuario interacte con la computadora. Este medio se constituye tanto de software como de hardware. Aunque las interfaces de usuario pueden adoptar diversas formas, sus objetivos fundamentales son: comunicar informacin de la mquina al usuario y comunicar informacin del usuario a la mquina. Douglas Engelbart fue el pionero en esta rea, pues plante una visin en la que las computadoras fueran extensiones de las capacidades de comunicacin del ser humano y fueran un recurso para aumentar el intelecto humano [2]. l, junto con un grupo de jvenes investigadores en el Instituto de Investigacin de Stanford (SRI) desarrollaron el ratn, el concepto de hipermedia, la interfaz de ventanas y la teleconferencia. La importancia de las interfaces de usuario es muy trascendente no solo para el usuario convencional, sino para los usuarios con discapacidades, pues para hacer la tecnologa accesible para ellos, deben contemplarse nuevos dispositivos y aplicaciones que les permitan usar la computadora.
usa en su trabajo diario. Este tipo de interfaz grfica de usuario usa iconos y mens para realizar comandos tales como abrir archivos o ejecutar aplicaciones. Algunos de los componentes grficos comunes en este tipo de interfaces son: Apuntador. Es un smbolo que aparece en la pantalla y que se desplaza para seleccionar objetos y comandos. Dispositivo apuntador. Un dispositivo como el ratn que permite seleccionar objetos de la pantalla. Iconos. Pequeas imgenes que representan comandos, archivos o ventanas. Mens. Opciones o comandos agrupados en forma de listas. Ventanas. Son reas que dividen la pantalla, y en cada una de ellas puede ejecutarse un programa o abrir un archivo diferente. Escritorio. Es el rea de la pantalla donde los iconos son agrupados. Adems de sus componentes grficos, la interfaz debe permitir mover datos de una aplicacin a otra. Una buena GUI debe incluir formatos estndar para representar texto y grficos, lo que permite que las aplicaciones puedan compartir sus contenidos (p.ej. llevar un grfico de una hoja de clculo a un procesador de palabras). Una arquitectura que es comnmente usada para el desarrollo de la GUI es el patrn modelo-vistacontrolador (MVC), que permite separar los componentes grficos, el control de los dispositivos perifricos y eventos, y sus efectos en el modelo (fig. 1).
Fig. 1. Patrn MVC como base de una GUI En este esquema las aplicaciones usan los elementos del GUI que proporciona el sistema operativo, y es posible agregar elementos grficos adicionales. Tmese como ejemplo el caso de Java donde se tiene un marco de trabajo llamado Swing que permite la programacin de interfaces de usuario. Cada sistema operativo tiene su propia arquitectura de GUI, pues sistemas como BeOS o el Mac OS X, orientados a diseadores y artistas grficos, hacen un uso intensivo de las capacidades grficas de la computadora, por lo que debe optimizar el uso de estos recursos. Una tendencia adicional es la personalizacin del diseo grfico de los elementos de la interfaz grfica. Para ello se ha introducido el concepto de tema, donde existe una separacin en el trabajo de los diseadores grficos y los programadores [4]. De esta manera, pueden cambiarse el diseo y distribucin de los controles sin tener que recompilar el cdigo encargado del GUI (fig. 2)
5. Interfaces alternativas
En un futuro la forma de interaccin de los humanos con las computadoras cambiar de forma radical. Al aumentar el poder de cmputo, formas de interaccin planteadas como futuristas se estn haciendo realidad. Algunos ejemplos de esto son: Una interfaz de usuario basada en el habla (speech user interface - SUI) es aquella que soporta un dilogo interactivo entre el usuario y una aplicacin de software, ofreciendo una forma de interaccin ms natural para el usuario. Un escenario propicio para este tipo de interfaces es el de dispositivos mviles, en especifico plataformas como el Auto-PC [8]. En donde se requiere que el usuario tenga desocupadas las manos para manejar. Los dispositivos de interfaz neuronal (Neural Interface Devices) [7] permiten a los usuarios aprovechar las seales elctricas generadas por sus cuerpos para controlar una computadora o dispositivos elctricos conectados a ella. Las seales pueden adquirirse de forma directa o indirecta. Los mtodos directos implican implantes quirrgicos en el cuerpo del usuario. El implante puede localizarse en el cerebro o en algn miembro amputado, dependiendo de la aplicacin. Este tipo de tecnologa an est en desarrollo. Los mtodos indirectos de obtencin de seales no requieren ciruga. Estas seales neuronales indirectas pueden obtenerse de los msculos (EMG), movimiento de los ojos (EOG) o de las ondas cerebrales (EEG). Despus de que las seales elctricas se obtienen del cuerpo se amplifican, y se traducen en su equivalente digital para que el software pueda interpretar las seales. Dicho software permite a los usuarios controlar un cursor, jugar videojuegos especialmente diseados o controlar otros dispositivos conectados a la computadora.
Despus de codificar la aplicacin, se procede a la etapa de pruebas. Existe una tcnica especfica llamada pruebas de usabilidad que puede validar el diseo de la interfaz y revelar reas que requieran refinamiento. La idea bsica es observar a los usuarios mientras operan la interfaz. Previamente se les debe capacitar para que puedan verbalizar sus pensamientos y acciones mientras los realizan. Por ejemplo, un usuario podra narrar algo como lo siguiente: "Quiero encontrar un archive de texto con mis notas. Veo un botn que dice Archivos, pero no se si es para crear o para buscar archivos". Comprendiendo que es lo que estn pensando los sujetos de prueba es posible detectar problemas de comprensin o uso de la interfaz de usuario. En el contexto de los sistemas operativos, sobre todo de los de uso general, dichas interfaces deben implementar una metfora del espacio de trabajo y sus correspondientes elementos de diseo, as como contemplar los dispositivos con que la computadora podr contar, lo que lleva al desarrollo de: Controladores para dispositivos de interfaz (Ratn, visores, tarjetas grficas, cmaras, etc.) APIs de interfaz de usuario (GUI, SUI, etc.) APIs de graficacin (2D, 3D, etc.) Ambientes de trabajo (modo texto o grficos) Herramientas para diseo de aplicaciones con interfaz de usuario Un ejemplo palpable de este enfoque es la arquitectura del Mac OS X. Como soporte se tiene un microkernel muy potente (Darwin), sobre el que se monta la capa del sistema de grficos que integra 3 tecnologas [6]: Quartz, que es un servidor de ventanas y un motor de despliegue grfico bidimensional que define las formas en trminos de sus componentes vectoriales, y que usa como lenguaje grfico de representacin interna el estndar PDF (Portable Document Format). OpenGL, que es el estndar para grficos tridimensionales. QuickTime, que es una tecnologa multimedia que permite la manipulacin de imgenes, sonidos, texto, msica, animacin y hasta realidad virtual. Aqua es la interfaz grfica de usuario de este sistema operativo, que integra la apariencia y comportamiento de la interfaz, que basa mucha de su funcionalidad grfica en las capacidades de Quartz. Estas tecnologas de manipulacin grfica, en combinacin con las interfaces de programacin Carbon, Cocoa (Java/Objective C), Java y el soporte de UNIX, permiten el desarrollo de aplicaciones con interfaz grfica de usuario en diversas plataformas. Todo esto queda plasmado en el trmino definido por Apple como experiencia del usuario (User Experience) el cul abarca la apariencia visual, comportamiento interactivo, y capacidades asistivas del software. Todo este soporte debe ser considerado por quien desarrolle un sistema operativo, pues esta infraestructura representa una ventaja competitiva si se quiere que el SO sea adoptado por el mayor numero de usuarios posible, y sobre todo si se quiere que las comunidades de desarrolladores produzcan aplicaciones en la nueva plataforma. Incluso aunque la parte de interfaz de usuario este contemplada en el diseo del SO, puede que su implementacin no sea del gusto de los desarrolladores, o que por estar implementada en un lenguaje estructurado, si se requiere desarrollar con orientacin a objetos existan problemas de compatibilidad. Estos escenarios pueden provocar de nuevo que algunos desarrolladores prefieran programar sus propias APIs.
6. Conclusiones
La forma en que interactuamos con las computadoras est por cambiar, pues toda una nueva generacin de dispositivos est apareciendo en el mercado. Desde los dispositivos mviles (PDAs y telfonos celulares) que implican restricciones en las regiones de despliegue rpido y uso racional del ancho de banda, aparatos electrodomsticos, nuevos diseos de computadoras personales (p.ej. Tablet PC) y paradigmas como el cmputo ubicuo, todos implican el desarrollo de nuevas formas de interaccin. Dichos desarrollos no solo dependen de nuevas libreras de manejo de grficos, sino de una nueva infraestructura de comunicaciones, conectividad y dispositivos de interfaz que provocarn una ampliacin en nuestras capacidades de comunicacin y percepcin. Esto lo que implica es el desarrollo de nuevo hardware, software y adems probar intensivamente no solo el funcionamiento de las nuevas interfaces, sino de sus efectos en los usuarios [9].
Referencias
[1] ACM SIGCHI Curricula for Human-Computer Interaction. http://sigchi.org/cdg/index.html [2] Mouse Site. http://sloan.stanford.edu/MouseSite/ [3] GUI Webopedia.
http://www.webopedia.com/TERM/G/Graphical_User_Interface_GUI.html
[4] WCEfA. Using Automotive Graphical User Interface. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/apcguide/htm/acc_guide_1.asp [5] User Interface Design http://cfg.cit.cornell.edu/cfg/design/contents.html . Common Front John Group. Siracusa. devices.
[6] Mac OS X Update: Quartz & Aqua. http://www.arstechnica.com/reviews/1q00/macos-x-gui/macos-x-gui-1.html [7] ATRC Neural http://www.utoronto.ca/atrc/reference/tech/neuralinterface.html [8] WCEfA. Using Automotive Speech Architecture. http://msdn.microsoft.com/library/default.asp?url=/library/enus/apcguide/htm/spc_overview_1.asp interface
[9] Diseo y simulacin de sistemas operativos. Eugenio Jacobo Hernndez Valdelamar. Tesis MCC. Fundacin Arturo Rosenblueth . 2003.