Catrobat

Last updated
Catrobat
Catrobat logo.png
Designed by Wolfgang Slany
First appearedSeptember 2010, 25;13 years ago (25-09-2010)
Stable release
1.11
Typing discipline dynamic
Platform
OS Android, iOS, Harmonik Sistema
License GNU Affero General Public License
Website catrobat.org
Dialects
Pocket Code

School Seeing Code

Luna-n'Cat
Influenced by
Scratch (programming language)

Catrobat is a block-based visual programming language and Open Source Software non-profit project. First released in 2010 by Wolfgang Slany from the Technical University Graz in Austria. The multidisciplinary team [1] 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. [2]

Contents

The visual programming language is designed to work on mobile devices. Catrobat is used by teenagers to close the gender gap in STEM-Studies. [3] 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. [4] It is in this programming language that will be made Windows Augustus.

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, [5] are natively available in 50+ languages (including several languages not directly supported by the underlying operating system), [4] 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. [2]

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, [4] 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 [6] 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), [7] 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 pre-existing set of characters and backgrounds.

Create@School

The Create@School app is a more tailored version of Pocket Code for academic purposes, with predefined templates for students to start with an almost finished game, and accessibility settings have been added for students with special needs. Previous versions were also linked to services such as behavioral tracking to collect events during coding, as well as the Project Management Dashboard (PMD) for project submission and assessment by teachers. The app, still a beta version, 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

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) [8]

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. [9]

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. [10] 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, [11] [12] and schools taking it up in teaching, there are also international events in the course of collaborations. [13]

The concept for use in schools is based on the concept of constructionism and has been scientifically researched and elaborated in several iterations. [14] [15]

As a partner organization on Code.org, there is also the successful #GalaxyGameJam as an activity during the annual Hour of Code. [16]

On an annual basis, Catrobat has also been part of Google's open-source programs since 2011. [17] For example in 2014 for Google Summer of Code, [18] or in 2018 for Google Code-In [19]

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, [20] Pocket Code was adopted for school [21] 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:

Related Research Articles

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Windows Embedded Compact, formerly Windows Embedded CE, Windows Powered and Windows CE, is a discontinued operating system developed by Microsoft for mobile and embedded devices. It was part of the Windows Embedded family and served as the foundation of several classes of devices including the Handheld PC, Pocket PC, Auto PC, Windows Mobile, Windows Phone 7 and others.

<span class="mw-page-title-main">Sim (game)</span> Two-player paper-and-pencil game

Sim is a two-player paper-and-pencil game.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

<span class="mw-page-title-main">Mobile game</span> Video game played on a mobile device

A mobile game is a video game that is typically played on a mobile phone. The term also refers to all games that are played on any portable device, including from mobile phone, tablet, PDA to handheld game console, portable media player or graphing calculator, with and without network availability. The earliest known game on a mobile phone was a Tetris variant on the Hagenuk MT-2000 device from 1994.

Android is a mobile operating system based on a modified version of the Linux kernel and other open-source software, designed primarily for touchscreen mobile devices such as smartphones and tablets. Android is developed by a consortium of developers known as the Open Handset Alliance, though its most widely used version is primarily developed by Google. It was unveiled in November 2007, with the first commercial Android device, the HTC Dream, being launched in September 2008.

The Android Package with the file extension apk is the file format used by the Android operating system, and a number of other Android-based operating systems for distribution and installation of mobile apps, mobile games and middleware. A file using this format can be built from source code written in either Java or Kotlin.

Basic4ppc is a programming language originally for Pocket PC handheld computers running Windows Mobile operating system, by Anywhere Software. Since 2014, B4x was renamed, and currently, 2023, supports multiple devices and their OS, including desktop and mobile solutions with development adaptions for these environments. The language is based on a BASIC-like syntax, taking advantage of Microsoft's .NET technology, to allow additional libraries, graphical user interface design of windows forms, rapid application development (RAD), and .NET framework compatible compilation. The language implements a unique way of adding objects to a program without being object-oriented. Its advantages are simplicity, development pace and the integration with .NET framework. A special version of the integrated development environment (IDE) allows developing straight onto the Windows Mobile device or. With the demise of Windows Mobile operating system and the devices running it Basic4PPC came to the end of its life in about 2012. For owners of Basic4PPC it remains a useful Windows-desktop BASIC compiler as it runs code directly in the Windows environment and it can compile a project to a Windows 'exe' file for use as a Windows program.

Waze Mobile Ltd, doing business as Waze, formerly FreeMap Israel, is a subsidiary company of Google that provides satellite navigation software on smartphones and other computers that support the Global Positioning System (GPS). In addition to turn-by-turn navigation, it incorporates user-submitted travel times and route details while downloading location-dependent information over a cellular network. Waze describes its application as a community-driven initiative that is free to download and use.

