GoogleCodeIn/2012/Ideas

From KDE Community Wiki
Revision as of 21:57, 3 November 2012 by DMaggot (talk | contribs) (Adding Kig Code-in Task)

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

Please only add proposals you are willing to mentor!

Please keep in mind that the tasks are going to be solved by 13 to 17 year olds.

When adding an idea to this section, please try to include the following data:

  • a brief explanation
  • the expected results
  • prerequisites for working on your project if any
  • if applicable, links to more information or discussions
  • your name and email address for contact

The proposals should be ordered by area:

  • 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
  • User Interface: Tasks related to user experience research or user interface design and interaction

If you have a good idea for a proposal but are not going to mentor it, get in contact with relevant team/contributor first.

Ideas

Code

KDE Telepathy: Allow the user to configure the theme for group chats

Description
Currently a user can configure the theme used for normal 1-1 chats, but group chats are hardcoded to use a different theme. We should have a way to configure which theme is used for group chats as well

https://bugs.kde.org/show_bug.cgi?id=282518

Prerequisites
C++, Qt
Mentor

The KDE Telepathy Team (#kde-telepathy on freenode, or [email protected] (be sure to join the mailing list first, otherwise your email may get lost))

KDE Telepathy: Provide an option on whether to go offline when the contact list closes

Description
Currently when a user goes offline they remain online if the presence applet is visible, otherwise it shows a prompt "Do you wish to go disconnect your accounts y/n". If a user selects the option "Do not show again" this never appears again and the user can never change this. Student should add an option in KDE Telepathy to say what should happen when the contact list closes.

https://bugs.kde.org/show_bug.cgi?id=306853

Prerequisites
C++, Qt
Mentor

The KDE Telepathy Team (#kde-telepathy on freenode, or [email protected] (be sure to join the mailing list first, otherwise your email may get lost))

KDE Telepathy: Make presence applet use Plasma theme icons

Description
Our current presence plasmoid uses standard oxygen icons and does not really fit the rest of icons in systray, which are all monochrome. These monochrome icons are defined by Plasma theme. The task is to update our code to load the monochrome icons if they are available, or use the current oxygen ones if not. All needed steps are written down in the bugreport (look at comment #14).

https://bugs.kde.org/show_bug.cgi?id=302993

Prerequisites
C++, Qt
Mentor

Martin Klapetek; The KDE Telepathy Team (mklapetek [at] kde.org; #kde-telepathy on freenode, or [email protected] (be sure to join the mailing list first, otherwise your email may get lost))

Amarok: Check Copyright Headers and Collect Contributor Email Addresses

Description
Amarok should be GPLv2+ licensed throughout, but not all license headers seem to contain the correct statement. Some files even miss a license header. If there is a incorrect license stated in a header the copyright holders should be contacted before making the fix. It could have been intentional (unlikely). It's useful to know who contributed to various parts of Amarok and during which period for statistical reasons. If we get a complete list and manage to maintain it, any future license changes (ex. to GPLv3) will be easier.
Mentors

Kexi: add d-pointers to classes

Description
Improve internal APIs in Kexi. This can be done easily by introducing d-poitners to classes that lack them. Details on Kexi wiki.
Prerequisites
General C++ knowledge, prior knowledge of Qt is a plus.
Mentor
Jstaniek (talk)

Pairs: add Get Hot New Stuff upload feature to Pairseditor

Description
Create a new action to provide the user to upload hers/his new Pairs Theme to a public server to make it available for the Get Hot New Stuff feature in the game.
Mentors
Marco Calignano and Aleix Pol

KGet: Code Stlye Check and Cleanup

Description
KGet currently consists of several lines of code which do not confirm to the KDE coding conventions. The task is to have KGet's codebase follow the coding conventions.
Mentors
Aish Raj Dahal [1], Lukas Appelhans [2]

KStars: Review formatting styles used in KStars

Description
There are many coding styles and variable naming conventions used in KStars. We would like to have them reviewed, file by file, to get an overview of the situation. This information would be then used to decide on recommended style guide for KStars.
Mentors
Rafal Kulaga (rl.kulaga [at] gmail.com)

ownCloud: Podcast support in the News app

Description
At the moment, the News app shows items with empty body when you add a podcast feed. The student will have to fix this, by making the app show a small music player when the item of a feed is recognized to be coming from a podcast (same behaviour of Google Reader).
Prerequisites
not advanced PHP, html5, familiarity with RSS feed reader as user
Mentor

Alessandro Cosentino (zimba12 on freenode -- email: [3])


ownCloud: Public API for images/video thumbnails generation

Description
ownCloud needs a thumbnails API for files app so the clients such us the android one can show them when exploring files without having to download the entire files by the client in order to create thumbnails. Imagine a user with hundred of images inside a folder named as IMG06258.jpg who wants to download that nice pic of his trip and don't want having to remember crappy file names nor having to download file by file to find it. See https://github.com/owncloud/core/issues/86.
Prerequisites
PHP
Mentor
Bartek Przybylski (aqu on freenode -- email: [4])

KDE Edu Playground (Mula): Remove the QtGui dependency in the core

Description
Unfortunatly the core library still has a minor method for a settings dialog, and hence it means a QtGui dependency. It would be nice to get rid of that method, the relevant include, build the project, and commit the change. This has been a long term plan, but nobody did the work yet. Simple, but very useful contribution. :)
Links
Prerequisites
Only very basic C++, Qt
Mentor

Laszlo Papp <[email protected]>

"djszapi" or "lpapp" on freenode (IRC)


KDE Edu (Kanagram): Add a timer to the game to make it more challanging

Description
The game is more challanging when you have to figure out the word in a given time frame. Configurable timer value is a plus. This would be an addition to the desktop frontend. The mobile (Harmattan) frontend already has this feature so the logic is clear. Extending the handbook would also be a plus about this feature with screenshots.
Links
Prerequisites
Basic C++, Qt
Mentor

Laszlo Papp <[email protected]>, Jeremy Whiting <jpwhiting.kde.org>

  1. kde-edu channel or/and "djszapi"/"jpwhiting" on freenode (IRC)

KDE Edu (KHangMan): Add a timer to the game to make it more challanging

Description
The game is more challanging when you have to figure out the word in a given time frame. Configurable timer value is a plus. This would be an addition to the desktop frontend. The mobile (Harmattan) frontend already has this feature so the logic is clear. Extending the handbook would also be a plus about this feature with screenshots. There is no bugzilla entry for this feature yet, but it is very similar to what has been reported against the kanagram project in theory.
Links
Prerequisites
Basic C++, Qt
Mentor

Laszlo Papp <[email protected]>

  1. kde-edu channel or/and "djszapi" on freenode (IRC)

KDE Edu (Kanagram): Avoid the confusion after revealing a word

Description
Currently, the reveal word is confusing to have enabled after revealing a word as it is no use to reveal the word by the relevant action once it is revealed. This is a confusion in the UI workflow and there has been an old bugreport about this one for a while. It would be nice to fix this once and all. :-)
Links
Prerequisites
Basic C++, Qt
Mentor

Laszlo Papp <[email protected]>, Jeremy Whiting <jpwhiting.kde.org>

  1. kde-edu channel or/and "djszapi"/"jpwhiting" on freenode (IRC)

Documentation/Training

KDE Telepathy: Update account creation documentation

Description

This task consists of 3 parts all of which must be completed:

* Update http://userbase.kde.org/Telepathy#1._How_do_I_add_a_new_IM_accounts to be more detailed with a step by step walkthrough with pictures
* Add a guide on how to add a GTalk account if you use Google 2 Factor Authentication (https://bugs.kde.org/show_bug.cgi?id=303351) 
* Update this page http://kdetalk.net/howtoregister.php to show how you'd do it with KTp details (https://bugs.kde.org/show_bug.cgi?id=303923)
Prerequisites

Be a user of KDE Telepathy. Good grasp of English. Able to take screenshots

Mentor

The KDE Telepathy Team (#kde-telepathy on freenode, or [email protected] (be sure to join the mailing list first, otherwise your email may get lost))

KDE Telepathy: Rewrite the demo chats

Description

The demo chat is a fake conversation between 2 persons that is displayed when you choose the chat theme, and that should show some of the features of that theme. Our current demo chat is good for showing the features, but the dialog is quite nonsense and useless. This tasks consist in 2 parts all of which must be completed:

  • Making the demo chat consistent and somehow useful. One idea is to make it a dialog between a new user asking some frequently asked questions about KDE Telepathy, and an expert user replying and adding links to the useful resources (wiki, bugzilla, mailing list, ecc.)
  • Writing a conversation for group chat, i.e. a dialog between 3 or more persons. This should be consistent and useful as the previous one.
Prerequisites

Very basic c++ and html. Good grasp of English.

Mentor

The KDE Telepathy Team (#kde-telepathy on freenode, or [email protected] (be sure to join the mailing list first, otherwise your email may get lost))

Amarok: Reorganize wiki in its new location

Description
Amarok is changing the location of its wiki and also needs to reorganize its wiki structure. Previously everything was in the same wiki, now we are moving to the 3 wiki site of KDE: Techbase, Community and Userbase. The existing pages need to be checked for consistency and moved to their new location after having made a structure plan.
Prerequisites
The student should be able to grasp large sets of data and be able to organize these in a logical manner. Some basic mediawiki editing knowledge is a plus.
Links
Mentor
Myriam Schweingruber, Mamarok in #amarok on irc.freenode.net

Amarok: Update components list

Description
Amarok has quite a list of different components and we recently restructured the Architecture and the bugzilla components. Update the components list wiki page with the information from bugzilla.
Prerequisites
basic mediawiki editing knowledge
Links
Mentor
Myriam or Matĕj, tbd

Update KSirK documentation

Description
KSirK documentation is moderate outdated (outdated screenshots, no description of new main menu items). Student should download documentation source and update it using HTML version as a reference, new screenshots for the default KDE theme (Oxygen) should be also presented.
Prerequisites
Moderate level of English, KDE distribution installed or run from live image.
Links
Mentor
Yuir Chornoivan

Kamoso: Create documentation

Description
Kamoso is a great program to use your webcam to take pictures or make videos, but we don't have a documentation to help our users. The student should download, install this application and use it and make a good documentation describing the main elements of the interface, such as how to take a picture, a video, what's the burst mode doing and how to share pictures and videos through facebook or youtube.


Prerequisites
Be able to install Kamoso. Good grasp of written English.


Links
Mentor
Alex Fiestas


Pairs Editor: Create documentation

Description
Pairs is a relatively new educational aplication of KDE Edu family. Pairs stimulates your memory and logic skills. It aims to help the learning for pre-school kids. We don't have a documentation to help our users to create their themes. The student should download, install this application and use it and make a good documentation describing the main elements of the interface, such as how to open a theme, create a new one and add all the needed information to have it ready for usage.
Prerequisites
Be able to install Pairs. Good grasp of written English.
Links
Mentor
Aleix Pol

Pairs Editor: Create Tooltips strings

Description
The students should add tooltips on each component in the GUI to give valuable help to the user. These should be short and clear.
Prerequisites
Be able to use QTDesigner. Good grasp of written English.

Mentor: Marco Calignano

Pairs Editor: Create What's This strings

Description
The students should add "What's This" string on each component in the GUI to give valuable help to the user. These should be short and clear.
Prerequisites
Be able to use QTDesigner. Good grasp of written English.

Mentor: Marco Calignano

ownCloud: Summary page of the apps

Description
Write a short overview describing the different types of apps available for ownCloud. Specifically explain the difference between internal and 3rd party apps at apps.owncloud.com.
Prerequisites
Good written English.
Mentor
Michael Gapczynski (MTGap on freenode -- email: [5]

ownCloud: User documentation for External Storage configuration

Description
Write a short overview describing how to configure external storage with ownCloud. Adapt the blog posts found at blog.gapinthecloud.com into proper documentation.
Prerequisites
Good written English.
Mentor
Michael Gapczynski -- email: [6]

ownCloud: Produce ownCloud FAQ

Description
The student is asked to collect the most asked questions about ownCloud in the mailing list ([7]) or on the forum ([8]) and create an FAQ list out of them. The questions should not apply to a specifc version of ownCloud. The student needs to discuss this task with the mentor before starting, so that he will get a grasp of what the important questions are.
Prerequisites
Good written English.
Mentor
Alessandro Cosentino (zimba12 on freenode -- email: [9])

ownCloud: Move documentation from Wordpress to the GitHub Infrastructure

Description
The student is asked to move ownCloud documentation from Wordpress to the GitHub Infrastructure, checking for outdated information along the way. Can be split up into two and up to four tasks (user, admin (app|core)-dev), with the user documentation being slightly simpler to handle. Requires learning reStructuredText. Applicants should feel comfortable editing foreign texts and should not be afraid of restructuring existing texts if needed.
Mentors
Daniel Molkentin (danimo on freenode); Tom Needham (tpn on freenode)

ownCloud: User documentation for File access

Description
Clean up the documentation on [owncloud.org owncloud.org] website concerning the different ways to access files in ownCloud. Along the way, make the documentation more user-friendly and exapnd it with an overview on how to interface ownCloud with different desktop and mobile file managers.
Links
Mentor
Robin Appelman (icewind on freenode -- email: [10])

ownCloud: End-user documentation for Contacts and Bookmarks apps

Description
The student is asked to write two short overviews for two ownCloud apps: the first one describing the Contacts app and how to complete some simple tasks such as adding a contact, creating an addressbook, and syncing;

the second one describing the Bookmarks app and how to complete some simple tasks such as adding and editing a bookmark, and using the bookmarklet.

Mentor
Thomas Tanghus (tanghus on freenode)

Outreach/Research

Amarok: Make a "Team" page

Description
Based on information from Amarok's "About" dialog, various social networks such as openDesktop.org, and talking to team members, make a "Team" page on Amarok's project website, like [11] or [12]. We're specifically interested in a nice design and layout, and can fill out the data ourselves later on.
Mentor
Teo Mrnjavac

Amarok: LikeBack statistics

Description
Amarok uses the Likeback feedback gathering system. Likeback is a client-server system. Its client component is a library which puts like/dislike buttons in the top right area of all the windows in an application, that allow users to send context-sensitive feedback. The server component runs on a web server hosted by the Amarok team which stores the feedback entries in a database. There's quite a lot of feedback messages, and the Amarok team hardly has the time to go through all of them. We need someone to take the database dump and analyze all the feedback gathered in the past year or so and produce a detailed report with like/dislike/feature statistics and prominent requests.
Expected results
A thorough report, maybe in a PDF document or spreadsheet, with statistics and comments. A comparison with last year's statistics is also expected.
Prerequisites
spreadsheet use, at least basic knowledge of SQL, basic writing skills and lots of patience.
Mentor
Teo Mrnjavac

KDE Forums: clean up KDE Brainstorm

Description
Currently the KDE Brainstorm (http://brainstorm.forum.kde.org) includes a lot of invalid, duplicate, or already fixed ideas. In order for both users and developers to screen them effectively, they need to be reorganized. The Brainstorm interface already allows to do this: the task involves looking through the open ideas and mark them as fixed, invalid, in [Teo Mrnjavac <[email protected]>progress, or finished.
Prerequisites
Some general knowledge about the current progress of KDE software, including recent developments.
Mentor
Luca Beltrame ([email protected])

Metrics: Check Ohloh organisation page

Description
KDE is a showcase in Ohloh's new organisation feature. We need to make sure the information in the project is accurate. Please check if there are any missing projects in the project listing and if they are correctly categorized as being a KDE project. Check for other improvements that can be done and suggest them.
Mentor
Lydia Pintscher

Metrics: MLStats

Description
Investigate MLStats and create some useful statistics for 3 mailing lists. Document your findings and work so it can be extended later.
Mentor
Lydia Pintscher

Metrics: Git stats

Description
Investigate some options to get statistics out of git that let us learn more about the project and the people working on it. Document your findings and their benefits, drawbacks and what the individual options can do.
Mentor
Lydia Pintscher

Promo: new Twitter and identi.ca backgrounds

Description
Create new backgrounds for identi.ca and Twitter similar to the ones at Promo/Material/Microblogging.
Mentor
Lydia Pintscher

KDE e.V.: Create board timeline

Description
Create a timeline for the board of directors of KDE e.V. similar to http://meta.wikimedia.org/wiki/Wikimedia_Board_of_Trustees#Chart.
Mentor
Lydia Pintscher

Promo: Create a timeline of important events in KDE's history

Description
Create a timeline of important events in KDE's history.
Mentor
Lydia Pintscher

Promo: Create an overview of KDE

Description
Create a mindmap to give an overview of KDE similar to http://de.wikipedia.org/w/index.php?title=Datei:WikimediaMovementMindmap-October2012.svg.
Mentor
Lydia Pintscher

KStars: Add a custom catalog

Description
The Catalog selected is the "Saguaro Astronomy Club catalog". Reformat and clean up the existing catalog to make it compatible for loading into KStars.
Mentor
Rishab Arora (ra.rishab [at] gmail.com)

KStars: Propose outreach actions to popularize KStars among amateur astronomers

Description
We would like to hear some fresh and unbiased opinions about outreach actions we can undertake to popularize KStars. Maybe we should use social media? Or maybe there are some nice astronomy related websites whose APIs we should implement to make KStars more attractive and useful?
Mentor
Rafal Kulaga (rl.kulaga [at] gmail.com)

Promo: Propose updates for KDE's events calendar

Description
KDE maintains an event calendar at http://events.kde.org/upcoming.php. Research dates of future events we've attended before and make a list of dates, locations and links for them.
Mentor
Lydia Pintscher

Join the Game: Come up with ideas for a social media campaign

Description
KDE e.V. is running an individual supporting membership program called Join the Game to help raise funds and connect to members. Come up with ideas for a social media campaign to raise awareness of the program. Look at what other organisations have done like the Ada Initiative.
Mentor
Lydia Pintscher

Kig: Document Geogebra Functionallity

Description
We are preparing to implement support for Geogebra files in Kig, and the first step is to create a list of all the constructions in Geogebra that will have to be mapped to or implemented in Kig. Specifically, these tasks consist of:
  1. Identifying a Geogebra construction that has not yet been added as a bug in KDE's bug tracking system
  2. Look for an equivalent construction in Kig (could be one construction or a number of constructions that lead to the Geogebra one)
  3. Add a bug at KDE's bug tracking system documenting the construction
    1. The product is KDE
    2. Fill in the details of the construction in the bug report
      • The title should be the name of the Geogebra construction
      • The description could be an equivalent Kig construction, or set of constructions to achieve the Geogebra construction, or a note indicating that it has not yet been implemented in Kig
    3. Click the Show Advanced Fields in the bug report
    4. Locate the Assigned To field and change it to the e-mail address of the mentor of these tasks
    5. Locate the Blocks field and add the following ID: 309492 (the ID of the main Geogebra support bug)
    6. Attach a Geogebra file with an example of the construction
    7. Submit the bug
Mentor
David E. Narváez

Quality Assurance

KDE Telepathy: go through our testing specification

Description

We have a testing specification that we go through before every release. http://community.kde.org/Real-Time_Communication_and_Collaboration/ReleaseTesting. We require a student to go through this test procedure and see if there are any problems with the current code

Prerequisites
Running the latest KTp from source
Mentor

The KDE Telepathy Team (#kde-telepathy on freenode, or [email protected] (be sure to join the mailing list first, otherwise your email may get lost))

Pairs Editor: testing it

Description
The Pairs Editor is a new application and needs to be tested by actual users. The student will have to try create a pairs theme using the editor and help us figure out the parts that are not working that well.
Mentors
Marco Calignano and Aleix Pol

Amarok: Testing from git

Description
While Amarok ships a stable version there also is the current development version. The student should build a development installation from git and test the main functions of Amarok and report back eventual errors, inconsistencies and bugs.
Prerequisites
The student must be able to follow clear written instructions, have a logical way of thinking. Must be able to test software independently after a short introduction
Links
Mentor
Myriam Schweingruber, Mamarok in #amarok on irc.freenode.net

ownCloud: User testing of the News app

Description
OwnCloud News app has been recently implemented as a Google Summer of Code 2012 project. So far, all the tests have been performed by developers of the app or ownCloud developers. The student will have to test the app from a user point of view, without digging into the code, and report the issues on the Github infrastructure.
Prerequisites
Two testing experience can be performed (which means two kinds of candidate): one from a user (student) who has never used a feed reader, the second one from a user (student) who regularly uses a feed reader (Google Reader, for example).
Links
Mentor

Alessandro Cosentino (zimba12 on freenode -- email: [13])

KDE Edu (Kanagram): Feature test list

Description

There has been a Quality initiation recently to boost the effort. There are some test lists available for a few KDE projects, and it would be nice to have such a list for the latest Kanagram as well. This could be a very useful towards having a testing guideline for Windows, but for sure it is also useful for other platforms like Linux or Mac. This can be achieved by using the existinghandbook for instance available from the homepage. See the link below for that.

Links
Prerequisites
Nothing, other than understanding an existing software, its documentation, and interest for sure. :-)
Mentor

Laszlo Papp <[email protected]>

"djszapi" or "lpapp" on freenode (IRC).

KDE Edu (KHangMan): Feature test list

Description

There has been a Quality initiation recently to boost the effort. There are some test lists available for a few KDE projects, and it would be nice to have such a list for the latest KHangMan as well. This could be a very useful towards having a testing guideline for Windows, but for sure it is also useful for other platforms like Linux or Mac. This can be achieved by using the existing handbook for instance available from the homepage. See the link below for that.

Links
Prerequisites
Nothing, other than understanding an existing software, its documentation, and interest for sure. :-)
Mentor

Laszlo Papp <[email protected]>

"djszapi" or "lpapp" on freenode (IRC).

User Interface

Kexi: find UI issues while running under non-KDE desktop

Description
Review Kexi UI to find glitches while running under non-KDE desktop such as Unity, GNOME or Xfce. Since Kexi is highly portable software, it is desired to have it adaptable to current look and feel of the underlying desktop.
Any found issue, suggestion or doubt should be reported. Proposing solutions is welcome too but not necessary. Providing screen shots and details of system (desktop) configuration is expected. No software engineering skills are needed. User-level understanding of Kexi is preferred.
Prerequisites
Ability of gathering data from users, aggregating it and structuring; UI design/analytic skills are welcome.
Mentor
Jstaniek (talk)

Pairs: create a new icon for Pairs Editor

Description
Modify the Pairs game icon to create a new icon for the Pairs Editor
Mentors
Marco Calignano and Aleix Pol

KAlgebra Mobile: figure out a touch-friendly keyboard

Description
We have had KAlgebra working for more than a year now and it works great. Now the problem is that the input method we're using uses the default keyboard in the device. That's good because it feels integrated, but it would be interesting to have our own keyboard targeting KAlgebra's language. In this task you'll have to design a keyboard either through a mock-up or a QML file (better) that will let the user enter any equation supported by KAlgebra's language.
Mentor
Aleix Pol Gonzalez <[email protected]>

KStars: propose UI design for mobile version of KStars

Description
We are planning to port KStars to mobile devices, tablets in particular. We would like to gather as many UI design concepts as possible. The scope of the design is to be considered, as well as the method of recording it.
Prerequisites
UI design skills and enthusiasm for work. Preferably amateur astronomer and KStars user. No coding skills needed.
Mentor
Rafal Kulaga (rl.kulaga [at] gmail.com)

KStars: design an icon for AstroBin.com API feature

Description
We are introducing AstroBin.com API support in KStars, so we're looking for a neat icon for its configuration page in Options window.
Mentor
Rafal Kulaga (rl.kulaga [at] gmail.com)

ownCloud: Keyboard shortcut for the Files app

Description
Propose and add keyboard shortcuts for actions such as creating a new text file, folder, and renaming. If possible, the behaviour of a file manager could be emulated, like entering folders or opening files on enter and selecting items with the arrow keys.
Prerequisites
JavaScript, jQuery
Mentor
Bernhard Posselt (Raydiation on freenode -- email: [14])

ownCloud: A new design for the Apps administration page

Description
Propose a new design for the page to manage apps. Remember this section will be used by admininstrators to manage applications for lots of users. The students should come up with one or more mockups for the new layout of the page.
Prerequisites
UI design skills, experience with git preferred
Mentor
Jan-Christoph Borchardt (jancborchardt on freenode)