Is Sikuli development dead or what?

Asked by HAL-9000

Hey all,

I've used Sikuli for some time and have automated a lot of mobile stuff with it. The WYSIWYG-ness of the thing can't be beat, and its ability to pick out changes in graphics is handy with our manic designers where I work.

But I've noticed Sikuli hasn't had a new release in more than a year. I've reached out to the MIT guys who maintain it but have not received a reply back. Essentially, I'm beginning to wonder if my continuous investment of time and effort in making all these Sikuli scripts is going to bite me when it suddenly stops working with the next OS patch (or whatever...it is quite a daisy chain of tech), leaving me high and dry.

Does anyone know what the future or roadmap of this neat product is?

Question information

Language:
English Edit question
Status:
Solved
For:
SikuliX Edit question
Assignee:
No assignee Edit question
Solved by:
RaiMan
Solved:
Last query:
Last reply:
Revision history for this message
ABET (abetv) said :
#1

here. here. I too am wondering if there will be any new updates on this great tool.

Revision history for this message
Best RaiMan (raimund-hocke) said :
#2

--- Sikuli development dead?
Not really, but it definitely is currently in a comatose condition.

Sean (Tsung-Hsiang Chang aka vgod) after his recent graduation currently has other priorities (the last 2 years he was the only real Sikuli developer)

Tom Yeh has left MIT and is busy with a leading position at another university. A few month ago he restarted the development of a totally new Sikuli (only on the Java level, not compatible with what we currently know as Sikuli and no Python support). But the project pages simply vanished from the net without any comment.

----------------
I'm beginning to wonder if my continuous investment of time and effort in making all these Sikuli scripts is going to bite me when it suddenly stops working with the next OS patch (or whatever...it is quite a daisy chain of tech), leaving me high and dry.
----------------
I understand this, but we should not be too scared about that.
I really believe: running scripts based on the latest version of Sikuli will do their job for enough time in the future, at least for Mac and Windows (new versions of Linux always have been a problem in the past and currently are (see Ubuntu 12), since you have to setup the prereqs (OpenCV, Tesseract, ...) yourself).

The near future (at least 2 years) we will not have any problems
- already tested on Windows 8 - works
- it is running on Mac 10.8 (Mountain Lion)

The changes we already faced:
--- Java 7
not really a big problem. Some minor adaptions and it works (see faq 1958)
But since it is possible, to have JRE6 in parallel on your machine and only use it for Sikuli, this is not really a problem.

--- OpenCV 2.4 (the base for image searching)
the current bundled versions (Windows, Mac) still use 2.1 and this works.
With some minor adaptions it can be built with 2.4 and works.

--- Tesseract 3.0 (the base for OCR and text search)
The current Version comes with and needs Tesseract 2.
For Tessearct itself, the step to version 3 is a big step and needs major changes in Sikuli (there is already a development branch for this).
So it is not trivial (but possible: there are some Linux guys, who didi it), to build Sikuli with Tesseract 3. On the other hand: without using the additional possibilities of Tesseract 3, there really is no need to upgrade.

