Feb
6
2010

Automate Your Workflow with Sikuli

Posted by at

I think things such as Applescript and Automator scare a lot of people. While it’s an easy language, the Average Joe does not want to learn how to program. Personally I stayed away from those things for a long time, but have recently adopted them into my workflow once I made up my mind to just do it. Still, it took a weekend of reading and a week of just messing around to get comfortable going pro so to speak. Sikuli takes the idea of Automated workflows and makes it available for regular people. While it’s a simple screenshot app in it’s most basic form, more advanced users can add a ton of functionality.

It’s hard to argue that Sikuli, an MIT project, can turn the Average Joe into a geek guru, but it’s definitely a lot simpler to pick up if you’re wanting to accomplish relatively simple tasks. I spent an afternoon with it, and was able to utilize most functions within a few hours.

The Sikuli IDE is relatively simple in design. The IDE features five buttons in the toolbar, three of which are snapshot buttons. The other two, run buttons, allow you to run your functions as is or step through your Sikuli Script one line at a time.

Pressing the camera button will allow you to take a snapshot of an element on screen. You simply drag a box around whatever element (in any window) you’d like to click, and then that image appears in your console. It’s kind of weird seeing pictures in a console, but if you wrap it in click(), then Sikuli will recognize it as a command to click that object. Using this piece of code alone, you could make a fully automated workflow as long as you weren’t dealing with sliders or anything too complex.

I’m not going to go through all the commands, but for an easy reference you can find them all here. There are dozens of demos on Sikuli’s website for you pick through – most are super easy and will take only five minutes to build.

I think it’s a great tool to expand upon previous workflows. I know for example a lot of people (like the MacGeekGab podcasters) use Apple’s tools to fully automate the upload of their popular shows. Some tasks aren’t so easy to pull off in code alone (such as highlighting a particular text box or pressing a certain button), so you could call a Sikuli Script from your previous scripts to extend functionality. I think crafty users could create a killer combination of these things that’ll significantly make their day easier and reduce the actual need to do repetitive tasks.

On the other hand, Sikuli doesn’t perform actions instantly. Instead, it’s rather slow in execution as it thinks about where that “image” is located before performing an action with it. Also, being a beta product it’s exceptionally buggy, and I’ve unfortunately run into many occasions where I’d get an all black screen that I couldn’t exit out of. Sadly I had to manually reboot the machine via power button. When it works, it works great. When the app does something strange, it’s usually not good. So use with caution.

I think those who live on the edge of adventure and who would love to get their hands on something this simple will be a 100% satisfied. Being free, there’s no reason not to give Sikuli a whirl. Sikuli’s website and Google are excellent references to everything it can provide you, and if you don’t mind giving it an hour or so to sink in, you’ll be glad you did.

• You should follow the author on Twitter here.