Google Summer of Code Wrap up: Catrobat

Friday, February 13, 2015

Today’s Google Summer of Code wrap up comes from Stefan Jaindl at the Catrobat Project, creators of the Catrobat visual programming language that makes mobile development accessible to kids.

The Catrobat Project has participated in the last four Google Summer of Code (GSoC) programmes since 2011. During these years, we have built a strong community with local and international students and received valuable contributions to our codebase. This year, we mentored seven students with great projects. We’d like to highlight a few of those projects.

Pocket Code is our Android app for creating and running programs written in Catrobat. Before GSoC 2014, it wasn’t possible to create a standalone APK from a Pocket Code program without some serious hacking. Roland Urbano created Gradle build automation tasks for Pocket Code, extended our Jenkins-CI platform to automatically build standalone APKs, and wrote appropriate tests. Users can now upload a program and request conversion into an APK, and we manually approve these requests and make the automatic conversion. Roland has continued working on the project after the summer and is adding more features.

The ScratchToCatrobat converter is one of our most important undertakings and exists to fill the gap between the well known Scratch system and our Pocket Code project. It empowers kids to run their self-made Scratch projects on their own phone. We had begun development of the converter prior to GSoC 2014, but thanks to Christian Wutte’s GSoC project we’re much closer to a "feature complete" stage. Christian further developed and adapted the converter to support many of our newer Pocket Code bricks (called blocks in Scratch) and formula operators (used in conditional blocks, e.g., if-bricks). The converter is still in alpha and not yet publicly available, but we look forward to sharing it in the future.

One common programming feature which wasn’t supported in the Catrobat language was support for lists. Bernhard Spitzer spent the summer building support into the Pocket Code IDE for creating lists and performing basic operations on them (e.g. add, insert, delete, replace list item). He also added list functions (e.g. number of list-elements, contain certain list-value, returning of a list item) to the Formula Editor. These are now available as bricks which users can add to their Catrobat programs and it brings us closer to feature parity with Scratch.

All seven of our students successfully completed the GSoC 2014 programme and delivered valuable results. We also want to give thanks for the great Google Summer of Code Reunion this year with very interesting unconference sessions, the trip to the Google Campus, the awesome dinner and other happenings such as the evening at the museum. It was definitely a great opportunity to get in touch with other Open Source projects.

By Stefan Jaindl, Catrobat Organization Admin