*** So what is left currently
--- There are some weird bugs, mainly in the IDE, that I think we can live with (if you use Sikuli for more than some private automation, you will use another IDE like Eclipse, Netbeans, ... anyway (to at least have a debugging feature).
--- For the basic features of Sikuli (support to run Sikuli scripts and using the API in Java) there are some minor bugs (the most of them have workarounds) and surely many feature requests (that one could rather easy implement on the Java level, if really needed).

*** CONCLUSION
Be happy with Sikuli, if you really like it (that is rather easy ;-) and do not panic.

*** ONE MORE THING
I just started to revise the Sikuli sources using NetBeans 7.2 (Java 6) on my Mac.

my goals for using Sikuli:
Part 1 (on Mac)
- reduce it to the really needed basic features and goodies that really work
- make it lean and robust, so it comes into a shape, that it can be further developed
  (see https://blueprints.launchpad.net/sikuli/+spec/sikuli-revise-api-and-structure)
- revise the system specific interfaces
- revise and augment the logging feature
- fix some major bugs (I will not touch the OCR/searchText area currently, but isolate it better)
- implement some requests, that fit with what i am already revising
- get it working with Java 7 AND Java 6
- make it working with OpenCV 2.4 and Tesseract 3 (without adding features)
- assure, that everything still works, that works with X-1.0rc3-r930
Part 2:
- Get it working on Windows 8 and Ubuntu 12 using Netbeans
- get the whole stuff into one makeSikuli.jar for all systems, so you just run that, and get a working environment on your system

my goals for developing Sikuli:
Part 3:
- major: revise, cluster and prioritize the bugs and requests
- major: revise the tests for Sikuli IDE and sikuli-script
- major: revise and complete the JavaDocs
- minor: based on the Netbeans build.xml make Ant scripts and use Maven, that allow to build Sikuli without having Netbeans

I am sure, that I will complete Part 1 and at least Part 2 for Windows until end of November.
When I have the structure and content of the sources ready, I will setup a project on GitHub.
This will include a downloadable and installable version for Mac and Windows (not necessarily the makeSikuli.jar).

On that way, I will try to have a an eye on, that it might be possible to get it working on native Android, since we have Java and OpenCV there already, but without the OCR/textSearch (Tesseract not yet available)

I will make that a faq.

Revision history for this message
RaiMan (raimund-hocke) said :
#3

@ ABET
you might be already notified, since I added you as subscriber

Revision history for this message
RaiMan (raimund-hocke) said :
#4

RaiMan suggests this article as an answer to your question:
FAQ #2106: “Staus of Sikuli development --- we are waiting for a new version”.

Revision history for this message
HAL-9000 (coldlogic) said :
#5

Thanks RaiMan, that solved my question.

Revision history for this message
HAL-9000 (coldlogic) said :
#6

Wow. Thanks RaiMan. I see your name all over Launchpad with Sikuli stuff. From best I can tell, looks like you're kind of the product-owner in so much as there is one these days. Sikuli is an awesome tool and if you need any help maintaining stuff or pursuing your own roadmap there, I might be able to help.

Thanks again!

Revision history for this message
Michael A. Phillips (maphilli14) said :
#7

I hope to continue using this tool as long as possible and am surprised that more people are not contributing.

Revision history for this message
RaiMan (raimund-hocke) said :
#8

@ Michael
--- surprised that more people are not contributing.
Over the last 2 -3 years many people have indeed contributed, by asking questions and requesting new or revised features. Many bugs have been revealed by people, who did not stop at the first problem, but tried to find workarounds. This now really helps me on my way, to revise and optimize the Sikuli X 1.0.

Contributing on the code level was really very complex, since the code internally is not well structured and poorly documented. It was really hard to find a place to add a feature or propose a fix, because you would never know, how it might influence other areas, after having had much effort, to first find the place, where you could add something or fix it.

And with a software like this, it is a hard job, to assure, that a fix works across windows/mac/linux.

I am on a good way to restructure the whole stuff and add documentation on the code level (javadocs). And I will try to revive the extension feature, so it allows to easily add new functions and/or extend existing ones, without having to rebuild the whole system.

It might be easier for people to contribute on a plugin/addon level based on some rules/interfaces without needing to know, how it really works internally.

I am in contact with the developers on all this and Tom has already made the first steps in a new direction (new Sikuli written completely in Java).
There is a new online umbrella for both versions (Sikuli Script (Sikuli X-1.0) and the new Sikuli Java API)
http://lab.sikuli.org
and the homepage for Sikuli Script (still http://sikuli.org) has been renewed.

If you want to watch my own work: https://github.com/RaiMan/Sikuli12.11

Revision history for this message
j (j-the-k) said :
#9

Yeah, I have tried and am still trying to fully understand the internal functionality of sikuli-script.
As RaiMan said this is hard because it is a) not well documented, b) all together written in 3 different languages, c) uses third party libraries like opencv/tesseract which are not that easy to understand themselves.

@RaiMan there is very few info about the java-only-sikuli-api, can you tell more about it? Is the Jython-support and IDE completely abandoned? Is there a plan, how good it works already and when it will be fully functional?

And great work with the reconstruction job, can you please tell when your sikuli is ready to use?
I would also be interested in contributing to your work but I don't know if I have the skills and/or time to.

Revision history for this message
RaiMan (raimund-hocke) said :
#10

@ j-the-k
--- info about the java-only-sikuli-api ...
... all that is available you find following the link "Sikuli Java API" at http://lab.sikuli.org/
The plans are to create a (currently with Sikuli Script not compatible API), that allows others to create wrappers in Java aware script languages like Jython, JRuby, Scala or even Clojure. When the new API is stable, we will refactor Sikuli Script, to use it internally (e.g. get rid of native OpenCV). There are also plans for a new IDE, but as far as I know Tom, this will something totally different from what we now know as Sikuli IDE ;-)

--- my plans
I plan to have a new version of Sikuli Script (which is fully compatible) ready at end of November. Many current bugs will be fixed especially with the IDE and the top level API, and many enhancements to make things easier and less complex. I will not touch the native layer fundamentally in the first run (only bugs that are obvious). But I want to have it with OpenCV 2.4 and Tesseract 3. It will be useable on Windows and Mac with Java 6 or 7. Wether the new version will be tested on Linux (Ubuntu 12.10) I cannot promise.

If you want to do something, that helps me:
Have a look at the READ.ME at https://github.com/RaiMan/Sikuli12.11 from time to time (e.g. once a week), I will now start to document, what I have fixed, changed and added. Same goes for the zipped javadoc, that should give a good impression whats going on on the Sikuli Script API level.
Pls. feel free, to leave any comments there.