It is amazing as its a paradigm shift in the way we can code interactions with any GUI. It enables programming using GUI screenshots rather than lines of code.
As the article on MIT site says : A programmer using Sikuli doesn’t need to know anything about the code underlying a GUI. Infact even Sikuli doesn’t know anything about it, either. Instead, it uses computer vision algorithms to analyze what’s happening on-screen. “It’s a software agent that looks at the screen the way humans do.
Lets take the example of a weather map maintained by some Meteriological deparment, which specifies with a certain color (say dark gray) that it is going to rain in a particular region. A programmer using Sikuli can actually specify that a message should be sent to him mobile when the particular region changes to the rain colors. Instead of using language (as in terminology) to describe the color or the region, the programmer can simply plug screen shots into the script: when this (the region) becomes this color (the color of rain, dark gray), send me a text message. This is a hypothetical scenario i could think about similar to the bus example that is present on the Sikuli website.
Sekuli looks for the targets that receive the commands on the screen using a ‘computer vision engine’ that finds the best matching region. The script is based on Jython, a Python implementation on Java VM so you can use virtually any Python module with it. So there is a learning curve, but a basic understanding of Python is probably all that’s required.
The first release of Sikuli contains 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.
Downloads: Sikuli related downloads are available here