wiki:GoogleCodeInIdeas2016

Version 4 (modified by scottmc, 3 years ago) ( diff )

Expanded intro

Google Code-in Ideas 2016

This is the brainstorm page for the Google Code-In programme for 2016. As such some or many of these may not end up being in our final released list of tasks that end up in Google Code-In. If you are a student, DO NOT start working on these ahead of time as they are ALL subject to change.

Our aim for this year will be to help bring Haiku closer to a Beta 1 release. This will be a good chance for you to see your work end up in a released product! We hope to have a large number of fun tasks this year. Whether this is your first time learning about Haiku, or your second or third time competing in the Code-In, we will have tasks suited to a variety of skill levels.

For Haiku Users and Developers, this is your chance to suggest some task ideas that students would be able to complete in about 2-4 hours of work time spread out over a few days. You can suggest bigger tasks, but they should be ones such that they could be broken down into smaller parts that fit this 2-4 hour timeline.

General Information

Google has announced that they are going to hold Google Code-In 2016 as disclosed in this blog post.

If you are interested in submitting an idea for a task then you can make one by posting on this topic in our forum.

For students interested in participating in Google Code-In 2016 be sure to read through Google's Getting Started Guide.

1. Code: Tasks related to writing or refactoring code

For coding tasks students should make sure to follow Haiku's coding guidelines.

1.1 Code an app for Haiku (including multi-part tasks)

Example taskExample SkillsExample link
Code a Password Manager using Haiku's BKeystoreUI design, C++Seahorse, Haiku ticket on subject
Code a Graphical version control system FrontendUI design, C++,git,hg,svnAtlassian Sourcetree, TortoiseGit
Code a simple Photo post-production app (red eye remover)UI design, C++
Code an Advanced Download Manager iGetter
Code a Music Manager that takes advantage of metadata CherryBlossom, MusicCollection
Code a Personal Calendar Apple Calendar
Code a Graphical Profiler/Tracer KCachegrind, AMD CodeAnalyst, Stackify
Code a Graphical Crash Reporter Apple Crash Reporter, Goolge Breakpad (MIT)
Code a graphical interface for Haiku's RemoteDesktop RemoteDesktop
Code a ScreenReader for Haiku Haiku ticket on subject
Code a graphical event/syslog viewer Ticket on subject
Code a speech recognition app Ticket on subject
Code a Haiku notification Center Ticket on subject
Code a Currency Converter
Code a system Dictionary
Code a vector graphics editor (reuse Icon-O-Matic code)
Code a CountDown/StopWatch/TimeZoneCheck app
Code a Action Automation app Xnee, Apple Automator, Automise
Code a Video Manager
Code a Subtitle Editor Gnome Subtitles
Code a Hardware compatibility analysis appC++, Pythonto be used with this web app

1.2 Develop a web app, a plugin or fix a issue related to Haiku's web infrastructure

Example taskExample SkillsExample link
Fix a bug in our web app that records hardware compatibility Codebase on Github
Fix a bug in our documentation translation tool tickets on trac
Fix a bug in our copy of Pootle tickets on trac

1.3 Refactor, clean up or improve Haiku code

Example taskExample SkillsExample link
Fix a issue in Mail Wiki page on Mail
Fix a issue in Beam Wiki page on Beam

1.4 Fix a broken recipe in haikuports

1.5 Fix bug listed in Haiku's Trac

1.6 Fix bugs or add features to the various Haiku Apps hosted at Haiku Archives

https://github.com/HaikuArchives

1.7 Fix issues reported by Coverity

2.0 Documentation/Training

Tasks related to creating/editing documents and helping others learn more.

Write an article on how to use unit tests when developing HaikuEnglishTicket on subject

2.1 Learn to program with Haiku

Work through the Haiku programming books learning how to program in C++ as you go.

2.2 Write a new lession for the programming with Haiku books

Write a lesson covering a Haiku related topic that isn't already covered in the book(s).

3.0 Outreach/Research

Tasks related to community management, outreach/marketing, or studying problems and recommending solutions.

Example taskExample SkillsExample link
Research the current states of the Scooby codebase Wiki page on Scooby
Investigate Trac-Buildbot intergration Python, htmlTicket on subject

4.0 Quality Assurance

Tasks related to testing and ensuring code is of high quality.

5.0 User Interface

Tasks related to user experience research or user interface design and interaction

5.1 Improve UI on old BeOS/Haiku apps

Convert old BeOS/Haiku programs from Haiku Archives to use layout management and improve the UI, see 1.6

Note: See TracWiki for help on using the wiki.