If you are doing some computational tasks on a routine basis here is something for you – Sikuli. Sikuli was developed by MIT’s Human Computer Interaction laboratory. It allows you to automate computational tasks that you have to repeat. And the interesting factor is that it is designed for those users who are not much skilled in programming. This is edition of techblog is dedicated entirely for this project.
How it works?
All you need to do is to take screenshots and ‘tell the system’ what to do. Let me explain this with the help of an example:
Assume that you need to configure your internet connection (say, you want to edit your internet settings manually). As we need a task that we need to repeat, let’s take it for granted that we need to do this task on a routine basis.
In this case, you can write a simple ‘program’ for doing this. First line of the program is to select the application:
switchApp(“Type the installation location of the program”)
In our case it will be
switchApp(SystemAdministrator)
(Please note that this is a custom application and you need to edit this in your case). Then I need to choose the option ‘Network’ and then click on ‘Ethernet’. If you are using a conventional programming language then, for every beginner, this is a hard thing to do. But this is very simple in Sikuli.
All you need to do is to type:
click (paste the screenshot here)
And you need to paste the screenshot instead of the text given in red. See the image shown below:
By pressing the button ‘Shift + up key’ allows you to take screenshots. You can simply paste the copied screenshot to the Sikuli window (IDE).
Then I can select more option like ‘Manual’ from the drop down list. This will show me a set of text areas where I can enter the values. I can enter the values by adding the line
type (“Your text \t”)
The final ‘program’ will look like this:
That’s it.
Save it as a Sikuli file. You can run this file whenever you want to repeat this task.
Applications:
The above case is a very simplified one. But there are various occasions where you could actually use this.
- Assume that you are going to install a complex software in some 100 computers. You can actually automate the process by writing a program using Sikuli (Of course, in this case your path to the program will be the CD drive). This will also enable you to install all the 100 copies in parallel, if you have copied it to each computer
- When you are installing a solution developed by your company in the computers of different firms, you can this. You don’t have to send an expert in this case. You can just send the CD and ask them to run the Sikuli script. It will do the installation.
- Sikuli supports Python modules. You can have a module to generate a random time and a random quote, then you can update your facebook status automatically! (Remember that Sikuli supports all applications – which means that you can even use this for web based applications)
And many more ……..
Sikuli is currently available only for Windows and Mac systems.




Join Techblog
Facebook Group
Read
Digg entries
Add techblog to
Google reader