# Catrobat

Catrobat is a block-based visual programming language and Open Source Software non-profit project. First released in 2010 by Wolfgang Slany from the Graz University of Technology in Austria. The multidisciplinary team develops the programming language and free apps for teenagers to create their own games, animations, music videos, or all other kinds of apps directly on a smartphone based on the Catrobat framework.
The visual programming language is designed to work on mobile devices. Catrobat is used by teenagers to close the gender gap in STEM-Studies. Catrobat has been introduced to less developed countries, the native language support is provided directly in Catrobat's apps, and not supported on the operating systems language level.

## History

Catrobat started with the name Catroid in 2010, and the name was inspired by Scratch's cat mascot and the Android operating system. The first public version of the free app was published in 2013 on Google Play. As of November 2020, there are more than 74 releases of the main coding app. The first version for iOS was published in 2018. The mobile apps currently have more than 5 million users in 180 countries, are natively available in 50+ languages (including several languages not directly supported by the underlying operating system), and have been developed so far by over 1,300 volunteers from around the world.

## License

The Catrobat project is under the Affero General Public License (AGPL) in version 3 and is hosted publicly on GitHub.

## Vision

Catrobat aims to introduce young people to the world of coding, using only their smartphones and bypassing traditional education. With a playful approach, young people can be engaged and game development can be promoted with a focus on design and creativity. When used in schools the project often refers to the approach of constructionism.
To make it accessible to young people in less developed countries, Catrobat did not rely on the operating system language and implemented the ability to switch to one of over 50 native languages in the user interface. The translations are contributed by the community based on Crowdin, and the process makes it easy for volunteers to help adapt to new languages or to increase the quality.

## Development environment, mobile apps, share platform
### Catrobat Framework

The development environment for Catrobat is part of the mobile apps and these can be downloaded for free on Android from the Google Play Store, HarmonyOS AppGallery, or Apple's App Store. Variants for Windows Mobile and an HTML5-based version were discontinued in 2017 and 2019, respectively.

### Mobile Apps
#### Pocket Code

The first Catrobat app was Pocket Code (formerly Catroid), a visual programming language environment that allows the creation of games, stories, animations, and many types of other apps directly on smartphones. This app consists of a visual Integrated Development Environment (IDE) and a programming language execution engine for the Catrobat Programming language. The IDE automatically translates the underlying code parsed by the XML file into visual brick elements and vice versa. With the use of simple graphic blocks, teenagers can create their own games, colorful animations, or extensive stories directly on their mobile phones without prior knowledge. The used visual and block-based coding language helps teenagers in their coding with an easy-to-use interface and predefined Lego-style bricks. It also allows access to many sensors on the smartphone, for instance, inclination, GPS, or compass direction, and support for image, voice, and face recognition has been added.

#### Luna&Cat

Luna&Cat is a tailored version of the Pocket Code app to appeal to female teenagers in particular. It has a preexisting set of characters and backgrounds.

#### Create@School

The Create@School app is a specialized version of Pocket Code designed for academic use. It includes predefined templates that allow students to begin with an almost finished game, and it features accessibility settings for students with special needs. Previous versions were also linked to services like behavioral tracking, which collected events during coding, as well as the Project Management Dashboard (PMD) for project submission and teacher assessment. Currently in beta, the app is being tested by schools in Europe.

#### Phiro Code

Phiro Code is an app based on Catrobat especially designed and developed to work together with the learning robots from Robotix. The integration of the interface to control the robots lets the students better learn to code while watching the robot enact the students' programming.

#### Embroidery Designer

Embroidery Designer is an extension for embroidery machines, extending the Turtlestitch approach to mobile phones. The goal of the app is to attract female teenagers by giving them the possibility to customize clothing and accessories while learning to code. The approach is again to bridge the visual coding language not just to animations, but also to real-world operations from a machine.

### Extensions

The Catrobat apps support the following extensions as of January 2021
* Lego Mindstorms NXT / EV3
* Arduino / Raspberry Pi
* NFC
* Phiro RoboticsEdu
* Parrot AR Drone / Parrot Jumping Sumo Drone
* Chromecast
* Scratch Converter
* Embroidery Machines

### Share Platform

