Changes between Initial Version and Version 1 of GoogleCodeInIdeas2017


Ignore:
Timestamp:
Oct 16, 2017, 5:35:41 PM (7 years ago)
Author:
scottmc
Comment:

Initial copy / paste from 2016 ideas page

Legend:

Unmodified
Added
Removed
Modified
  • GoogleCodeInIdeas2017

    v1 v1  
     1= Google Code-in Ideas 2017 =
     2 
     3This is the brainstorm page for the [https://developers.google.com/open-source/gci/ Google Code-In] programme for 2017. 
     4As 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.'''
     5
     6Our 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.
     7
     8For 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.
     9
     10
     11
     12
     13== General Information ==
     14Google has announced that they are going to hold Google Code-In 2017 as disclosed
     15[https://opensource.googleblog.com/2017/09/announcing-google-code-in-2017.html in this blog post].
     16
     17If you are interested in submitting an idea for a task then you can make one [https://discuss.haiku-os.org/t/ideas-for-gci-2016/ by posting on this topic in our forum].
     18
     19For students interested in participating in Google Code-In 2017 be sure to read through Google's
     20[https://developers.google.com/open-source/gci/resources/getting-started Getting Started Guide].
     21
     22== 1. Code: Tasks related to writing or refactoring code ==
     23For coding tasks students should make sure to follow [https://www.haiku-os.org/development/coding-guidelines Haiku's coding guidelines].
     24
     25=== 1.1 Code an app for Haiku (including multi-part tasks) ===
     26||= Example task =||= Example Skills =||= Example link =||
     27||~~Code a Password Manager using Haiku's BKeystore~~||UI design, C++||[https://en.wikipedia.org/wiki/Seahorse_(software) Seahorse], [https://dev.haiku-os.org/ticket/12812 Haiku ticket on subject]||
     28||~~Code a Graphical version control system Frontend~~||UI design, C++,git,hg,svn||[https://www.sourcetreeapp.com Atlassian Sourcetree], [https://tortoisegit.org TortoiseGit]||
     29||~~Code a simple Photo post-production app (red eye remover)~~||UI design, C++|| ||
     30||~~Code an Advanced Download Manager~~|| ||[http://www.igetter.net/iGetter.html iGetter], [http://mac.eltima.com/download-manager.html FOLX]||
     31||~~Code a Music Manager that takes advantage of metadata~~|| ||[https://github.com/HaikuArchives/CherryBlossom CherryBlossom], [http://cgit.haiku-os.org/haiku/tree/src/apps/musiccollection MusicCollection]||
     32||~~Code a Personal Calendar~~|| ||[https://en.wikipedia.org/wiki/Calendar_(Apple) Apple Calendar]||
     33||~~Code a Graphical Profiler/Tracer~~|| ||KCachegrind, AMD CodeAnalyst, Stackify||
     34||~~Code a Graphical Crash Reporter~~|| ||Apple Crash Reporter, Goolge Breakpad (MIT)||
     35||~~Code a graphical interface for Haiku's RemoteDesktop~~|| ||[https://www.haiku-os.org/node/6007 RemoteDesktop]||
     36||~~Code a ScreenReader for Haiku~~|| ||[https://dev.haiku-os.org/ticket/12804 Haiku ticket on subject]
     37||~~Code a graphical event/syslog viewer~~|| ||[https://dev.haiku-os.org/ticket/12816 Ticket on subject]||
     38||~~Code a speech recognition app~~|| ||[https://dev.haiku-os.org/ticket/12819 Ticket on subject]||
     39||~~Code a Haiku notification Center~~|| ||[https://dev.haiku-os.org/ticket/12809 Ticket on subject]||
     40||Code a Currency Converter|| || ||
     41||Code a system Dictionary|| || ||
     42||Code a vector graphics editor (reuse Icon-O-Matic code)|| || ||
     43||Code a CountDown/StopWatch/TimeZoneCheck app|| || ||
     44||~~Code a Action Automation app~~|| ||Xnee, Apple Automator, Automise||
     45||Code a Video Manager|| ||[http://www.shedworx.com/cosmos-video cosmos] ||
     46||Code a Subtitle Editor|| ||Gnome Subtitles||
     47||Code a Hardware compatibility analysis app||C++, Python||[https://github.com/DarkmatterVale/Haiku-Configuration-Repo to be used with this web app]
     48||~~Merge Spider Solitaire and Klondike from previous GCI into a single "card game" app~~||C++|| ||
     49||Code a game of Ishido||C++||Can use tilesets from BShisen / SDLopan||
     50||~~Code a MIDI event viewer for debugging MIDI devices and apps~~||C++|| ||
     51||Code an easy to use attribute manager for Haiku ||C++||[http://www.caseapps.com/tags/ Tags]||
     52||Code a text document manager takes advantage of metadata||C++||[http://www.icyblaze.com/idocument/ idocument]||
     53||~~Merge bknob and bdial together and upstream to Haiku repo~~||C++||[https://bitbucket.org/atalax/bknob bknob], [https://github.com/galexite/bdial bdial]||
     54||~~Code a map application~~||C++||[https://www.mapbox.com/help/create-a-static-map/#use-the-static-api]||
     55||Code an SQLite workbench app ||C++||[http://sqlitebrowser.org/]||
     56
     57
     58
     59
     60
     61
     62
     63=== 1.2 Develop a web app, a plugin or fix a issue related to Haiku's web infrastructure ===
     64||= Example task =||= Example Skills =||= Example link =||
     65||~~Fix a bug in our web app that records hardware compatibility~~|| ||[https://github.com/DarkmatterVale/Haiku-Configuration-Repo Codebase on Github]||
     66||Fix a bug in our documentation translation tool|| ||[https://dev.haiku-os.org/query?status=assigned&status=in-progress&status=new&status=reopened&type=%5E&component=%5EWebsite%2FUser+Documentation+Translator tickets on trac]||
     67||Fix a bug in our copy of Pootle|| ||[https://dev.haiku-os.org/query?status=assigned&status=in-progress&status=new&status=reopened&type=%5E&component=%5EWebsite%2Fi18n.haiku-os.org tickets on trac]
     68||~~Propose a new design/css for Haiku main website~~||html, design|| ||
     69
     70=== 1.3 Refactor, clean up or improve Haiku code ===
     71||= Example task =||= Example Skills =||= Example link =||
     72||Fix a issue in Mail|| ||[SoftwareInfo/Applications/EmailClient Wiki page on Mail]||
     73||~~Finish the network VirtIO driver for Haiku~~|| C++ || [https://dev.haiku-os.org/ticket/9800 Ticket on subject] ||
     74||Implement a console/serial VirtIO driver for Haiku|| C++ || ||
     75||Add missing devices to our ice1712 driver||C++|| [https://dev.haiku-os.org/ticket/13047 Ticket on subject] ||
     76
     77=== 1.4 Fix a broken recipe in haikuports ===
     78Many recipes on Haikuports need to be updated to the current format.  We are working on bots to autobuild all of these, but there is a lot of work that needs to be done in order for those to work smoothly.  This is one place we could use much help, as it is one of the big blockers to the upcoming Beta1 release.
     79
     80In particular, software listed in #10267 should be checked and recipes provided where they are still missing.
     81
     82=== 1.5 Fix bug listed in Haiku's Trac ===
     83Lots of open issues, we will post tasks for specific open Haiku issues.
     84
     85
     86=== 1.6 Fix bugs or add features to the various Haiku Apps hosted at Haiku Archives ===
     87[https://github.com/HaikuArchives] [[br]]150+ Haiku applications, many with open bug reports you can try fixing.  Here are some examples:
     88
     89
     90
     91||||||= '''Applications with 4 or more open issues''' =||
     92||= Example task =||= Example Skills =||= Example link =||
     93||~~Vision~~|| ||[https://github.com/HaikuArchives/Vision/issues]
     94||Beam|| ||[https://github.com/HaikuArchives/Beam/issues]
     95||BurnItNow|| ||[https://github.com/HaikuArchives/BurnItNow/issues]
     96||Pe|| ||[https://github.com/HaikuArchives/Pe/issues]
     97||~~Weather (written by past GCI students)~~|| ||[https://github.com/HaikuArchives/Weather/issues]
     98||BePDF|| ||[https://github.com/HaikuArchives/BePDF/issues]
     99||~~ArmyKnife~~|| ||[https://github.com/HaikuArchives/ArmyKnife/issues]
     100||~~Jabber4Haiku~~||  ||[https://github.com/HaikuArchives/Jabber4Haiku/issues]
     101||WheresMyMouse|| ||[https://github.com/HaikuArchives/WheresMyMouse/issues]
     102||Filer|| ||[https://github.com/HaikuArchives/Filer/issues]
     103||BeGet|| ||[https://github.com/HaikuArchives/BeGet/issues]
     104||~~Tipster~~|| ||[https://github.com/HaikuArchives/Tipster/issues]
     105||BeIndexed|| ||[https://github.com/HaikuArchives/BeIndexed/issues]
     106||~~Hare~~|| ||[https://github.com/HaikuArchives/Hare/issues]
     107||Finance|| ||[https://github.com/HaikuArchives/Finance/issues]
     108||ClipUp|| ||[https://github.com/HaikuArchives/ClipUp/issues]
     109||BShisen|| ||[https://github.com/HaikuArchives/BShisen/blob/master/TODO]
     110||A-Book|| ||[https://github.com/HaikuArchives/A-Book/issues]
     111||~~FtpPositive~~|| ||[https://github.com/HaikuArchives/FtpPositive/issues]
     112||ArtPaint|| ||[https://github.com/HaikuArchives/ArtPaint/issues]
     113||Organizer|| ||[https://github.com/HaikuArchives/Organizer/issues]
     114||Paladin|| ||[https://github.com/HaikuArchives/Paladin/issues]
     115||SimplyVorbis|| ||[https://github.com/HaikuArchives/SimplyVorbis/issues]
     116||PhotoGrabber|| ||[https://github.com/HaikuArchives/PhotoGrabber/issues]
     117||BeAE|| ||[https://github.com/HaikuArchives/BeAE/issues]
     118||Masterpiece|| ||[https://github.com/HaikuArchives/Masterpiece/issues]
     119||Globe|| ||[https://github.com/HaikuArchives/Globe/issues]
     120||FilWip|| ||[https://github.com/HaikuArchives/FilWip/issues]
     121||DocumentViewer|| ||[https://github.com/HaikuArchives/DocumentViewer/issues]
     122
     123=== 1.7 Fix issues reported by Coverity ===
     124~~[https://dev.haiku-os.org/wiki/Coverity]~~
     125
     126
     127=== 1.8 Write recipes for HaikuPorter ===
     128
     129Try building other open source apps on Haiku and write a recipe to allow HaikuPorter to build it.
     130||~~MuseScore~~|| ||[https://musescore.org/] (already building with some patching, see [https://github.com/mmuman/MuseScore/tree/haiku])
     131
     132
     133=== 1.9 Add scripting interfaces to applications to make it more useful ===
     134[https://www.haiku-os.org/documents/dev/using_scripting_in_haiku Scripting] is used in Haiku to interact programmatically with applications,like with the hey CLI tool. All apps already support basic scripting through the App Kit, but some would benefit from more specific scripting interfaces.
     135
     136||||||= '''Applications that needs specific scripting interfaces''' =||
     137||= Example app =||= Example need =||
     138||~~Magnify~~|| Make Magnify controllable by scripting, like zoom factor, and other actions.
     139||~~MediaPlayer~~|| Expose the current track as a scripting object, possibly reusing SoundPlay's interface.
     140
     141=== 1.10 Add accessibility features to applications to make them more useful to disabled people ===
     142Haiku already has some applications that could be useful for accessibility, but aren't really tailored with it in mind. The idea is to make them more useful in this context.
     143
     144||||||= '''Applications that needs accessibility features''' =||
     145||= Example app =||= Example need =||
     146||~~Magnify~~|| Make Magnify follow caret when mouse is not moving. Make Magnify "dockable" to the screen bottom or top.
     147
     148
     149
     150== 2.0 Documentation/Training ==
     151Tasks related to creating/editing documents and helping others learn more.
     152
     153||= Example task =||= Example Skills =||= Example link =||
     154||~~Write an article on how to use unit tests when developing Haiku~~||English||[https://dev.haiku-os.org/ticket/12249 Ticket on subject]||
     155||~~Convert [https://gist.github.com/richienyhus/7ec11d908e4a2f2cc554bc3d43169d7e AMD SimNow article] to markdown and update~~||html, markdown||https://github.com/haiku/website||
     156||~~Convert [https://gist.github.com/richienyhus/9bfc33ae30eefbd705a8d33323798cee QEMU article] to markdown and update~~||html, markdown||https://github.com/haiku/website||
     157||~~Convert [https://gist.github.com/richienyhus/7732629c46f364d8d13351640b89d02e KVM article] to markdown and update~~||html, markdown||https://github.com/haiku/website||
     158||~~Convert [https://gist.github.com/richienyhus/7907670094f771a5907110f3673b5065 VMware Workstation article] to markdown and update~~||html, markdown||https://github.com/haiku/website||
     159||~~Convert [https://gist.github.com/richienyhus/03ed54d28d94d5da6e60513834910be3 VMware Fusion article] to markdown and update~~||html, markdown||https://github.com/haiku/website||
     160||~~Convert [https://gist.github.com/richienyhus/c0799f5a07a4cb2bd5d2170d5caa8219 Parallels Desktop article] to markdown and update~~||html, markdown||https://github.com/haiku/website||
     161||~~Write an article on how to run Haiku with veertu~~||English||https://veertu.com||
     162||~~Write an article on how to run Haiku with ProxmoxVE~~||English||http://www.proxmox.com/||
     163||~~Write an article on how to run Haiku with Xen~~||English||https://www.xenproject.org||
     164||~~API documentation for Network Kit classes~~|| || ||
     165||~~API documentation for Keystore~~|| || ||
     166
     167
     168=== 2.1 Learn to program with Haiku ===
     169~~Work through the Haiku programming books learning how to program in C++ as you go.~~
     170=== 2.2 Write a new lession for the programming with Haiku books ===
     171Write a lesson covering a Haiku related topic that isn't already covered in the book(s).
     172
     173
     174
     175
     176== 3.0 Outreach/Research ==
     177Tasks related to community management, outreach/marketing, or studying problems and recommending solutions.
     178
     179||= Example task =||= Example Skills =||= Example link =||
     180||~~Research the current status of the Scooby codebase~~|| ||[SoftwareInfo/Applications/EmailClient Wiki page on Scooby]||
     181||Investigate Trac-Buildbot intergration ||Python, html||[https://dev.haiku-os.org/ticket/11415 Ticket on subject]||
     182||~~Investigate our AMD GPU support and update our wiki to match~~|| ||[wiki:HardwareInfo/video/ATI Haiku Wiki page on AMD/ATI video cards]||
     183||~~Investigate our NVidia GPU support and update our wiki to match~~|| ||[wiki:HardwareInfo/video/NVidia Haiku Wiki page on NVidia video cards]||
     184||~~Investigate our Intel GPU support and update our wiki to match~~|| ||[wiki:HardwareInfo/video/Intel Haiku Wiki page on Intel video cards]||
     185||~~Investigate our VIA GPU support and update our wiki to match~~|| ||[wiki:HardwareInfo/video/via Haiku Wiki page on VIA video cards]||
     186
     187== 4.0 Quality Assurance ==
     188Tasks related to testing and ensuring code is of high quality.
     189=== 4.1 ~~Test builds of Haiku on various hardware and see if certain issues still exist or not ===
     190[[BR]]Examples: ~~
     191* ~~[https://dev.haiku-os.org/ticket/9404]~~
     192* ~~[https://dev.haiku-os.org/ticket/9833]~~
     193* ~~[https://dev.haiku-os.org/ticket/5779]~~
     194*
     195
     196== 5.0 User Interface ==
     197Tasks related to user experience research or user interface design and interaction
     198
     199=== 5.1 Improve UI on old BeOS/Haiku apps ===
     200Convert old BeOS/Haiku programs from Haiku Archives to use layout management and improve the UI, see 1.6
     201* [https://github.com/HaikuArchives/Hare/issues/1]
     202* ~~[https://github.com/HaikuArchives/ArmyKnife/issues/5]~~
     203* ~~[https://github.com/HaikuArchives/ArmyKnife/issues/3]~~
     204* ~~[https://github.com/HaikuArchives/ArmyKnife/issues/1]~~
     205
     206
     207=== 5.2 Improve UI of a Haiku component ===
     208* [wiki:HardwareInfo/Bluetooth Improve Bluetooth's PinCode Window (or move it to interface kit?)]
     209* [wiki:HardwareInfo/Bluetooth Improve Bluetooth's Incomming connection Window (or move it to interface kit?)]
     210* [wiki:HardwareInfo/Bluetooth Improve Bluetooth by putting non relevant information under a ToolTip]
     211
     212== 6.0 Design and artwork ==
     213 * Wallpapers, T-Shirt designs
     214 * New small "square" platform logo to replace the current one
     215 * ~~Design a tileset for SDLopan and/or BShisen (in vector format)~~