Entry Date:
June 29, 2010

Project Sikuli Rethinks Programming

Principal Investigator Robert Miller


For as long as there have been computers, there has been coding. And with coding comes repetition -- lots of it. That's always been the basic fact of a programmer's existence, even as computers have become ever more friendly from a user's perspective. That's where Sikuli comes in. The latest from CSAIL's User Interface Design Group, it's a programming tool that has the ability to see like a human being. Not only does it put the graphical user interface (or GUI) in the hands of programmers, but it may one day put programming in the hands of everyday computer users.

Sikuli is a research project developed by User Interface Design Group, MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) and supported in part by the National Science Foundation under award number IIS-0447800 and by Quanta Computer as part of the TParty project. Sikuli Script and Sikuli IDE are both released under the MIT License.

The secret to Sikuli's appeal is how intuitive it is, something that has rarely if ever been true of programming before. When scripting, Sikuli allows you to write what look like function calls, except with screenshots between the parentheses instead of code.

Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. Sikuli Script automates anything you see on the screen without internal API's support. You can programmatically control a web page, a desktop application running on Windows/Linux/Mac OS X, or even an iphone application running in an emulator.

The project site is hosted on LaunchPad.