GoogleCodeIn/2010/Ideas
Guidelines
Information for Students
This page is for collecting ideas for Google Code-in tasks. The tasks will be moved into Melange for you to claim when appropriate.
Adding a Proposal
When adding an idea to this section, please try to include the following data:
- if the application is not widely known, a description of what it does and where its code lives
- a brief explanation
- the expected results
- pre-requisites for working on your project if any
- if applicable, links to more information or discussions
- mailing list or IRC channel for your application/library/module
- your name and email address for contact (if you're willing to be a mentor)
- difficulty of the proposal - must be one of easy, medium, hard
- time to complete the proposal
- the area the proposal is related to. This can be any of the following:
- Code: Tasks related to writing or refactoring code
- Documentation: Tasks related to creating/editing documents
- Outreach: Tasks related to community management and outreach/marketing
- Quality Assurance: Tasks related to testing and ensuring code is of high quality
- Research: Tasks related to studying a problem and recommending solutions
- Training: Tasks related to helping others learn more
- Translation: Tasks related to localization
- User Interface: Tasks related to user experience research or user interface design and interaction
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.
Ideas
Outreach
OpenHatch 1
Area: Research
Description: Investigate how well represented KDE is on OpenHatch.org, a volunteer opportunities finder. Based on this make suggestions where improvements can be made.
Outcome: a clear picture of what has to be done to represent KDE better on OpenHatch
Difficulty: easy
Time: 3 days
IRC: #kde-cwg on freenode
Mailing List: kde-devel at kde.org
Mentor: Lydia Pintscher (lydia at kde.org)
OpenHatch 2
Area: Outreach
Description: Based on the investigation in the previous task work with the Community Working Group to improve the representation of KDE on OpenHatch.org.
Outcome: better representation of KDE on OpenHatch
Difficulty: easy
Time: 1 week
IRC: #kde-cwg on freenode
Mailing List: kde-devel at kde.org
Mentor: Lydia Pintscher (lydia at kde.org)
Promotion and Marketing
Video ad for KDE
Area: Outreach
Description: Use all your creativity to create an innovating short film promoting KDE. We are looking for an advertise with new ideas that communicate the spirit behind KDE.
Outcome: A short film (less that 2 minutes) promoting KDE
Difficulty: medium
Time: 1 week
IRC: #kdenlive on freenode
Mailing List: kdenlive-devel at lists dot sourceforge dot net
Mentor: Jorge Salgueiro ([email protected])
Overhaul the Promo wiki
Area: Documentation
Description: Go through the KDE Promo wiki pages, remove obsolete content, update pages and provide a good navigation structure
Outcome: A more useful wiki
Difficulty: easy
Time: 2 weeks
IRC: #kde-promo on freenode
Mailing List: kde-promo at kde dot org
Mentor: Stuart Jarvis ([email protected])
KDE Slide Show
Area: Outreach
Description: Create a slide show introducing KDE and its software, through a mixture of images and text
Outcome: Cool stuff to have in the background at booths
Difficulty: medium
Time: 1 week
IRC: #kde-promo on freenode
Mailing List: kde-promo at kde dot org
Mentor: Stuart Jarvis ([email protected])
Workspace Screencasts
Area: Outreach
Description: Create a screencast aimed at getting Windows and Mac users started with Plasma Desktop and/or Plasma Netbook
Outcome: Simple 'getting started' guide for placing on KDE website, potential future distribution with KDE software
Difficulty: medium
Time: 2 weesk
IRC: #kde-promo on freenode
Mailing List: kde-promo at kde dot org
Mentor: Stuart Jarvis ([email protected] - I can advise on content, but not on how to make a screencast)
KDE Live CD
Area: Outreach
Description: KDe is not affiliated to and does not endorse any particular Linux distribution, however, by necessity we often use a distro Live CD to demo our software, even though it may be different to what we release. Based on an existing distribution, create a Live CD that contains only KDE branding and vanilla KDE software
Outcome: Pure KDE Live CD to demo KDE software at conferences and shows
Difficulty: medium
Time: 4 weesk
IRC: #kde-promo on freenode
Mailing List: kde-promo at kde dot org
Mentor: Sandro Andrade ([email protected])
Oxygen
Icon junior Job
Area:User Interface
Description: Oxygen needs many many icons, some need to be updated to the new look and feel, some need to be created from scratch. Create or update three icons.
Outcome: A more complete/modern oxygen icon set.
Difficulty: medium
Time: 1 week
IRC: #Oxygen on freenode
Mailing List: all at oxygen-icons org
Mentor: Nuno Pinheiro ([email protected])
Amarok
Conference poster
Area: Outreach
Description: Amarok needs a poster giving an overview of what Amarok is. It should be big, good-looking, easy to read and informative. http://amarok.kde.org/en/features can be taken as the basis for the poster but needs to be checked for correctness with the Amarok promo team.
Outcome: ready to print PDF of a shiny poster that will tell conference visitors more about Amarok.
Difficulty: medium
Time: 1 week
IRC: #amarok on freenode
Mailing List: amarok at kde org
Mentor: Lydia Pintscher (lydia at kde org)
Bugs and wishes cleanup
Area:Quality Assurance
Description: Amarok has quite a big list of bugs and wishes. Unfortunately there are also quite a few duplicates, and bugs or wishes that my have slipped from attention. Besides marking duplicates as such, the reports for older versions than the current stable one need to be cleaned up as well. To check the validity, this needs testing in the latest stable version,
The task consists of both testing and cleanup, available for two students who will do 20 testing items and 50 cleanups.
Outcome: a) Having a better picture of the importance of ticket handling. b) Being able to give a hand in bug triaging c) Capable of using the search features of bugzilla as well as capable of testing stable software releases. d) Capable of writing a testing plan for further use.
Prerequisites: logic thinking, methodic work.
Difficulty: easy to medium
Time: 1-2 weeks
IRC: #amarok on irc.freenode.net
Mailing List: amarok at kde org
Mentor: Myriam Schweingruber (myriam at kde org)
Moodbar file generation
Area: Code
Description: Amarok currently supports moodbar display but the actual .mood files have to be generated. Write a Amarok plugin in QtScript (JavaScript) that generates the moodbar files from within Amarok.
Outcome: Amarok should be able to generate moodbar files for the entire Local Collection and should generate .mood files when tracks are added or removed.
Starting Point: This script is a good starting point.
Prerequisites: Basic JavaScript knowledge
Difficulty: Medium
Time: 1-2 weeks
IRC: #amarok on irc.freenode.net
Mailing List: amarok at kde org
Mentor: Nikhil Marathe ([email protected])
First run tutorial text
Area: Documentation
Description: Amarok needs a first-st run tutorial for new users. The task consists of writing the text for this tutorial.
Outcome: A usable first-run tutorial text that can later be integrated in Amarok.
Difficulty: medium
Time: 1 week
IRC: #amarok on irc.freenode.net
Mailing List: amarok at kde org
Mentor: Mark Kretschmann (kretschmann at kde org)
Article explaining How To use Automated Playlist Generator
Area: Documentation
Description: This feature of Amarok can be complicated to the new user.
Outcome: A clear article for the Insider, and basis for APG Handbook section.
Difficulty: medium
Time: 1 week
IRC: #amarok on irc.freenode.net
Mailing List: amarok at kde org
Mentor: Valorie Zimmerman (valorie dot zimmerman at gmail dot com)
First run tutorial code
Area: Code
Description: Amarok needs a first-st run tutorial for new users. The task consists of
a) Layout organisation of the tutorial,
b) writing the code that calls the content,
c) add an option to choose between 2 application layouts, Amarok 1.4.x or Amarok 2.4.x
Outcome: A usable st-run tutorial that can be integrated in Amarok.
Difficulty: medium
Time: 4 weeks
IRC: #amarok on irc.freenode.net
Mailing List: amarok at kde org
Mentor: Mark Kretschmann (kretschmann at kde org)
Qt warnings cleanup
Area: Code
Description: Amarok has a number of warnings, generated by Qt at runtime, mostly because of incorrect Signal/Slot connections. Those are easy to fix, but they can be hard to spot. One needs to try as many features in Amarok as possible, and then watch out for warnings on the console.
Outcome: All Qt warnings fixed.
Difficulty: easy
Time: 2 weeks
IRC: #amarok on irc.freenode.net
Mailing List: amarok at kde org
Mentor: Mark Kretschmann (kretschmann at kde org)
Wiki cleanup: outdated pages
Area: Documentation
Description: Amarok's wiki is a vast source of information accumulated over many years. Unfortunately, this time frame means that the wiki has accumulated significant amounts of oudated and unusable information. The largest section of this is the group of pages relating to pre-2.0 releases of Amarok (e.g., Amarok 1.4), all of which are no longer officially supported. As part of the wiki cleanup, these outdated pages need to be identified and moved, while maintaining the self-consistency of the rest of the wiki (mainly involving updating links).
Outcome: A much more organised, manageable, and up-to-date wiki.
Difficulty: easy
Time: 1-2 weeks
IRC: #rokymotion and #amarok on freenode
Mailing List: amarok-promo at kde org and amarok at kde org
Mentor: James Duncan (jduncan at kdemail net)
Wiki cleanup: translated pages
Area: Documentation
Description: Amarok's wiki is a vast source of information, and a large portion of that information has been translated twice over (sometimes more). The current scheme the wiki uses to store the translated pages is difficult to maintain and vastly more complex than it needs to be. This task involves reorganising the translated pages and coding up "intelligent" templates to implicitly link them appropriately.
Outcome: A significantly more maintainable internationalisation structure for the Amarok wiki.
Difficulty: easy to medium
Time: 1-2 weeks
IRC: #rokymotion and #amarok on freenode
Mailing List: amarok-promo at kde org and amarok at kde org
Mentor: James Duncan (jduncan at kdemail net)
KAlgebra
Mobile applet
Area: Code
Description: Think of what utilities you would like to have in your calculator and add them to KAlgebra Mobile version, it would be using some JavaScript bindings for KAlgebra so it would be quite simple.
Outcome: New and useful little tools ready to use on your device.
Difficulty: hard
Time: 1 week
IRC: #kde-edu on freenode
Mailing List: kde-edu at kde org
Mentor: Aleix Pol ([email protected])
Physics Library
Area: Code
Description: Think of one area that you like from your physics book and translate the formulae from your book into KAlgebra language.
Outcome: New library that will be available for everyone to use.
Difficulty: medium
Time: 1 week
IRC: #kde-edu on freenode
Mailing List: kde-edu at kde org
Mentor: Aleix Pol ([email protected])
Homework
Area: Documentation
Description: Try to solve different mathematics problems from class using KAlgebra. Explain how you did it, what turned out good and bad.
Outcome: For us, a good example on how KAlgebra is being used, for the rest an example of how to properly use KAlgebra.
Difficulty: medium
Time: 1 week
IRC: #kde-edu on freenode
Mailing List: kde-edu at kde org
Mentor: Aleix Pol ([email protected])
KStars
KStars is an application that aims to be the all-in-one astronomy portal. It draws a map of the sky, does some cool calculations, helps manage your observations amongst other things! Help us take it even further!
Document the Observation Planner
Area: Documentation
Description: Write clear documentation on all currently implemented functionalities of the Observation Planner in KStars. The help is essentially outdated, and this task aims to update it. This will involve learning a really simple schema called Docbook, which you can learn by looking at other help files. The next thing you would do is to explain how to use the Observation Planner tool and explain what each feature does, with appropriate screenshots. Will be a good task to pick if you are an amateur astronomer.
Outcome: A nice help / user guide for the Observation Planner.
Difficulty: easy
Time: 1 week ~ 1.5 weeks
IRC: #kde-edu on freenode
Mailing List: [email protected]
Mentor: Akarsh Simha <[email protected]>; IRC: kstar
Documentation on Types of Telescopes
Area: Documentation
Description: As a part of KStars, there was a project called AstroInfo that was started several years ago. The aim of the project is to provide an encyclopedia of information accessible from within KStars, with stuff that you can try from within KStars to enhance your understanding! This content is not supposed to be as in-depth as a full-fledged encyclopedia like Wikipedia, but at a much more accessible level. The aim of this project is to write a few articles about Telescopes. It should include these topics: Types of telescopes, Parameters used to describe telescopes (aperture, focal length) etc, Image quality and Aberrations, Calculation of magnification / Field-of-view. There should also be examples of how to use KStars to calculate the FOV of a telescope. A great task to pick if you are planning to do something physics / astronomy related in future.
Also note that you should write all text on your own and not just copy-paste from other sources. Copy-pasting from other sources without appropriate attribution, called plagiarism, is a crime. Copy-pasting might not be allowed (even with attribution) by some sources, depending on their licensing terms. So you should write things on your own.
Outcome: Information about telescopes as part of the AstroInfo project.
Difficulty: easy
Time: 1 week ~ 1.5 weeks
IRC: #kde-edu on freenode
Mailing List: [email protected]
Mentor: Akarsh Simha <[email protected]>; IRC: kstar
Area: Code
Description: Astronomy can have a lot of technical terms, and these can make astronomy in general, and KStars, inaccessible to a beginner. The aim of this project is to connect up to the documentation in the AstroInfo project (read about AstroInfo in the previous task description) from various menus in KStars. Wherever there is a technical term in KStars (eg: RA / Dec / Airmass etc in the Details Dialog, Catalog numbers / magnitude / constellation name in the context menu when clicking on an object), there should be a clickable link that takes the user to the corresponding page from the Astroinfo project.
To do this project, you should know basic C++ and should be able to learn to use a couple of Qt-specific things pretty fast.
TODO: Add more detail.
Outcome: Links to information near technical terms in KStars
Difficulty: medium
Time: 2 weeks
IRC: #kde-edu on freenode
Mailing List: [email protected]
Mentor: Akarsh Simha <[email protected]>; IRC: kstar
Did you know? facts
Area: Documentation
Description: The "Tip of the Day" in KStars is used to educate users both about the capabilities of KStars and about astronomy. Include at least 20 more interesting tips about astronomy and KStars. Students interested in astronomy / physics might be more interested, and more capable of doing this task.
Outcome: More facts / tips in KStars.
Difficulty: easy
Time: 1 week
IRC: #kde-edu on freenode
Mailing List: [email protected]
Mentor: Akarsh Simha <[email protected]>; IRC: kstar
Stellar evolution
Area: Documentation
Description: The AstroInfo project doesn't have a theoretical article about stellar evolution. Learn as much as you can about stellar evolution, and write your own article, for the AstroInfo project. Be careful about information or pictures you take from other sources (plagiarism is not accepted, under any form) and always give credit to the original author.
Also, write at least 5 "Tip of the Day" facts from your article, to be used within KStars.
Outcome: Basic stellar evolution concepts in AstroInfo and KStars
Difficulty: easy
Time: few days
IRC: #kde-edu on freenode
Mailing List: [email protected]
Mentor: Victor Carbune <[email protected]>; IRC: carbonix
New screenshots!
Area: Documentation
Description: The screenshots used in the KStars manual and the AstroInfo project are really old. The aim of this task is to replace all the old pictures with new ones.
Outcome: Updated help files, which reflect the current look and feel of KStars.
Difficulty: easy
Time: 1 week
IRC: #kde-edu on freenode
Mailing List: [email protected]
Mentor: Akarsh Simha <[email protected]>; IRC: kstar
Remove code duplication in Observing List
Area: Code
Description: The observing list code (observinglist.cpp) currently has a lot of duplicate code that can be removed. The aim of this is to remove all possible code duplication in observinglist.cpp.
This will require basic knowledge of C++ and ability to adapt to an unfamiliar API (if you're not familiar with Qt).
Outcome: Cleaner code in observinglist.cpp
Difficulty: medium
Time: 3 weeks
IRC: #kde-edu on freenode
Mailing List: [email protected]
Mentor: Akarsh Simha <[email protected]>; IRC: kstar
Document and improve the refraction algorithm
Area: Code
Description: The current algorithm used to compute the refraction can be improved. The first step is to find out common numerical algorithms recommended to determine the optical refraction. The second step is to read the exiting code, figure out if improvements are possible and either rewrite it, or write from scratch your own implementation, such that it becomes more accurate. The third and last step is to describe your new implementation in the AstroInfo project.
C++ interest is required.
Outcome: Accurate determination of the optical refraction
Difficulty: medium
Time: 1 week
IRC: #kde-edu on freenode
Mailing List: [email protected]
Mentor: Victor Carbune <[email protected]>; IRC: carbonix
Parley
Vocabulary Test
Area: Documentation
Description: Prepare for a vocabulary test with Parley.
While doing that, write an introduction with screen-shots how you used and configured the program.
With your tutorial it should be easy to get up and running to use Parley for those knowledge based tests.
Outcome: A tutorial with screen-shots that explains one use case for Parley.
Difficulty: easy
Time: 1 week
IRC: #kde-edu on freenode
Mailing List: kde-edu at kde org
Mentor: Frederik Gladhorn ([email protected])
Create a new Theme
Area: Artwork/User Interface
Description: Parley themes are done in SVG and bring some fresh color and fun images to the learning experience. We have already a few themes, but it would be great to expand those. Creating a theme is just a matter of taking one of the existing ones, replacing the images and colors and at the end zipping it all up for others to download. You can look at the existing Parley Themes for example.
Outcome: A new Parley Theme that makes learning vocabulary more fun.
Difficulty: easy, requires editing svg files (for example with Inkscape)
Time: 2 weeks
IRC: #kde-edu on freenode
Mailing List: kde-edu at kde org
Mentor: Frederik Gladhorn ([email protected])
Spell-checking improvements
Area: Code
Description: There is a basic implementation for spell-checking in Parley. It is in a very rough state and prone to crashes. Improving the language selection and making it possible to check the spelling in one language at a time will make this feature much more useful.
Outcome: Spell-checking per language is possible, better language selection.
Difficulty: hard, at least basic C++ knowledge required
Time: 2 weeks (1 week to get Parley compiled, 1 week to change the code)
IRC: #kde-edu on freenode, talk to fregl
Mailing List: kde-edu at kde org
Mentor: Frederik Gladhorn ([email protected])
Plasma
DataEngine documentation
Area: Documentation
Description: Documentation of the sources and data structure of the most important dataengines currently shipped in the Plasma workspace, with extensive tutorials on ho to use them
Outcome: Techbase wiki pages of documentation of the tructure of the dataengines and pages of tutorials
Difficulty: easy
Time: 1-2 weeks
IRC: #plasma on freenode
Mailing list: plasma-devel at kde dot org
Mentor: Marco Martin (mart at kde dot org)
QML plasmoid
Area: Code
Decription: with the KDE Plasma Workspace 4.6 there is the new possibility to write plasmoids in QML and Javascript, let's try to rewrite one of the standard plasmoids in this language
Outcome: a simple plasmoid of the default set reimplemented almost identic in QML (suggested: RSSnow) this will kickstart the migration towards QtComponents and scene graph
Difficulty: easy
Time: 1 week
IRC: #plasma on freenode
Mailing list: plasma-devel at kde dot org
Mentor: Marco Martin (mart at kde dot org)
How to Screencast
Area: Promo/documentation
Decription: Make screencasts on some Plasma features like "how to create an activity?" "how change wallpaper"? "how download new plasmoids?" and so on
Outcome: A series of screencast videos with voice ove that explains how to use important features in the KDE Plasma Workspace
Difficulty: medium
Time: 1 week
IRC: #plasma on freenode
Mailing list: plasma-devel at kde dot org
Mentor: Marco Martin (mart at kde dot org)
Bookmarks plasmoid
Area: Bugfix
Decription: Fix and polish the behaviour of the Bookmarks plasmoid
Outcome: The bookmarks plasmoid should behave better on bookmarks change, plasmoid resizing and be aware of activity change (last part facultative)
Difficulty: easy
Time: up to 1 week
IRC: #plasma on freenode
Mailing list: plasma-devel at kde dot org
Mentor: Marco Martin (mart at kde dot org)
Fix Dashboard behaviour
Area: Bugfix
Decription: Make the dashboard go away when some actions are performed, like alt+tab, current active window changed, desktop grid effect trigger
Outcome: the dashboard should behave in a more natural and expected way hiding itself on the proper situations
Difficulty: medium
Time: up to 1 week
IRC: #plasma on freenode
Mailing list: plasma-devel at kde dot org
Mentor: Chani Armitage
Text for welcome plasmoid
Area: Documentation
Decription: Since early 4.0 days Plasma needs a plasmoid that displays a simple welcome message with some simple "did you know" or how to do a given thing.
Outcome: This task would expect some of such text of be produced, and (optional, construct a very simple mockup grade ml plasmoid to display those text snippets)
Difficulty: easy/medium
Time: 1/2 weeks
IRC: #plasma on freenode
Mailing list: plasma-devel at kde dot org
Mentor: Chani Armitage
Plasma Media Center Views
Area: Development
Description: A couple of views for PMC written using QML: one for the TV form factor and the other one for the mobile device form factor
Outcome: A couple of QML views that will hopefully be integrated with the software
Difficulty: easy
Time: 1-2 weeks
IRC: #plasma on freenode
Mailing list: plasma-devel at kde dot org
Mentor: Marco Martin (mart at kde dot org), Alessandro Diaferia (alediaferia at kde dot org)
KDE and the Masters of the Universe
News Anchor
Area: Outreach
Description: Collect, write and record a small news segment for KDEMU; News must relevant to KDE and/or the Free desktop scene. Non-KDE related content must be in some way relevant to the KDE community (like Linux or X.org news). Record a news segment for one show.
Outcome: Every week the news segment recording will be played before our usual cast takes center stage. The written version can be published both as the show notes and as a KDE DOT Article.
Difficulty: Medium
Time: 1 week (to be published multiple times)
IRC: #klluminati on freenode
Mentor: Guillermo Amaral (gamaral at kde dot org)
KDE Base
KDEPim
KMail reply to self in mailinglists
Area: Bugfixing
Description: Replayig on a mail in a mailinglist sent by ourselves makes kmail reply to our own address rather than the mailinglist one.
Outcome: Make KMil reply to the mailing list address
Difficulty: Medium
Time: 1 week
IRC: ???
Mentor: ???
KOffice
KSpread
Implement byte-position text functions as aliases for the normal text functions
Area: Code
Description: The OpenDocument specification, which specifies formulas that should be supported by spreadsheet applications, defines a number of so-called byte-position text functions. These functions are currently not supported in kspread, and adding support for them is rather easy as they can just be aliases for the character-position text functions (these functions are FINDB, LEFTB, LENB, MIDB, REPLACEB, RIGHTB and SEARCHB).
Outcome: Support for the byte-position text functions, by adding them as alias to the character-position text functions.
Difficulty: easy
Time: 1-2 days
IRC: #koffice on freenode
Mailing List: koffice-devel at kde org
Mentor: Marijn Kruisselbrink ([email protected])
Add support for the PERMUTATIONA function to kspread
Area: Code
Description: Among the spreadsheet functions that are currently not supported by KSpread but are defined in the OpenDocument specification (which kspread aims to fully implement at some point), is the PERMUTATIONA function. PERMUTATIONA is very similar to the currently supported POWER function, it mostly puts some extra constraints on the input values (that should result in an error as output value), so for the implementation the current POWER implementation should be helpfull.
Outcome: Support for the PERMUTATIONA function in kspread
Difficulty: medium
Time: 1 week
IRC: #koffice on freenode
Mailing List: koffice-devel at kde org
Mentor: Marijn Kruisselbrink ([email protected])
Krita
Pixel Filters and Artistic Filters
Area: Code
Description: This can split in as many projects as needed. Krita has quite a few pixel filters already that can sharpen, change color and so on. However, we are lacking in flexible artistic filters (raindrops, various kinds
of artist imitation like Seurat or van Gogh) and some noise filters like Sobel. These filters can either be implemented in C++ or in OpenGTL or OpenShiva. This task entails searching available information for interesting algorithms and then implementing them.
Outcome: Many weird and wonderful filters
Difficulty: medium
Time: about a week per filter if you haven't done this before
IRC: #krita on freenode
Mailing List: kimageshop at kde org
Mentor: Boudewijn Rempt ([email protected])
Implement GIMP's VBR Brush support
Area: Code
Description: VBR Brush file format is used by GIMP for storing parametric brushes. They are used by digital artists. It is simple text file. Your task is to implement loading of this brush format as preset for the brush engine Pixel Brush, which is equivalent to the brush engine in GIMP.
Outcome: Happy artists, better interoperability with GIMP
Difficulty: medium
Time: few days
IRC: #krita on freenode
Mailing List: kimageshop at kde org
Mentor: Lukáš Tvrdý (lukast.dev at gmail com)
Krita YouTube videos
Area: Outreach
Description: Record Krita in action. Compile Krita 2.3 trunk and record some cool new 2.3 features in action like brush engines, mirroring and rotation of the canvas. Full list of new features can be found here http://wiki.koffice.org/index.php?title=Schedules/KOffice/2.3/Feature_Plan#Krita
Outcome: Happy developers, better visibility of Krita in the digital world
Difficulty: easy
Time: 5 days
IRC: #krita on freenode
Mailing List: kimageshop at kde org
Mentor: Lukáš Tvrdý (lukast.dev at gmail com)
Krita UML diagram
Area: Documentation
Description: Create a Unified Modeling Language (UML) diagram representing the overall structure of Krita. The purpose of this diagram would be to quickly introduce new coders (and the general public) to Krita's broad structure, and to serve as a foundation for a more complex diagram to complement the current Doxygen documentation of Krita.
Outcome: A cool diagram useful to show the world how Krita works and as graphical documentation.
Difficulty: medium/hard
Time: one or two weeks.
Mailing List: kimageshop at kde org
Mentor: José L. Vergara (pentalis at gmail.com)
Krita Mascot
Area: Outreach
Description: Gather different design proposals for a Krita mascot and a logo, research their impact on people without previous awareness and with awareness of the project. Questions to consider include whether they think the logo evokes the program's function and whether the mascot is cool enough (think Firefox, Wilber, Puffy... ;) )
Outcome: A cool mascot and logo or a list of candidates!
Difficulty: medium
Time: one or two weeks.
Mailing List: kimageshop at kde org
Mentor: José L. Vergara (pentalis at gmail.com)
Simple Mixing Brush
Area: Code
Description: Create a new brush engine for Krita. A brush that can paint with a color equal to the average of the colors underneath the brush outline (this is the simplest algorithm for a mixing brush).
Outcome: Happy artists with a brush engine that allows for simple color mixing, which at the moment is missing in Krita.
Difficulty: hard.
Time: one to three weeks
Mailing List: kimageshop at kde org
Mentor: José L. Vergara (pentalis at gmail.com). For this one you can count on me to be your teacher, not just a mentor.
KWord
Help improving support for writing OpenDocument
Area: Testing
Description: Test writing OpenDocument (ODT) files in KWord by loading ODT-documents, saving them, loading them again and identifying bugs. It is needed to trim complex documents down to the actual problem to help to identify the place in KWord that has the bug. Then we could create bugreports at http://bugs.kde.org, attach the ODT-document and a maybe even a screenshot showing the problem.
Outcome:
High-quality bugreports that describe certain bugs when saving documents in KWord as ODT-files.
Difficulty: normal.
Mailing List: koffice at kde org
Mentor: Sebastian Sauer (mail at dipe dot org).
Improve support for writing OpenDocument
Area: Code
Description: Fix bugs (see the section above about bugreports) when saving (and maybe even loading? :-) OpenDocument (ODT) files.
Difficulty: hard.
Time: months
Mailing List: koffice at kde org
Mentor: Sebastian Sauer (mail at dipe dot org).
Okular
Move KPDF bugs/wishes to Okular
Area: Bug triaging
Description: Okular is the KPDF (KDE 3 PDF viewer) successor for KDE 4, the KDE bugzilla has lots of reports against KPDF that have to be verified against Okular and closed if they are already fixed and moved to the Okular product if they still make sene.
Outcome: Happy users, Happy developers
Difficulty: medium
Time: few days
IRC: #okular on freenode
Mailing List: [email protected]
Mentor: Albert Astals Cid ([email protected])
Rekonq
Rekonq is a web browser based on KDE and Webkit. Source code is available at git.kde.org.
Add search to the bookmarks and history panes in the main content area
Area: Code
Description: Rekonq allows searching of bookmarks and history through the address bar. Add search input fields in the bookmarks/history content panes too, so that the user can search from there as well.
Outcome: Typing in the search inputs should show only relevant bookmarks/history in the pane
Difficulty: medium
Time: 1-2 weeks
IRC: #rekonq on freenode
Mailing List: [email protected]
Mentor: Nikhil Marathe ([email protected])
Remember and apply zoom settings per domain
Area: Code
Description: Currently rekonq only shows a certain zoom level while a tab is open, and that too only for that tab. Rekonq should remember zoom settings for every site and apply then whenever that site is being browsed and changes should reflect across all tabs.
Outcome: Improved zoom capabilities
Difficulty: hard
Time: 2-3 weeks
IRC: #rekonq on freenode
Mailing List: [email protected]
Mentor: Nikhil Marathe ([email protected])
Area: Code
Description: Images in web pages should have a context menu item (right-click menu) to open the image in a new tab. In addition, each page's context menu should have an entry to start 'Find' on that page's content.
Outcome: Rekonq is more user friendy
Difficulty: easy
Time: 4-5 days
IRC: #rekonq on freenode
Mailing List: [email protected]
Mentor: Nikhil Marathe ([email protected])
KDevelop
Documentation
Area: Documentation
Description: KDevelop 4 has no real user documentation whatsoever. It would help greatly if at least common workflows would be explained and especially currently not-so-obvious parts of KDevelop explained in detail.
Outcome: Initial documentation on KDevelop 4
Difficulty: easy
Time: at least one week
IRC: #kdevelop on freenode
EMail: kdevelop-devel at kdevelop org
Mentor: Milian Wolff (mail at milianw de)
Area: Screencasts/Tutorials
Description: Similar to the above, short screencasts or tutorials explaining how to achieve a given goal would help beginners to get started with KDevelop 4
Outcome: some tutorials or screencasts for KDevelop 4
Difficulty: easy
Time: at least one week
IRC: #kdevelop on freenode
EMail: kdevelop-devel at kdevelop org
Mentor: Milian Wolff (mail at milianw de)
KDE Community Forums
fighting spam
Area: Code
Description: Just like any other forum, KDE Forums being a popular resource is often a target for spammers (both human and bots). Of course, we cannot do much about the human spammers, but identifying spam bots is quite doable given that we identify the patterns. This project involves interaction with the forum staff and getting to know how the most common spam-bot profiles look. The aim is to develop a PHP script for the forum engine phpBB that would hook itself with user profile updates, track any change and pass them through regexes (say for example, for links in their signature, etc.) and move the user to a special usergroup if found suspicious.
Outcome: Spam-bots get auto moved to a special usergroup that has posting restrictions.
Difficulty: medium
Time: 1 week
IRC: #kde-forum on freenode
EMail: forum-admin at kde org
Mentor: KDE Forum Admins (forum-admin at kde org)
Translation
Polish (pl) documentation screenshots
Area: Translation
Description: Browse Polish KDE documentation and check if the current screenshots are up-to-date. Create new ones when needed. Check if the description in the documentation matches the screenshots (menu names etc).
Outcome: Better quality Polish KDE
Difficulty: easy
Time: few days
IRC: ???
Mailing List: [email protected]
Mentor: Marta Rybczynska (kde-i18n at rybczynska.net)
Polish (pl) GUI verification
Area: Translation
Description: Browse Polish KDE. Check the translation for correctness and style. Check if it matches Polish KDE guidelines.
Outcome: Better quality Polish KDE
Difficulty: easy
Time: few days to a week
IRC: ???
Mailing List: [email protected]
Mentor: Marta Rybczynska (kde-i18n at rybczynska.net)
Russian (ru) GUI translation update for Parley
Area: Translation
Description: Complete Russian localization of Parley (vocabulary trainer). Localization should comply Russian KDE team guidelines.
Outcome: More complete Russian localization of KDE
Difficulty: medium
Time: 3-5 days
IRC: ???
Mailing List: [email protected]
Mentor: Alexander Potashev ([email protected])
Russian (ru) GUI translation update for KWordQuiz
Area: Translation
Description: Complete Russian localization of Parley (flash card trainer). Localization should comply Russian KDE team guidelines.
Outcome: More complete Russian localization of KDE
Difficulty: medium
Time: 2-3 days
IRC: ???
Mailing List: [email protected]
Mentor: Alexander Potashev ([email protected])
Russian (ru) GUI and documentation translation update for Palapeli
Area: Translation
Description: Complete Russian localization of Palapeli (jigsaw puzzle game), translate Palapeli handbook into Russian. Localization and documentation translation should comply Russian KDE team guidelines.
Outcome: More complete Russian localization of KDE
Difficulty: medium
Time: 2-3 days
IRC: ???
Mailing List: [email protected]
Mentor: Alexander Potashev ([email protected])
Russian (ru) translation of documentation for KSudoku
Area: Translation
Description: Translate KSudoku handbook into Russian. Translation should comply Russian KDE team guidelines and be consistent with the GUI translation.
Outcome: More complete Russian translation of KDE documentation
Difficulty: medium
Time: 2-3 days
IRC: ???
Mailing List: [email protected]
Mentor: Alexander Potashev ([email protected])
Russian (ru) translation of sounds spoken in KTuberling
Area: Translation
Description: Translate into Russian and record the sounds spoken in KTuberling (picture game for children).
Outcome: More complete Russian localization of KDE
Difficulty: medium
Time: 1 week
IRC: ???
Mailing List: [email protected]
Mentor: Alexander Potashev ([email protected])
Russian (ru) documentation translation update for KolourPaint
Area: Translation
Description: Complete Russian translation of KolourPaint handbook. Create localized screenshots for documentation.
Outcome: More complete Russian translation of KDE documentation
Difficulty: easy
Time: 1-2 days
IRC: ???
Mailing List: [email protected]
Mentor: Alexander Potashev ([email protected])
Translation of UserBase pages
Area: Documentation/Translation
Description: Translation of sets of UserBase pages into a language of your choice. The pages should be those most needed by newcomers either to KDE Software or new to contributing to documentation. They are defined on the following pages: http://userbase.kde.org/Category:Getting_Started (with a sub-category Configuration) and http://userbase.kde.org/Category:Contributing. There are 44 pages in all. It is anticipated that on-line translation will be used, at least at first, with the student progressing to off-line translation using gettext and Lokalization should time allow.
Outcome: Useful "own-language" documentation is created and the student learns to be comfortable with translation software.
Difficulty: Easy to Medium
Time: 2 weeks
IRC: #kde-www on freenode
Mailing List: [email protected]
Mentor: Web team led for this purpose by Anne Wilson (annew at kde org)
Gluon
Gluon is an open framework for developing, playing and distributing games. Repository at https://projects.kde.org/projects/playground/games/gluon/repository
Modular Music tool
Area: Code
Description: Modular Music component will allow you to stick bits of sound together in order, with logic for which bits to select after other bits, and the ability to do cycles and the like. Learn about inheritance (because you'll be getting to know the GluonObject hierarchy system), you'll get to know Qt (as it's a C++ task), and you'll get to understand how to create games with GluonEngine.
Outcome: New and useful little tools ready to use.
Difficulty: medium
Time: 2 week
IRC: #gluon on freenode
Mailing List: gluon at lists dot tuxfamily dot org
Mentor: Gluon team
Advanced examples
Area: Code
Description: There are very simple examples, tutorials in the current state. The purpose of this task to become familiar with the API and create more advanced game example.
Outcome: New examples that will be available for everyone to learn from and use as a reference.
Difficulty: medium
Time: 2 week
IRC: #gluon on freenode
Mailing List: gluon at lists dot tuxfamily dot org
Mentor: Gluon team
Unit test and documentation
Area: Code + Documentation
Description: Write unit tests for single operations in order to make the project more test-driven which allows for easier development. Become familiar with the API and document it as you learn.
Outcome: Modularized, automated test cases for the project and better documentation.
Difficulty: medium
Time: 2 week
IRC: #gluon on freenode
Mailing List: gluon at lists dot tuxfamily dot org
Mentor: Gluon team
Enhance the Gluon Qt Player
Area: Code
Description: Gluon contains a Qt player intended to play Gluon games in a Qt interface. However, some of the features that the Gluon Player library supports are not yet implemented in the player itself.
The job will involve using the Gluon Player library to add its features to the Qt player. The student can take help from the Gluon Player Plasma Applet that already does it.
Some background information about Gluon Player is here http://gluon.gamingfreedom.org/node/7#gluon-player
Outcome: Gluon Qt Player implementing some or all features present in Gluon Player library.
Prerequisites: basic C++ knowledge
Difficulty: medium
Time: 2 weeks
IRC: #gluon on freenode
Mailing List: gluon at lists dot tuxfamily dot org
Mentor: Gluon team
Gluon Player QML Plasmoid
Area: Code
Description: Gluon consists of a Plasmoid in addition to the Qt player for use on the KDE Plasma desktop. Qt recently incorporated a technology called QML, and we are very excited about plasmoids based on it.
The job will involve using the Gluon Player library and ideas from existing C++ plasmoid to design a QML plasmoid
Some background information about Gluon Player is here http://gluon.gamingfreedom.org/node/7#gluon-player
Outcome: Gluon Player QML Plasmoid implementing some or all features present in Gluon Player library.
Difficulty: medium
Time: 1-2 weeks
IRC: #gluon on freenode
Mailing List: gluon at lists dot tuxfamily dot org
Mentor: Gluon team
Wikis
Addressing style problems with Liquid Thread discussion pages
Area: Stylesheets, css.
Description: 1) Taking an existing stylesheet which lacks documentation, identifying the sections and commenting appropriately.
2) Writing alternative styling to address specific problems identified by the web team, and commenting in the same style.
3) The two tasks should be sufficiently separate for the original author of the Mediawiki extension to add them to his work should he choose to.
Outcome: For KDE wikis, easier managed, clear threaded conversations. For other Mediawiki sites using the extension, a better documented stylesheet which will allow easier implementation with their own site's requirement.
Difficulty: Easy
Time: 1 week
IRC: #kde-www on freenode
Mailing List [email protected]
Mentor: Matthias Meßmer <messmer at kde.org>
Write a tutorial for Kopete
Area: Documentation, Mediawiki editing
Pre-Requisite: Familiarity with Instant Messaging tools, and Kopete in particular
Description: The student may choose between
1) Editing and improving existing wiki pages to provide an up-to-date guide, replacing the present outdated one, or
2) Writing a general tutorial, of several pages length and featuring screenshots, to completely replace the outdated materials.
Outcome: Documentation that accurately reflects the current capabilities of Kopete, and a guide that is easily followed by users new to Instant Messaging.
Difficulty: Easy
Time: 1 week
IRC: #kde-www on freenode
Mailing List: [email protected]
Mentor: Anne Wilson <annew at kde org>
WWW
Implement search for Capacity
Area: Code
Description: KDE's own php framework for e.g. the main site doesn't yet offer a nice search system.
Outcome: Implement a search system for mostly static php files in the KDE sites that use Capacity
Difficulty: hard
Time: 2 weeks
IRC: #kde-www on freenode
Mailing List: kde-www at kde.org
Mentor: Ingo Malchow (imalchow at kde.org)
Make Capacity workable when being used in a subdir of root www tree
Area: Bugfixing
Description: At the moment Capacity is written in a way that it can only be used in the root www dir without problems.
Outcome: Make it also work when used in a subdir
Difficulty: easy
Time: 1 week
IRC: #kde-www on freenode
Mailing List: kde-www at kde.org
Mentor: Ingo Malchow (imalchow at kde.org)
Better Capacity Documentation
Area: Documentation
Description: Capacity was partly rewritten lately, but the documentation for it is quite outdated and also not complete.
Outcome: Complete and rewrite the existing Capacity documentation
Difficulty: easy
Time: 1 week
IRC: #kde-www on freenode
Mailing List: kde-www at kde.org
Mentor: Ingo Malchow (imalchow at kde.org)
Marble
Study and Comparison of Marble
Area: Research
Description: Study different(atleast 4) Routing/Navigation Applications(optionally with a dedicated Atlas).
Outcome: A comparison of studied applications with KDE Marble and suggest features that can be added to Marble.
Difficulty: Easy
Time: 10 Days
IRC: #marble on freenode
Mailing-List:[email protected]
Mentor: Siddharth Srivastava (akssps011 (AT) gmail <DOT> com)
Proof Reading Marble Wiki
Area: Documentation
Description: Go through the Marble wiki and look for outdated pages and obsolete pages.
Outcome: List of outdated, obsolete pages and a review of wiki's navigation structure(pros and cons).
Difficulty: Easy
Time: 5 Days
IRC: #marble on freenode
Mailing-List: [email protected]
Mentor: Siddharth Srivastava (akssps011 <AT> gmail <DOT> com)