<span class="mw-page-title-main">MIT App Inventor</span> Web application development environment

MIT App Inventor is a high-level block-based visual programming language, originally built by Google and now maintained by the Massachusetts Institute of Technology. It allows newcomers to create computer applications for two operating systems: Android and iOS, which, as of 25 September 2023, is in beta testing. It is free and open-source released under dual licensing: a Creative Commons Attribution ShareAlike 3.0 Unported license and an Apache License 2.0 for the source code. Its target is primarily children and students studying computer programming, similar to Scratch.

<span class="mw-page-title-main">Pocket (service)</span> Social bookmarking service

Pocket, previously known as Read It Later, is a social bookmarking service for storing, sharing and discovering web bookmarks. Released in 2007, the service was originally only for desktop and laptop computers and is now available for macOS, Windows, iOS, Android, Windows Phone, BlackBerry, Kobo eReaders, and web browsers.

Episode or Episode Interactive is an interactive story video game developed by Pocket Gems.

AppSheet is an application that provides a no-code development platform for application software, which allows users to create mobile, tablet, and web applications using data sources like Google Drive, DropBox, Office 365, and other cloud-based spreadsheet and database platforms. The platform can be utilized for a broad set of business use cases including project management, customer relationship management, field inspections, and personalized reporting.

HarmonyOS (HMOS) is a distributed operating system developed by Huawei for smartphones, tablets, smart TVs, smart watches, personal computers and other smart devices. It has a single real-time microkernel design in kernel mode with a single framework: the operating system derives from HarmonyOS NEXT, based on OpenHarmony operating system family that is the user mode of HarmonyOS NEXT system that takes full L0-L2 source code derived from LiteOS roots that selects suitable kernels from the kernel abstraction layer. The operating system was officially launched by Huawei in August 2019.

<span class="mw-page-title-main">UserLAnd Technologies</span> Compatibility layer mobile app

UserLAnd Technologies is a free and open-source compatibility layer mobile app that allows Linux distributions, computer programs, computer games and numerical computing programs to run on mobile devices without requiring a root account. UserLAnd also provides a program library of popular free and open-source Linux-based programs to which additional programs and different versions of programs can be added.

<span class="mw-page-title-main">GDevelop</span> Open-source, cross-platform game engine

GDevelop is a 2D and 3D cross-platform, free and open-source game engine, which mainly focuses on creating PC and mobile games, as well as HTML5 games playable in the browser. Created by Florian Rival, a software engineer at Google, GDevelop is mainly aimed at non-programmers and game developers of all skillsets, employing event based visual programming similar to engines like Construct, Stencyl, and Tynker.

Umar Javeed, Sukarma Thapar, Aaqib Javeed vs. Google LLC and Ors. is a 2019 court case in which Google and Google India Private Limited were accused of abuse of dominance in the Android operating system in India. The Competition Commission of India found that Google abused its dominant position by requiring device manufacturers wishing to pre-install apps to adhere to a compatibility standard on Android.

<span class="mw-page-title-main">Turtlestitch</span> Embroidery platform

Turtlestitch is a free and open source platform for generating and sharing patterns for embroidery machines. Turtlestitch is derived from educational programming languages such as Logo, Scratch and Snap! using the same jigsaw style programming paradigm which offers simplicity suitable for novices but has powerful features, described as ‘low threshold, high ceiling’ by Seymour Papert. Its microworld is a turtle representing the needle of a programmable embroidery machine. Turtlestitch can be used for creating novel patterns for embroidery, combining the abstract logic of computing and the physical materiality of textiles. Its primary use is educational, as it offers a way of introducing programming to audiences with diverse interests. A growing gallery of open source embroidery designs enables community-based collaboration and shared learning. In 2017, Turtlestitch received the award for the best Open Educational Resource in the German-speaking countries.

