GSoC 2010/Project ideas

(Ideas List)
(Ideas List)
Line 54: Line 54:
| Global Search application || Global search application similar to Spotlight or Google desktop search || Maemo, Qt, Tracker || medium || [ Sp1ke] || ||
| Global Search application || Global search application similar to Spotlight or Google desktop search || Maemo, Qt, Tracker || medium || [ Sp1ke] || ||
| Answering Machine || Maemo,Qt|| easy || [ Brainstorm entry] || || ||
| Answering Machine/Call Rejector || Maemo,Qt|| easy || [ Brainstorm entry], [ Brainstorm entry] || || ||
|  || || ||  || || ||
|  || || ||  || || ||

Revision as of 19:05, 26 February 2010

Maemo provides a framework for developing applications for mobile devices, as well as porting existing applications in the Linux world. Look at the projects available at to get an idea of what already exists, in order to come up with your brand new ideas. They can be new functionality added to a consolidated application, a first prototype for promising new applications exploring new functionality, or a small but killer application bringing the unexpected. We recommend you to propose small challenges that can be completed successfully instead of big plans impossible to conclude in 3 months. It's useful to develop a cool new module to be used by other applications or setting a first stone in a project to attract new attention.

Add your project ideas to the table below.

If you are an accepted mentor and want to mentor one of the possible projects, add your name to the table with your nickname (eg. Valério Valério (vdvsx)).

Note: Everybody can add ideas to the list, there's no need to be a mentor or a student. Don't try to guess if your idea will be implemented in Maemo6 or not, just add it to the list. Maemo SW will help in order to avoid duplicated work.

Ideas List

Note: This list isn't exclusive, if you are a student and have an idea that isn't listed here, don't hesitate to apply with your own idea, but it's probably a good idea to ask in the Maemo community opinions about your idea.

Other possible projects/ideas can be grabbed from the Maemo community wish-list, ports wish-list and you can also take a look at the Maemo documentation in order to have some ideas.

All the ideas below are possible GSoC projects, some of them need more investigation work than others that are already in a final stages, but all of them start at the same level for us. The students must do some investigation before proposing a project; we are here to help, but it isn't acceptable to just copy and paste the descriptions below to the student's applications.

Final proposal Study of alternatives needed Draft proposal
Title Abstract/Description Skills Difficulty (Easy/Medium/Hard) Reporter Possible Mentor(s) Comments                              
Dooble Web Browser Porting webkit browser to maemo platform maemo SDK, packaging an installer easy If someone is interested in a webbrowser on maemo, we would mentor it
Facebook Events Sync Creating an application/daemon to synchronise facebook events to the calendar maemo SDK, packaging an installer easy cocayden
RetroShare Messenger Porting RetroShare Messenger maemo SDK, packaging an installer middle -
Google Reader Offline Creating an application synchronize with Google Reader to enable offline-reading of Google Reader's contents. maemo SDK, packaging an installer easy bob Frederico Schardong (frede)
OTR Support for Telepathy Integrate libotr support in the existing protocol stack maemo SDK, packaging, telepathy, some crypto medium
Remmina remote desktop Porting Remmina (, a multi-protocol GTK+ remote desktop client that supports NX, to Maemo maemo SDK, packaging an installer, familiarity with NX medium (some missing dependencies, uses newer GLib) nadavwr Remmina supports VNC and RDP, and more importantly trunk has functional NX support. It has zooming and panning features, making it appealing for low resolution displays.

The main motivation is having usable NX remoting on the N900, which would be game changing (for those who need it, anyway...)

mAuth (pronounced moth) The N900 is a very powerful device, however we can't shake away the fact that many of us still use desktops on a daily basis. Using username/password authentication is highly insecure, because it forces the repeated typing of the same credentials in the same room, roughly at the same time every day. One option for this are smart cards. However they are expensive and the concepts behind them are extremely complicated for anyone who doesn't work in the industry, and as such implementing them at home would be a nightmare. One solution around this would be to have the N900 (or any other NIT for that matter) emulate being a smart card, and use bluetooth to connect to the computer. The authentication and encryption certificates are stored on the N900 and provided to the computer when in bluetooth range, however as soon as the N900 is taken away, the session is locked as the computer believes the "smart card" has been removed. - Maemo SDK to create the smart card emulator daemon - Bluetooth networking or bluetooth bi-directional communication - PC/SC driver for Windows - Excellent documentation - great packaging extremely hard (probably impossible) crashanddie 07:46, 20 February 2010 (UTC)
Pocket Jeeves Creating a framework, API and UI to provide context-based voice interaction with Maemo. Brainstorm entry packaging, dbus, basic discrete math (language modeling), gstreamer, maemo SDK Hard (mostly due to scope). This is entirely feasible, but will take a significant amount of work to tie together everything. I have built Pocket Sphinx on Fremantle and it works as-is. Flite is already in the repos. The pieces are all there... Flandry Think handsfree mode, but for your entire mobile computer. Click the button on your headset and your Maemo butler asks "What can i do for you?" The accuracy and speed of the speech recognition can be immensely helped by making context-based grammars. E.g. if media player is operational, "next", "skip" and "softer" would all be understood. This lends itself well to sub-projects for multiple people to work on. Would like to help/mentor but not really qualified for the latter and have to graduate so no time. ;)
aGLESory Adapt or implement a flexible OpenGL wrapper for Maemo. OpenGL, libraries and gcc, packaging, documentation, maemo SDK Medium Flandry This really needs no introduction...we all know how huge it would be to have a painless wrapper for at least basic OpenGL functionality. This project would be about getting someone to blaze the path and mark it clearly.
Google apps Implement small applications and corresponding reusable libraries (Qt C++) for integrating with Google services like Mail (quick read/search without going through IMAP), Todo:s, Buzz, import opml from Google Reader Qt, api design Medium vivainio 08:13, 23 February 2010 (UTC)
Robotics Simulator Bring a full-blown robotics simulator to Maemo/MeeGo. For the start, the 2.5D simulator Player/Stage ( would be ported and a simple GUI be written. Later integration with Fawkes ( can provide some nice demos and scripting environment to start into robotics. If there is interest in this project some studies are needed to check whether the device is generally computationally powerful enough for simple scenarios. Although not a classic Maemo application, this can be seen as an educational effort to get students interested and start playing with (virtual) robots. Maemo SDK, packaging, Player/Stage, Fawkes, background in robotics software strongly recommended Hard timn Given a mentor I would like to pursue this project over the summer. It can be an eye catcher for the N900, if you can have a simulated robot on the device and instruct it to accomplish tasks.
Oscilloscope xoscope] to maemo5, using the microphone port as an input, possible carrying on the work of pinnchus GTK/X11 speculatrix
Global Search application Global search application similar to Spotlight or Google desktop search Maemo, Qt, Tracker medium Sp1ke
Answering Machine/Call Rejector Maemo,Qt easy Brainstorm entry, Brainstorm entry