Ideas Page for Google Summer of Code 2022
We are thrilled to share our carefully curated project ideas for this year’s Google Summer of Code.
Idea Overview
- Paintroid landing page (350 Hours)
- Paintroid Smudge Tool (175 Hours)
- Embroidery Designer Inspect Tool (175 or 350 Hours)
- Catroid Editor for Userdefined Bricks (175 hour)
- Pocket Code for Android: Undo/redo functionality in Catroid (175 or 350 Hours)
- Pocket Paint for Android: Hide the top and bottom bars, and make the drawing surface full screen by default (350 Hours)
- Pocket Paint for Android: Refactoring tests and functionality to Kotlin (175 or 350 Hours)
- Pocket Code for Android: Refactoring tests and functionality to Kotlin (175 or 350 Hours)
- Pocket Paint for Android: Erase background tool (make it transparent more easily) (175 Hours)
- Pocket Paint for Android: Add a feature that allows a user to see a zoomed in view of the area beneath his finger while drawing (175 Hours)
- Merge Feature for Catroid (350 Hours)
- Awesome Demo Game Project (175 Hours)
- Awesome Demo Game Project (350 Hours)
- Your own project Ideas (175 or 350 Hours)
General Information
These ideas are just some topics we came up with, where currently nobody is working on. However, Catrobat is a project with a wide range of possibilities and we’re aware of our blindspots: So let’s live the spirit of Open Source and come up with improvements (e.g. new features, extensions,…) that are related to the project and you’re interested in. We do have many senior-contributors who would be happy to mentor such a project. Don’t be shy and check out the last point on the list: Your idea!
General Knowledge Prerequisites for all Projects
- Knowledge in the usage of git
- Basic knowledge in the concepts of software testing and test-driven development
- Basic knowledge in app development (for Android and iOS projects)
- Java, JUnit, Robotium and Espresso for Android development
- Swift and Objective C for iOS development
- Also please check that you have the proper hardware for the development (e.g. a Android/iOS smartphone for testing, Mac for iOS development)
Your Application
Please find the mandatory template for the application and additional information on this shared Google Doc.
Project Descriptions
Paintroid landing page (350 Hours)
A landing page similar to catroid, where you can see all your saved pictures.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
Expected size of project:
- 350 Hours
Difficulty level:
- Medium
Paintroid Smudge Tool (175 Hours)
Extension of the existing smudge tool. It was part of a GsoC Project last year, but was too complicated to finish PAINTROID-292 - Smudge tool (READY FOR DEVELOPMENT)
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 Hours
Difficulty level:
- Hard
Embroidery Designer Inspect Tool (175 or 350 Hours)
An inspection tool for embroidery projects that allows you to get important information about the project, view the embroidery more closely and thus edit it better. In a larger version of the project, first steps can be taken to easily touch-up stiches in order to make small corrections before saving an embroidery robot control file.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 or 350 Hours (to be discussed with us in advance)
Difficulty level:
- Hard
Catroid Editor for Userdefined Bricks (175 hour)
Catroid Editor for Userdefined Bricks (175 hour)
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 Hours
Difficulty level:
- Easy
Pocket Code for Android: Undo/redo functionality in Catroid (175 or 350 Hours)
In the current version of Catroid, there are a few places where the immediately previously executed step can be undone, thus avoiding a need for an interaction with the user to ask whether, e.g., an object should really be deleted. There are still many places and interactions where this single-step undo has not been implemented. The aim of this project is to add more such single-step undo operations where they are still missing. Depending on the size of the project, and if there is time, these single-step undo operations shall be step by step replaced by a standard undo-redo feature.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 or 350 Hours (to be discussed with us in advance)
Difficulty level:
- Medium
Pocket Paint for Android: Hide the top and bottom bars, and make the drawing surface full screen by default (350 Hours)
Currently Menus and Options are shown by default in top and bottom bars, and the default zoom is smaller than the screen’s drawing surface, resulting in lost space on the sides of the image. The goal is to have the already existing full screen functionality active by default and find an intuitive way to show menus only by fading in and out depending on whether the finger leaves or touches the screen.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 350 Hours
Difficulty level:
- Medium
Pocket Paint for Android: Refactoring tests and functionality to Kotlin (175 or 350 Hours)
Several parts of the project have already been refactored to use Kotlin, but there are still parts that should be refactored, and reworked to use Kotlin instead of Java.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 or 350 Hours (to be discussed with us in advance)
Difficulty level:
- Medium
Pocket Code for Android: Refactoring tests and functionality to Kotlin (175 or 350 Hours)
Several parts of the project have already been refactored to use Kotlin, but there are still parts that should be refactored, and reworked to use Kotlin instead of Java.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 or 350 Hours (to be discussed with us in advance)
Difficulty level:
- Medium
Pocket Paint for Android: Erase background tool (make it transparent more easily) (175 Hours)
The goal is to create a new tool that allows the user to select an area and erase the parts of the drawing surface outside the area, see similar tools in many picture manipulation programs.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 Hours
Difficulty level:
- Medium
Pocket Paint for Android: Add a feature that allows a user to see a zoomed in view of the area beneath his finger while drawing (175 Hours)
The goal is to create a new feature that allows a user to see a zoomed in view of the area beneath his/her finger while drawing, to allow for easier fine manipulation. The magnifying glass should be round, drag-and-droppable, move automatically way to another place (up or down) if the user’s finger approaches it by drawing, have a default magnifying level of 3x, and there shall be some setting where one can turn it off (or on again) and change the magnification level. When no finger touches the drawing surface, the magnifying glass shall fade away.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 Hours
Difficulty level:
- Hard
Merge Feature for Catroid (350 Hours)
Design and develop a feature for the Android version of Pocket Code that allows to merge two user projects into one, without duplicating scripts, objects, sounds etc that already exist in both projects. Similar to git merge, but for Catrobat user projects. Repeatedly merging the same project into itself should not increase the project’s size. Think about how to handle different screen resolutions, orientations, etc, or how to treat conflicting variable names, correctly update remix graph data, etc.
Required Skills:
- Kotlin
- Java
- Android-Development
- Agile Development
Possible Mentors:
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 350 Hours
Difficulty level:
- Hard
Awesome Demo Game Project (175 Hours)
Spend the whole GSoC time developing and designing one tutorial game for coding using the Luna&Cat IDE app, i.e., programming in the Catrobat visual programming language. The game must be playable both on a phone as well as when cast from the phone to a smart TV.
The game should be strongly inspired by a hugely popular recent 2D game, your own suggestions of popular games are highly welcome. You may also get inspiration by search for lists of the best OR popular 2d games.
If you have your own original idea about a game, please feel free to suggest it. Note, however, that the focus in GSoC should be on coding, not story design. Also, reusing existing already successful ideas will tremendously increase the probability that the game will be popular, and allow you to get much further in its implementation. Also note that the game will be published under Catrobat’s licenses as described in detail on Licenses and that the game will thus become part of the Catrobat FLOSS project’s source code. Thus, all artwork, sounds, character names etc must be compatible with our licenses, i.e., freely publishable under our licenses, the AGPL version 3 and CC BY-SA 4.0, or under a compatible, possibly even freer license such as CC0.
The artwork, sound effects, and background music must also be of high quality and high resolution, but do not have to be necessarily have been created originally by yourself, as long as the rights are compatible with our licenses.
The development of the game may possibly also be a community effort, but that’s up to you. This means that if you want, you may involve a team of people who want to work together with you on the game, either coding extensions or additional levels, contributing media assets, testing, creating promotion videos of it, etc. How you put together your team is entirely up to you, and you alone are responsible for the recruitment of and coordination within your team. Some Catrobat games have been created by large crowds. You and your team working together on the game would be perfectly fine and welcome, as long as you by yourself spend the full GSoC period working 100% on it too, and you do the main part of the coding, since Google wants GSoC projects to basically be single developer coding subprojects. However, most FLOSS projects are community efforts, and collaboration has always been one of the tenets of such projects. Also note that there will be no T-Shirts etc from Google for the other members of your team, so all contributions by other team members must be motivated intrinsically, or by additional means left to your discretion.
In summary, this GSoC project’s game should become an incredibly awesome & amazing demo game that showcases what kind of mind boggling games can be created with Pocket Code.
In your GSoC application, please add a link to a proof of concept for such a game in landscape mode (because it should be playable when cast to a TV screen) that you have created on your phone using Pocket Code. Also describe shortly your ideas for the story of the game you want to develop in your GSoC project.
Boyakasha!
Required Skills:
- Coding Basics
- PocketCode
Possible Mentors:
- Yash Punia
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 Hours
Difficulty level:
- Easy
Awesome Demo Game Project (350 Hours)
Spend the whole GSoC time developing and designing one tutorial game for coding using the Luna&Cat IDE app, i.e., programming in the Catrobat visual programming language. The game must be playable both on a phone as well as when cast from the phone to a smart TV.
The game should be strongly inspired by a hugely popular recent 2D game, your own suggestions of popular games are highly welcome. You may also get inspiration by search for lists of the best OR popular 2d games.
If you have your own original idea about a game, please feel free to suggest it. Note, however, that the focus in GSoC should be on coding, not story design. Also, reusing existing already successful ideas will tremendously increase the probability that the game will be popular, and allow you to get much further in its implementation. Also note that the game will be published under Catrobat’s licenses as described in detail on Licenses and that the game will thus become part of the Catrobat FLOSS project’s source code. Thus, all artwork, sounds, character names etc must be compatible with our licenses, i.e., freely publishable under our licenses, the AGPL version 3 and CC BY-SA 4.0, or under a compatible, possibly even freer license such as CC0.
The artwork, sound effects, and background music must also be of high quality and high resolution, but do not have to be necessarily have been created originally by yourself, as long as the rights are compatible with our licenses.
The development of the game may possibly also be a community effort, but that’s up to you. This means that if you want, you may involve a team of people who want to work together with you on the game, either coding extensions or additional levels, contributing media assets, testing, creating promotion videos of it, etc. How you put together your team is entirely up to you, and you alone are responsible for the recruitment of and coordination within your team. Some Catrobat games have been created by large crowds. You and your team working together on the game would be perfectly fine and welcome, as long as you by yourself spend the full GSoC period working 100% on it too, and you do the main part of the coding, since Google wants GSoC projects to basically be single developer coding subprojects. However, most FLOSS projects are community efforts, and collaboration has always been one of the tenets of such projects. Also note that there will be no T-Shirts etc from Google for the other members of your team, so all contributions by other team members must be motivated intrinsically, or by additional means left to your discretion.
In summary, this GSoC project’s game should become an incredibly awesome & amazing demo game that showcases what kind of mind boggling games can be created with Pocket Code.
In your GSoC application, please add a link to a proof of concept for such a game in landscape mode (because it should be playable when cast to a TV screen) that you have created on your phone using Pocket Code. Also describe shortly your ideas for the story of the game you want to develop in your GSoC project.
Boyakasha!
Required Skills:
- Coding Basics
- PocketCode
Possible Mentors:
- Yash Punia
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 350 Hours
Difficulty level:
- Easy
Your own project Ideas (175 or 350 Hours)
New features or extensions for iOS and Android are welcome to be introduced to us. Help us to spread coding and Open Source!
Required Skills:
- Kotlin
- Java
- Android-Development
- iOS-Development
- Agile Development
Possible Mentors:
- Yash Punia
- Michael Herold
- Stefan Kutschera
- Vesna Krnjic
- Wolfgang Slany
Expected size of project:
- 175 or 350 Hours (to be discussed with us in advance)
Difficulty level:
- Easy to Hard
Please do not hesitate to bring forward your own ideas and discuss them with the Catrobat team members at #catrobat on Freenode or by contacting us via https://catrob.at/mailinglist!