Jump to content

GoogleCodeIn/2010/Ideas

From KDE Community Wiki

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

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:

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:

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:

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:

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.
Outcome: A more complete/modern oxygen icon set.
Difficulty: medium
Time: 1 month
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)


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])


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])

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)

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).
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: 4 week
IRC: #klluminati on freenode
Mentor: Guillermo Amaral (gamaral at kde dot org)

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

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)


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.
Outcome: A more complete/modern oxygen icon set.
Difficulty: medium
Time: 1 month
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)


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])


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])

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)

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).
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: 4 week
IRC: #klluminati on freenode
Mentor: Guillermo Amaral (gamaral at kde dot org)

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

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)

History docker

Area: Code
Description: Implement a docker that show a list with the last undo steps, using a QUndoView. It should even be possible to make it working for all KOffice applications.
Outcome: Happy artists, better visibility of the undo actions.
Difficulty: easy
Time: few days
IRC: #krita on freenode
Mailing List: kimageshop at kde org

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)