Experiencing Catrobat during Google Code-in 2017

Google Code-in and the Google Code-in logo are trademarks of Google Inc.

Today is one of the final days of this years Google Code-in, and it have been quite the wild ride I’ll say. Let’s dial back and walk through all that have happened in the 49 days that have wafted through like it was nothing.

What is Google Code-in?

Google Code-In or GCI for short is a contest to introduce pre-university students (ages 13–17) to open source software development. The contest started on November 28, 2017 and will end on January 17, 2018. GCI have been going on for 8 years now and the Grand Prize Winner (GPW) from each organization will earn a trip to Google’s Headquarters located in Mountain View, California.

Last year I manage to get in the top ten spot in the Wikimedia leaderboard after three month of training through Besut Kode Indonesia. This year after a lot of consideration I decided that Catrobat was the organization that I was interested in contributing.

Look at me so dorky last year

Why Catrobat?

Before the start of this year Google Code-in I was really sure on what organization that I was going to join, Wikimedia. Why? Because of the experience I had from last year working in Wikimedia, I feel like I would have a better chance of winning this year. But while browsing the organization list Catrobat caught my eye because it seems like something I would like to use on a daily basis.

Now a bit of background, I don’t do much coding and I’m not that good at it, not as good as my friends anyway. But I do know one thing about coding and that it’s really a really important thing to learn programming as it teaches critical thinking and builds interest which might one day translate into them actually working in the industry.

Seeing as how it aligns quite well with my plans of teaching young kids how to code, I decided right away that choosing Catrobat as my organization choice was the way to go. Let’s see what I got up to in Catrobat.

Catrobat Tasks

Catrobat the organization has two main apps that they are developing, Pocket Code and Pocket Paint.

  • Pocket Code allows to create and execute Catrobat programs on Android and iOS smartphones as well as on HTML5 capable mobile browsers. It is inspired by the Scratch programming system developed by the Lifelong Kindergarten Group at the MIT Media Lab.
  • Pocket Paint is a fully fledged image editor companion app to Pocket Code that allows the user to edit and create images used in Pocket Code. It is integrated into Pocket Code but can also be used on its own.

Unlike other organization in Google Code-in, Catrobat tasks are mostly Game Creation tasks using their signature app Pocket Code. The other few non game creation task was tasks such as Bug Reports, Design, and Outreach.

Game Creation

The main bulk of the task available in Catrobat was game creation tasks using Pocket Code. Most of these task are simple 3 days task to create an “Educational” game of a certain genre. There’s task for Adventure, Action, Racing, Quiz, and all sort of genres. There was also more specialized game creation task that focus on a certain features that is available using Pocket Code such as Chromcast, Phiro Pro and Raspberry Pi.

When I decided to choose Catrobat, the first thing I want to do is to find easy tasks that would allow me to experiment and learn the platform, Pocket Code. The first task I did was to create an Image Slide which had an introduction and a bunch of images you can see, pretty simple. Because I don’t want to just create a normal slider which use buttons, I decided that I should explore one of the coolest feature of Pocket Code (IMHO), Sensors. In the end I decided that the user would need to flick the phone up and down to move between the image which I think was quite cool (link).

Introduction Screen for the Image Slider

After I’m comfortable with Pocket Code I decided to tackle the other game creation task such as the Educational Adventure or Air Fight Enhancement. Sadly there was one tasks that I finished but did not manage to get a review was a “Nintendo Wii controller-type” game that use a Chromecast as the screen.

Through this task I tested out different ways to get the phone to behave like a Wii Remote. This game also is also a long trial and error session as I didn’t expect the hardware limitation of the Chromecast during the creation of the first game I made for Chromecast. The final product of that task was a Festival Balloon Shooter that use the phone as the gun you use to shoot out the balloons with. Sadly because the mentor was busy at the time of my completion I didn’t manage to get it reviewed in time before the last claim of GCI. If anyone is interested in trying it out for yourself you can download it here: Ballon Shoot

Incomplete game that didn’t made the final cut because it doesn’t fit any of the tasks

Bug Reports

The other kind of tasks which Catrobat had was Bug Report tasks, one for each of their application (Pocket Code, Pocket Paint, Scratch Converter, Sharing Website). Luckily (or unluckily) enough, right before I claimed the first game creation task I founded quite a big bug.

Pocket Code does not work on a Xiaomi Pro, which was the phone I was using.

The moment this happened, two emotion arose within me. Happiness because I can claim a task so quickly, Sadness because that means all of the game creation tasks will need to be created on a different phone. ¯\_(?)_/¯ I ended up borrowing my mothers phone for the majority of GCI for the game creation tasks.

Outreach

One of the big tasks that I claimed for Catrobat was creating an Outreach Plan on how to popularize Catrobat in my country, Indonesia. I did quite a few research on what usually works here in Indonesia and what works in other countries. To test if my theory works, I decided to run two back to back on my local community and during an event at a school festival.

Thankfully the response for both workshop was good, the kids loved the fact that they can create games on their phone and the fact that it was so easy! I am planning on doing more of these workshop in the future to raise awareness and teach more kids the fun of coding through Pocket Code.

I also wrote a draft of both the Indonesian and English Wikipedia page for Catrobat (Only the Indonesian one is a task). Both are ready to publish and I will try continue adding more info once they are available.

Conclusion

At the end, it was an amazing adventure working with Catrobat. There was a lot of up and down from code not working to the tense time of waiting for the mentors review. Overall it was a fun GCI and I will continue using Pocket Code in the future as it is a very good tool to teach kids coding using their phone with.

Related Posts