• May 14, 2013

As it stands, all Google Summer of Code 2013 proposals are in and we are busy digging in to them. Very happy with all the contributions people have made, we ended up with almost 70 applications this year so please sit tight as there are a lot of very talented people who have submitted proposals. We have been allocated our slots for students this summer, so please wait until the official Google announcement as we won’t be divulging any information beforehand.

As the summer moves along we plan on making many of the students do blog post on what they have been working on and get a lot of those changes into SimpleCV.

Another thing we want to mention is that there will be quite a few underlying changes to SimpleCV over the next few months. We’ve been gaining a lot of traction with the project which is awesome for the SimpleCV community, although sometimes not so awesome for the people that have to manage the codebase. As we move forward there are many plans to change the architecture of SimpleCV so that more people can contribute to it without having to have a single, monolithic codebase. When we started SimpleCV it was an internal tool to make using OpenCV, Scipy, Numpy, and many of the other existing awesome libraries out there just easier to use in general for Computer Vision, but now it seems there is a lot of interest in it.

A lot of the recent contributions we feel shouldn’t be in the core system of SimpleCV, yet should be accessible via the SimpleCV library as well as easy to use. For instance, features such as barcode reading and face recognition, although very useful, seems more of an application of computer vision rather than a fundamental tool that needs to be in the core of SimpleCV. So our plan for SimpleCV 2.0 is to move into a more modular system, where people can publish their own SimpleCV-related libraries using Python entry points. In this case it is a win-win for both developers as well as the SimpleCV community. A lot of other frameworks have already gone this route, from Drupal, Node.js, Ruby on Rails, Linux Kernel, Django, to ROS, and on, and on. These makes the library much more versatile and much easier to package and distribute to many various platforms (Windows, Mac, Linux, Raspberry Pi, etc). This also enables developers to build their own modules that just require SimpleCV as an underlying framework which you can expect to be stable and not change much. When releases will be made in the future, they will include the core SimpleCV framework as well as many of the modules we see fit for general purpose computer vision applications. There will also be plans to host links on the SimpleCV website to the various module github pages, and have sets of “meta-packages” which can bundle suites of tools. That way people can contribute their code, maintain it and not need to necessarily have it merged into the core system.

This transition won’t happen overnight and will require careful planning and execution. But we believe it will be worth it in the long run. As many of the latter projects mentioned have done this to their frameworks to make it more versatile we feel it is time for SimpleCV to make that leap. We will try to make everything as backward compatible as possible, but there are not guarantees. You can get a rough idea of the SimpleCV 2.0 planning roadmap here. We hope going forward that those that have contributed or want to contribute continue to do so and we can keep making the framework more awesome as well as versatile. Any type of contribution to SimpleCV is appreciated, especially on places like the forums, and the issues queue.

Thanks to everyone who has helped contribute to SimpleCV this far. We plan to have a great summer ahead with the Google Summer of Code program as well as the move to SimpleCV 2.0. Keep checking the blog, or social media channels (g+, facebook, twitter), for updates.