= Google Code-in Ideas 2012 = This is the brainstorm page for the [http://code.google.com/opensource/gci/2012/ Google Code-In]. Translation tasks have been dropped from Google Code-In 2012, so there will be no translation tasks here. Google is reducing the number of orgs for 2012 down to 10 from a total of 18 orgs in 2011. Haiku may or may not be one of those 10. Also the difficultly levels will be removed and tasks should be created such that they would take about 2-4 hours to complete. Developers and documenters: Suggested tasks can be added below if you have wiki edit rights. Prospective Students: This page should give you an idea of what tasks may be available for Haiku, should we get selected for GCI 2012. == 1. Code: Tasks related to writing or refactoring code == For coding tasks students should make sure to follow Haiku's coding guidelines: (https://www.haiku-os.org/development/coding-guidelines) || Resolve any open Haiku trac ticket || <== Need to search through these and create tasks for ones that students could handle || Add Haiku native GUI to the cmake port, (http://ports.haiku-files.org/ticket/236) || || Bluetooth Stack/UI Improvements (http://docs.google.com/View?id=dc8wsckv_6d8qdzbfz) || || Implement a patch per [ticket:6746#comment:2 Comment 2 in Bug:6746] || || Create a linux package (.deb / ppa) for bfs_fuse || || Research and implement AMD SimNow HDD image build target || || Update poorman to use layout manager [[https://dev.haiku-os.org/ticket/3787 3787]] || || Add internationalization to Pe. || || Fix BGLView glitch || || Implement Missing/Incorrect POSIX Functionality defined in header files || || Add Haiku native GUI to the cmake port || || Add BFS attribute support to an archive format || || Cleanup and Perform code audit on Haiku's GameSound classes || || Implement missing sysconf definitions || || Fix SDL custom cursors on Haiku || || Bluetooth - Retrieve Discovery and DevClass in Startup || || Write a working .bep file to allow haikuporter to build MySQL [http://ports.haiku-files.org/ticket/342] || || Implement clock and timer support in Haiku || || Implement missing , , , functions and definitions. || || Use ICU API for line breaking || || Implement missing functions || || Implement asynchronous I/O || || Create a .bep file for Haikuporter to build Apache Harmony on Haiku || || Implement missing , functions and definitions. || || Implement missing , functions and definitions. || || Fix BGLView /OpenGL resize bug when direct mode is enabled || || Fix webpositive so that it can render arabic fonts. || || Add Haiku native GUI to the cmake port || || Cleanup and Perform code audit on Haiku's GameSound classes || || Bluetooth - Retrieve Discovery and DevClass in Startup || || Fix SDL custom cursors on Haiku || || Fix BGLView glitch Haiku trac ticket #5369 || || Implement missing sysconf definitions || || Rewrite ISA.h and PCI.h headers || || Check fix for Allegro and improve on it if it's not working as expected. (http://ports.haiku-files.org/ticket/581) || || Check scummvm port and bring up to latest release (http://ports.haiku-files.org/ticket/501) || || Port libs3, create a working .bep so that it builds cleanly using haikuporter (http://ports.haiku-files.org/ticket/563) || || Create a clean .bep and patch for building freedroid on Haiku using haikuporter (http://ports.haiku-files.org/ticket/464) || || Check protobuf port and bring up to latest release (http://ports.haiku-files.org/ticket/282) || || Check hedgewars port and bring up to the latest release (http://ports.haiku-files.org/ticket/469) || || Check xut port and bring up to the latest release (http://ports.haiku-files.org/ticket/471) || || Create a .bep file for haikuporter to libass (http://ports.haiku-files.org/ticket/494) || || Create bep files for 3 of the 9 font sets listed in HaikuPorts trac ticket 560 (http://ports.haiku-files.org/ticket/560) || || Create bep files for 3 of the 9 font sets listed in HaikuPorts trac ticket 560 (http://ports.haiku-files.org/ticket/560) || || Create bep files for 3 of the 9 font sets listed in HaikuPorts trac ticket 560 (http://ports.haiku-files.org/ticket/560) || || update haikuporter to support building haiku x86_64 packages (ports.haiku-files.org/ticket/629) || || Update .bep files for all packages listed in OptionalPackages and LibPak for x86_64 support (ports.haiku-files.org/ticket/630) || <== break into several smaller tasks || || Create a .bep file for Haikuporter to build latest release of libass (http://ports.haiku-files.org/ticket/494) || || Create a .bep file for Haikuporter to build mysql (http://ports.haiku-files.org/ticket/342) || || Create a .bep file for Haikuporter to build Xapian (http://ports.haiku-files.org/ticket/651) || || Add a GUI to Transmission || == 2. Documentation: Tasks related to creating/editing documents== || Verify if all the steps mentioned in the "Welcome to Haiku" document are accurate, and suggest improvements. || || Write an introduction for one of Haiku's kits for http://api.haiku-os.org || || Write documentation for one class in API reference manual || || Create a .bep file for haikuporter to build hqx (http://ports.haiku-files.org/ticket/485) || || Create a .bep file for haikuporter to build the Qt Framework || || Update .bep file for openjdk so that it fulls builds using haikuporter || || Create a .bep file for haikuporter to build htop || || Create a .bep file for haikuporter to build mediainfo (http://mediainfo.sourceforge.net/) || || Create a .bep file for haikuporter to build eventual (http://developer.berlios.de/projects/haiku-pim/) || || Create a .bep file for haikuporter to build mussel and beshare (http://dev.osdrawer.net/projects/beshare) || == 3. Outreach: Tasks related to community management and outreach/marketing== || Present a Haiku lightning talk (about 5 minutes long) at a local Linux User Group or similar interested group. (5 or so slides on a specific part of Haiku) || || Present Haiku at a local Linux User Group or similar interested group. (20 or so slides and demo time) || || Create a more gripping screenshot slideshow for the website. || == 4. Quality Assurance: Tasks related to testing and ensuring code is of high quality == || Test all open trac tickets for Expander (6) and indicate whether they are still valid. Add extra information as needed. || || Test all open trac tickets (0-6700) for MediaPlayer ShowImage (22) and indicate whether they are still valid. Add extra information as needed. || || Test all open trac tickets (6700-8100)for MediaPlayer (21) and indicate whether they are still valid. Add extra information as needed. || || Test all open trac tickets for ShowImage (15) and indicate whether they are still valid. Add extra information as needed. || || Test all open trac tickets for StyledEdit(15) and indicate whether they are still valid. Add extra information as needed. || || Test all open trac tickets for Terminal (28) and indicate whether they are still valid. Add extra information as needed. || || Boost fails many tests, recheck it on a gcc4 Haiku and create a wiki page showing the status of the failed tests. (http://ports.haiku-files.org/ticket/622) || || Submit a 20kb+ patch containing codestyle fixes for any part of the system || || GameSound classes need code audit and cleanup http://dev.haiku-os.org/ticket/332 || || Perform code review of Translation kit checking for utf-8 string vulnerabilities || == 5. Research: Tasks related to studying a problem and recommending solutions == || Summarize past mailing list discussions on patch management issues. || || Research the various virtualization programs and recommended settings to get Haiku to run on them. Installing Haiku to new and larger virtual-disk images, figure out which settings to use for which VM software and how to add the VMware add-ons, common issues and work-arounds || || Research way to do right-to-left text in ICU and integration to Haiku API || == 6. Training: Tasks related to helping others learn more == || Make a video showing off queries (see #2119) || || Make a video showing off Stack and Tile || || Make a video showing off the power of Haiku's image translators, and other translators || || Make a video showing how to write and build a C++ "Hello World" program using the BeAPI || || Update the step by step build instructions on the Haiku web site to reflect the switch from svn to git, and verify that it works || == 7. User Interface: Tasks related to user experience research or user interface design and interaction == || Check over the various apps included in Haiku, both with the fonts set to size 12 and set to size 18. Check the apps for text alignment report any issues you find. Keep a list of the apps that you checked over. || || Check over the various apps include in Haiku, checking it with various languages set. Note any text alignment problems and report any issues you find. Keep a list of the apps that you checked over, and languages checked. || || Check over the various apps included in Haiku, looking for instances of large/too small spacing between elements. Document these problems with annotated screenshots added as attachments in Trac. || || Some Haiku apps/preflets use non-standard controls that could be replaced with standard ones, eg. custom progress bars etc.. Identify where these are used, so that they can be updated to use standard controls || || Search Haiku's trac for issues related to the GUI and recheck them to see if they are still valid. || || Research a hypothetical Haiku R2 Deskbar and make a mock-up ||