Un nuevo sistema permitirá programar mediante capturas de pantalla
El proyecto facilitará la combinación de programas informáticos sólo a través de sus interfaces gráficas de usuario
Una nueva investigación del Instituto Tecnológico de Massachusetts (MIT) abre camino a la programación informática a partir de la interpretación gráfica de la pantalla del ordenador, lo que, en última instancia, podría permitir a un usuario estándar crear aplicaciones sin el dominio de ningún lenguaje informático. Por Elena Higueras.
Investigadores del Laboratorio de Informática e Inteligencia Artificial del Instituto Tecnológico de Massachusetts, MIT, han desarrollado un sistema que posibilita la creación de programas informáticos usando las capturas de pantalla de las interfaces gráficas de usuario, sin necesidad de conocer exhaustivamente ningún código de programación, según publica el MIT en un comunicado.
Este nuevo sistema, al que han bautizado como Sikuli ("ojo de Dios" en la lengua de los indios huicholes de México), se basa en el uso de la llamada interfaz gráfica de usuario, conocida también como GUI (graphical user interface), un tipo de interfaz formada por un conjunto de imágenes y objetos gráficos que representan la información y las acciones de las que el usuario se puede valer para interactuar con su computadora.
Su objetivo es facilitar la creación de “scripts”, programas cortos que combinan o amplían la funcionalidad de otros programas, sin que sea necesario conocer el código propio de cada uno de ellos. Gracias a Sikuli, el usuario que desee utilizar las funcionalidades de cada uno de los “scripts” con los que trabaja, sólo tendrá que capturar la imagen de la pantalla de su ordenador e insertarla directamente en una línea de código basado en Python. Éste es el único lenguaje de programación con el que el usuario debe estar mínimamente familiarizado.
Imagen en lugar de código
El desconocimiento de diversos lenguajes de programación no solo no dificulta el trabajo del usuario sino que además es una particularidad compartida con el propio sistema del MIT, que tampoco necesita saber nada sobre el código subyacente de una interfaz de usuario. En su lugar, utiliza algoritmos de visión por ordenador para analizar lo que está sucediendo en la pantalla.
Uno de los “padres” del invento, Rob Miller, compara su funcionamiento con nuestro modo de ver cuando afirma que “Sikuli es un software que ve en la pantalla de la misma forma en que lo hacen los seres humanos”, es decir, no necesita traducir entre distintos formatos de archivo o de lenguajes de programación porque, “como un hombre, sólo tiene que mirar a los píxeles en la pantalla”.
Para entender mejor cómo funciona este sistema, la web del MIT pone como ejemplo el siguiente caso práctico. Imaginemos que un usuario de Python quiere crear un programa que genere un mensaje automático en su móvil cada vez que el autobús que le lleva al trabajo pase por un punto determinado. Si la web de transporte dispone de un mapa de Google en el que se muestre cómo avanza el autobús, el usuario puede programar que el mensaje de aviso le llegue cuando el vehículo se encuentre en un área del mapa precisa. En lugar de especificar las coordenadas geográficas de la zona en cuestión, bastará con que introduzca capturas de pantalla en una secuencia de comandos de Python.
Futuras aplicaciones
El sistema, desarrollado en colaboración con la Universidad de Maryland, tiene un enorme potencial de uso en el que siguen trabajando sus creadores. Tanto es así que la próxima primavera presentarán una nueva aplicación de Sikuli en la conferencia CHI 2009, sobre interacciones hombre-máquina.
Se trata de una herramienta orientada a solucionar los problemas de funcionamiento que se repiten con frecuencia en los procesos de creación de los grandes proyectos de desarrollo de software. En estos trabajos, el nuevo código se acumula cada día y cualquier fallo en las líneas generadas podría causar errores en la interfaz gráfica de usuario. Para evitarlos, lo ideal sería que se pudiese comprobar toda la aplicación haciendo clic en los botones virtuales para asegurarse de que las ventanas e iconos aún emergen correctamente. Sin embargo, esto suele llevar tanto tiempo que al final se opta por realizar pruebas de calidad al término del proceso de creación del software.
Con la nueva aplicación de Sikuli, los programadores podrán generar secuencias de comandos que automáticamente comprueben todos los componentes de una interfaz gráfica de usuario a través de una especificación visual. Esto facilitaría notablemente la tarea de escritura de estos comandos, que una vez creados, se podrán ejecutar cada noche, sin ninguna otra modificación.