References

  1. "Catrobat Credits". developer.catrobat.org. Retrieved 2021-02-28.
  2. 1 2 Petri, Anja; Schindler, Christian; Slany, Wolfgang; Spieler, Bernadette (2018-08-31). "Game Design with Pocket Code: Providing a Constructionist Environment for Girls and Boys in the School Context". arXiv: 1805.04362 [cs.CY].
  3. Spieler, Bernadette; Slany, Wolfgang (2018-08-31). "Female and male Teenagers and Coding: Create Gender Sensitive and Creative Learning Environments". arXiv: 1805.04366 [cs.CY].
  4. 1 2 3 "Catrobat CrowdIn Translation Project". Archived from the original on 2016-09-04.
  5. "Android Apps by Catrobat on Google Play". play.google.com. Retrieved 2021-03-07.
  6. Harzl, Annemarie; Neidhoefer, Philipp; Rock, Valentin; Schafzahl, Maximilian; Slany, Wolfgang (2013-10-06). "A Scratch-like visual programming system for Microsoft Windows Phone 8". arXiv: 1310.1390 [cs.CY].
  7. Slany, Wolfgang (2012-04-28). "Catroid: A Mobile Visual Programming System for Children". arXiv: 1204.6411 [cs.PL].
  8. "Galaxy Game Jam". www.galaxygamejam.com. Retrieved 2021-03-07.
  9. "Discord - A New Way to Chat with Friends & Communities". Discord. Retrieved 2021-03-06.
  10. "Home". Catrobat. Retrieved 2021-03-06.
  11. "Digitale Bildung in Österreich fördern | Samsung Smart School". Samsung at (in Austrian German). Retrieved 2021-03-06.
  12. Grech, 21 10 2016 um 12:25 von Barbara (2016-10-21). "Programmieren kinderleicht gemacht". Die Presse (in German). Retrieved 2021-03-06.{{cite web}}: CS1 maint: numeric names: authors list (link)
  13. "Learning to Code: Programmieren mit Pocket Code". imoox.at. Retrieved 2021-03-07.
  14. Petri, Anja; Schindler, Christian; Slany, Wolfgang; Spieler, Bernadette; Smith, Jonathan (2015-08-24). "Pocket Game Jams: A Constructionist Approach at Schools". Proceedings of the 17th International Conference on Human-Computer Interaction with Mobile Devices and Services Adjunct. pp. 1207–1211. arXiv: 1805.04462 . doi:10.1145/2786567.2801610. ISBN   9781450336536. S2CID   21682145.
  15. "No One Left Behind | Project". No One Left Behind. Archived from the original on 2015-05-22.
  16. "Beyond an Hour of Code". Code.org. Retrieved 2021-03-07.
  17. "Google Summer of Code Wrap up: Catrobat". Google Open Source Blog. Retrieved 2021-03-07.
  18. "Google Summer of Code 2014 Organization Catrobat (formerly Catroid Project)". www.google-melange.com. Retrieved 2021-03-07.
  19. "Catrobat - 2018 - Google Code-in Archive". codein.withgoogle.com. Retrieved 2021-03-07.
  20. Jagoutz, Michael. "No One Left Behind". wiki.catrobat.org. Retrieved 2021-03-07.
  21. Ltd, EducationalAppStore. "Pocket Code Review". Educational App Store. Retrieved 2021-03-07.
  22. ""Mind the Gap": Preise für Chancengleichheit". www.tugraz.at (in German). Retrieved 2021-03-07.
  23. "Forschungsportal - UNIGRAZonline - Karl-Franzens-Universität Graz". online.uni-graz.at. Retrieved 2021-03-07.
  24. Müller, M.; Schindler, C.; Luhana, K. K.; Slany, W. (22 November 2018). "Enabling Teenagers to Create and Share Apps". 2018 IEEE Conference on Open Systems (ICOS). IEEE. pp. 25–30. doi:10.1109/ICOS.2018.8632815. ISBN   978-1-5386-6666-1. S2CID   59601963 via IEEE Xplore.
  25. Luhana, K. K.; Schindler, C.; Slany, W. (May 2018). "Streamlining mobile app deployment with Jenkins and Fastlane in the case of Catrobat's pocket code". 2018 IEEE International Conference on Innovative Research and Development (ICIRD). pp. 1–6. doi:10.1109/ICIRD.2018.8376296. ISBN   978-1-5386-5696-9. S2CID   49192568.
  26. "Pocket Code Mobile App | The Best Mobile App Awards". bestmobileappawards.com. Retrieved 2021-03-07.
  27. "Winners 2016". Reimagine Education Conference & Awards. Retrieved 2021-03-07.
  28. "Pocket Code gewinnt Internet for Refugees Preis". netidee (in German). Retrieved 2021-03-07.
  29. ""Internet for Refugees" prize for TU Graz programming app". www.tugraz.at. Retrieved 2021-03-07.
  30. "No One Left Behind | "No One left Behind" won the Grand Prix Best Connect Exhibitor in ICT 2015". Archived from the original on 2016-02-14.
  31. Exhibition, Prizes Ceremony: ICT 2015 - Highlights Day 3, 22 October 2015, retrieved 2021-03-07
  32. "Winners of 2015". Archived from the original on 2015-10-17.
  33. "Innovationspreis Multimedia und e-Business | FFG". www.ffg.at (in German). Retrieved 2021-03-07.

Further reading

German

English