Every app from the Catrobat umbrella project has a built-in sharing platform. Users can share their applications and see projects from the community. By sharing and accepting others to see the source code under a public software license, everybody can learn quickly from others and use existing projects as a starting point. The concept is similar to the Remix concept by Scratch. The intention is to motivate the community actively participate, have higher learning effects and thereby reinforce the goals of Catrobat's vision.
The shared platform was also used for various competitions such as the Samsung Galaxy Game Jam (#GalaxyGameJam)

## Programming with Catrobat

Catrobat offers the possibility to carry out the entire development with visual building bricks, so-called blocks, and a few textual inputs. The biggest advantage for the mostly young users is the possibility to program in one of over 60 languages, which also goes far beyond the range of languages provided by the operating systems. Thus one does not have to program in English as usual. This language can be set directly in Pocket Code for the app itself in the settings, for example. This leads to a very low barrier to starting coding.

## Catrobat Community
### Online Community

There is a Catrobat Wiki supported by the Catrobat team, but community-driven and translated into users' languages. There is a Youtube community, which created Catrobat-based projects and tutorials in several languages. There is also a Discord server, divided into languages, where users can exchange themselves and present their projects.
The developers exchange information via GitHub, Slack, Jira, and Confluence. The translations via the Crowdin platform can be contributed by anyone and are adopted by the project for the next release after review.

### Impact and Usage

Since 2014, the Catrobat project and its apps have been growing exponentially in terms of user and volunteer developer numbers. The programming language is used on smartphones in almost every country in the world. As of the end of 2020, there are over 2.5 million app downloads, over 200,000 monthly active users, and over 1000 volunteer contributors. As a result, there is a growing global community of novice programmers, students, educators, researchers, and hobbyists who motivate and support each other.
Activities have expanded beyond just application, development, and translation to include local events. Besides the recurring Maker Days at Graz University of Technology, Samsung's Coding for Kids, and schools taking it up in teaching, there are also international events in the course of collaborations.
The concept for use in schools is based on the concept of constructionism and has been scientifically researched and elaborated in several iterations.
As a partner organization on Code.org, there is also the successful #GalaxyGameJam as an activity during the annual Hour of Code.
On an annual basis, Catrobat has also been part of Google's open-source programs since 2011. For example in 2014 for Google Summer of Code, or in 2018 for Google Code-In

## Projects

The Catrobat's apps have already been used in several large research studies, both on international as well as national levels, and are of sufficient complexity to allow to cover all relevant areas of interest and activities of teenagers. For example, during the Horizon 2020 No One Left Behind project, Pocket Code was adopted for school purposes and has been developed and evaluated in a large-scale European study. Further, during the national RemoteMentor project (2018) funded by NetIdee, effective mentoring/online help options for female teenagers in particular have been tested and integrated into our services to foster collaborative and engaging project work online. The Code'n'Stitch project funded by FFG/FEMtech started in September 2018. During this project, the app has been extended with the option to program embroidery machines. In this way, self-made patterns and designs can be stitched on t-shirts, pants, or even bags. Patterns and different forms can be created using Pocket Code's visual programming language.

## Reception

Catrobat and the mobile apps have received awards and recognition including:
* Mind the Gap Award (October 2020) from Graz University of Technology, for the Embroidery Designer / Code'n'Stitch FEMtech FFG Projekt
* "Route 63" competitive project (October 2020) Graz University of Technology and Karl Franzens Universität Graz, together with Karin Landerl (Karl Franzens University Graz, Institute of Psychology), for the collective project "Towards a Better Understanding of the Cognitive and Affective Mechanisms of Computer Programming and Computational Thinking"
* Best Paper Award at IEEE International Conference on Open Systems (ICOS 2018), "Enabling Teenagers to Create and Share Apps" by Matthias Müller, Christian Schindler, Kirshan Luhana, and Wolfgang Slany
* Best Paper Award at IEEE International Conference on Innovative Research and Development (ICIRD 2018), "Streamlining mobile app deployment with Jenkins and Fastlane in the case of Catrobat's Pocket Code" by Kirshan Luhana, Christian Schindler, and Wolfgang Slany
* Platinum Award winner in the category "Best educational app" (March 2017), Best Mobile App Awards
* Re-Imagine Education Gold Award Winner Europe (December 2016), Wharton School of the University of Pennsylvania in Philadelphia, USA
* Internet for Refugees Award (November 2016), Netidee
* ICT 2015 'Young Minds'– Grand Prix Best Connect Exhibitor Award, European Commission
* Silver Winner of the Lovie Awards and a winner of the People's Lovie Awards (October 2015), The International Academy of Digital Arts and Sciences
* Austrian National Innovation Award for Multimedia and e-Business (March 2013), Austrian Ministry for Economics and Youth Development