Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
GUI Programming Software

MIT Offers Picture-Centric Programming To the Masses With Sikuli 154

coondoggie writes "Computer users with rudimentary skills will be able to program via screen shots rather than lines of code with a new graphical scripting language called Sikuli that was devised at the Massachusetts Institute of Technology. With a basic understanding of Python, people can write programs that incorporate screen shots of graphical user interface (GUI) elements to automate computer work. One example given by the authors of a paper about Sikuli is a script that notifies a person when his bus is rounding the corner so he can leave in time to catch it." Here's a video demo of the technology, and a paper explaining the concept (PDF).
This discussion has been archived. No new comments can be posted.

MIT Offers Picture-Centric Programming To the Masses With Sikuli

Comments Filter:
  • Potential (Score:2, Insightful)

    by zero0ne ( 1309517 ) on Thursday January 21, 2010 @05:30PM (#30851804) Journal

    Especially for Testing your GUI.

    This seems like AutoIT but with image recognition (instead of having to input mouse coordinates).

  • by Anonymous Coward on Thursday January 21, 2010 @05:38PM (#30851964)

    "Computer users with rudimentary skills"..... "with a basic understanding of Python"?

  • by SmallFurryCreature ( 593017 ) on Thursday January 21, 2010 @05:52PM (#30852232) Journal

    From what I seen is this a macro program that can use screenshots rather then key/mouse data to automate tasks. So you PROGRAM your PC in the same way you PROGRAM a VCR to record a show. It is NOT the same as writing an application.

    But it seems very intresting once you got past this difference. Macro's are very handy for testing in my experience but often have a problem because a tiny mis-alignment can ruin it all. If this program is smarter because it can regonize where data is supposed to go... well that would certainly make automated tests a bit easier.

    Interesting stuff. Just don't think you will be writing software with this.

  • lame (Score:2, Insightful)

    by Charliemopps ( 1157495 ) on Thursday January 21, 2010 @06:10PM (#30852604)
    This is the same sort of scripting you can do with many already existing languages. Autohotkey for example. The only new feature would be the ability to copy the screenshot directly into the program as apposed to taking it outside the program and referencing the file directly. I'd say that this scripting language is actually weaker because of it. As far as using this inside a game... they are already hardened against this sort of thing. For example, next time you're in EVE look at the buttons you use. They are semi-transparent. This is not just for aesthetics. If you take a screenshot of the button, and then change your camera angle the button looks different because what's behind it is different. That doesn't mean you can't script inside EVE, you just have to be a lot more clever than using a script to click on a static image of the gui. This language would be almost completely useless in any GUI that has any transparency. Which I'd think would include Vista, Win7 and even Macs with the right stuff turned on.
  • Re:FrontPage? (Score:2, Insightful)

    by mustafap ( 452510 ) on Thursday January 21, 2010 @06:18PM (#30852726) Homepage

    >Do you want to democratize technology or just have it controlled by elites?

    Neither. I'd like to see people who wish to program, learn how to.

  • by Seor Jojoba ( 519752 ) on Thursday January 21, 2010 @06:40PM (#30853122) Homepage
    Come on, let's cut through the default Slashdot snark. The image capture aspect of Sikuli is brilliant! I don't like the tagline "program anything with Sikuli" because 99% of software should be written in something else. But think of writing test scripts that can use the image matching features. If the software works as advertised, then you could throw together UI test cases way faster than anything else I've seen. System administration tasks should be a good match too. The resulting code would be brittle and hard to maintain, but for quick one-off scripts, sure... I can see it.
  • by Anonymous Coward on Thursday January 21, 2010 @07:05PM (#30853508)
    This time for sure!
  • Re:FrontPage? (Score:5, Insightful)

    by BobMcD ( 601576 ) on Thursday January 21, 2010 @07:09PM (#30853586)

    Then we end up with Visual Basic(the birth of Visual Basic came with the motto "its so easy you know longer need programmers... managers can write the code"... that worked out well).

    From a business point of view, it actually did. People used VB, and particularly VB macros in Office, to do things that resulted in a lot of dollars flowing through a lot of organizations. Yes it did eventually need to be changed out, but in it's time, for it's purpose, you can't really fault it. It truly did work.

  • by tucuxi ( 1146347 ) on Thursday January 21, 2010 @08:12PM (#30854416)

    Sikuli is certainly not commercial-grade UI testing software. It was never intended to be, this is academic software written to explore ideas, rather than to polish them to perfection. Also, it is not a "general" programming language. The previous posters that compared it to video-programming are right: not all programs have to target complicated algorithms and data-structures, there is plenty of space for automating "simple stuff".

    As an idea, I find the readability of the code particularly interesting. Sikuli code is about the closest you can come to self-explanatory, step-by-step instructions on how to achieve whatever a particular program does. Add a few comments to the most arcane steps, publish those programs to an online repository, and presto! executable step-by-step tutorials.

    Yes, the developers may have to address the variability of themes on people's desktops. It is certainly possible to do so (for instance, by keeping a list of mappings from any of a set of "supported" themes to a "canonical" theme, which would be used in all examples), but, as far as ideas go, I really think that Sikuli is a very refreshing idea.

  • Re:FrontPage? (Score:3, Insightful)

    by AardvarkCelery ( 600124 ) on Thursday January 21, 2010 @10:58PM (#30855752)
    Yeah, that's real easy for a programmer to say. Ever used a brownie mix? I'll bet a pastry chef would say, "I'd like to see people who wish to bake brownies actually learn how to bake brownies properly." Tools like Sikuli are the programming equivalent to brownie mix. It's easy gratification. (... or at least easier than learning to capture part of the screen and then do fuzzy image pattern matching on it.) If I were a very casual, light duty programmer, this would be pretty helpful sometimes.
  • Re:FrontPage? (Score:2, Insightful)

    by MarbleMunkey ( 1495379 ) on Friday January 22, 2010 @10:50AM (#30859332)

    Just because code is text (and can be readily generated) doesn't mean that anyone with notepad should be able to write it.

    Wrong. It means exactly that. BASIC was a language meant to make it easier for people to program, and it was THE introduction to programming for many people. Now, am I arguing that BASIC is the right language for any given task? no. I haven't coded in BASIC for 15 years. But making the barrier to entry easier can only be a good thing for attracting new blood.

Truth is free, but information costs.