GSoC 2010/Project ideas
(→Ideas List) |
(→Ideas List) |
||
Line 63: | Line 63: | ||
|-style="background:LightGreen" | |-style="background:LightGreen" | ||
| 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. | | 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. | ||
- | |style="background:Orange" | + | |-style="background:Orange" |
| Desktop Couch || Port Desktop Couch to the maemo platform and integrate it with various applications (contacts, calender, etc) http://www.freedesktop.org/wiki/Specifications/desktopcouch/Documentation || Desktop Couch, python packaging, documentation, maemo SDK || Medium || || || | | Desktop Couch || Port Desktop Couch to the maemo platform and integrate it with various applications (contacts, calender, etc) http://www.freedesktop.org/wiki/Specifications/desktopcouch/Documentation || Desktop Couch, python packaging, documentation, maemo SDK || Medium || || || | ||
|-style="background:" | |-style="background:" | ||
| Robotics Simulator || Bring a full-blown robotics simulator to Maemo/MeeGo. For the start, the 2.5D simulator Player/Stage (http://playerstage.sf.net) would be ported and a simple GUI be written. Later integration with Fawkes (http://www.fawkesrobotics.org) 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. | | Robotics Simulator || Bring a full-blown robotics simulator to Maemo/MeeGo. For the start, the 2.5D simulator Player/Stage (http://playerstage.sf.net) would be ported and a simple GUI be written. Later integration with Fawkes (http://www.fawkesrobotics.org) 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. | ||
- | |style="background:Orange" | + | |-style="background:Orange" |
| Chirematic || View the world around you as if color blind or various other vision impairments || Maemo SDK, packaging, GStreamer || Easy || epage || epage || Possibly beneficial to desktop Linux as well | | Chirematic || View the world around you as if color blind or various other vision impairments || Maemo SDK, packaging, GStreamer || Easy || epage || epage || Possibly beneficial to desktop Linux as well | ||
|-style="background:LightGreen" | |-style="background:LightGreen" |
Revision as of 17:34, 18 March 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 garage.maemo.org 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.
Following the merger of Moblin and Maemo, this page will also hold ideas for the new MeeGo project, for GSoC 2010.
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 maemo.org 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 MeeGo 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 http://dooble.sf.net webkit browser to maemo platform | maemo SDK, packaging an installer | easy | http://dooble.sf.net | http://dooble.sf.net | 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 | Frederico Schardong (frede) | |
RetroShare Messenger | Porting RetroShare Messenger | maemo SDK, packaging an installer | middle | http://retroshare.sf.net - http://retromessenger.sf.net | ||
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 (http://remmina.sf.net), 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...) | |
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 (Cosponsored by Sphinx.) | DHD | 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. ;) |
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) | ||
Global Search application | Global search application similar to Spotlight or Google desktop search | Maemo, Qt, Tracker | medium | Sp1ke | ||
Answering Machine/Call Rejector | Answering machine and call rejector based on black lists and white lists. Brainstorm entry, Brainstorm entry | Maemo, Qt | easy | Brainstorm entry, Brainstorm entry | ||
Oscilloscope | Port xoscope to maemo5, using the microphone port as an input, possible carrying on the work of pinnchus | GTK/X11 | speculatrix | |||
Ad-hoc Telephony | Using techniques like Bluetooth or Wifi for direct voice-connection between phones which are in range. Put this in a nice and easy GUI. | Gui, VoIP, wifi, bluetooth | easy | Frederico Schardong (frede) | ||
Gtk+ input context for Harmattan | Harmattan Text Input Method Framework can only accept text input from Qt based applications, this task is to enable text input of Gtk+ applications in Harmattan | dbus, gtk input context | medium | Mohammad Anwari | Mohammad Anwari (mdamt) | Harmattan Text Input Method Framework |
Canola UPNP plugin | Creating a plugin for Canola to deal with UPNP, possibly using the eupnp library | python, upnp | medium | lfelipe | lfelipe | |
Porting Canola to Maemo5 and beyond | This task involves making sure that Canola works on Maemo5 and also making changes to integrate it better, possibly switching from LMS to Tracker, etc. Taking Meego under consideration is a big plus. | python, C | medium | lfelipe | lfelipe | |
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) | ||
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. | |
Desktop Couch | Port Desktop Couch to the maemo platform and integrate it with various applications (contacts, calender, etc) http://www.freedesktop.org/wiki/Specifications/desktopcouch/Documentation | Desktop Couch, python packaging, documentation, maemo SDK | Medium | |||
Robotics Simulator | Bring a full-blown robotics simulator to Maemo/MeeGo. For the start, the 2.5D simulator Player/Stage (http://playerstage.sf.net) would be ported and a simple GUI be written. Later integration with Fawkes (http://www.fawkesrobotics.org) 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. | |
Chirematic | View the world around you as if color blind or various other vision impairments | Maemo SDK, packaging, GStreamer | Easy | epage | epage | Possibly beneficial to desktop Linux as well |
Locality | An Android Locale clone to automate various aspects of the OS and life | Maemo SDK, packaging, UI, possibly DBus | Medium | epage | epage | Beneficial to desktop Linux as well |
telepathy-bluewire | A bluetooth Connection Manager for plugging into Conversations and providing Tubes for peer-to-peer applications | Maemo SDK, packaging, Telepathy, Bluetooth | Hard | epage | epage | The main aim would be a prototype to determine feasibility of the idea. Beneficial to desktop Linux as well |
sharing-service-telepathy | Integrate IM file transfer support with Maemo through the Sharing plugin system | Maemo SDK, packaging, Telepathy, Maemo Sharing Plugin system | Medium | epage | epage | I think this is feasible but the fact it hasn't been done yet makes me a bit hesitant |
Qt perl bindings | Bring the Qt perl bindings to MeeGo so developers can take advantage of perl code in MeeGo | MeeGo build tool chain, perl, Qt, packaging | Hard | jeremiah | jeremiah | This would build upon a SoC project from last year. |
Group chat support for Conversations | Extend Conversations to support group chat (IRC/XMPP MUC) via Telepathy | Maemo SDK, UI, Telepathy | Easy | corecode | ||
Ebook reader | Implement a good, touch-optimized ebook reader with Qt (+ Maemo5 extensions) | Qt | Medium | vivainio 08:15, 16 March 2010 (UTC) | This should become a bigger community project, but we need a good, working starting point. Perhaps base on Okular? | |
MeeGo: cloud storage support | Bring cloud storage support to MeeGo. We are considering dropbox and Ubuntu One, and open to others. | GNOME, Python, packaging | Medium | Yan Li (yanli) | Yan Li (yanli) | Ubuntu One is interesting. Most of its code are free so we should be able to bring it to MeeGo. Same applies to dropbox. |
MeeGo: online music services support | It's convenient and fun to have direct access to online music services from the media player, as you can see in Amarok and GNOME Rhythmbox. But MeeGo Media Player lacks this support for now and we should address it. | C, Clutter | Hard | Yan Li (yanli) | Yan Li (yanli) | You have to read through MeeGo Media Player's code and write patches to add this new function. |
MeeGo: boot time optimization | MeeGo is booting fast. But no one would blame it for being even more faster, do they? | OS, Linux kernel, C | Hard | Yan Li (yanli) | Yan Li (yanli) | Basic understanding of the current skills used in Linux fast boot is needed, as well as having a good picture of read-ahead. Of course, creative thinking is the most important. |
MeeGo: power usage tuning | Linux is far from being power-optimal, not to say the complex and bulky desktop components. There are so many things can be done in this area for the vast collection of free software running on MeeGo that I don't know which is most important yet. Do you know it? | OS, profiler | Medium to Hard | Yan Li (yanli) | Yan Li (yanli) | PowerTOP is a good start. The hard part in this idea is the participant has to have a power meter to measure the real-time power usage, or you have no way to know your progress. Some computer science or EE labs in universities have that meter. But there are still tasks can be done even without a power meter, like running major software parts within a profiler to identify and optimize hot spots. |
MeeGo: GUI for fsck | MeeGo lacks a beautiful GUI for fsck. When fsck is running, there should be a GUI to show the progress and when it's done, another dialog to show the result and ask for actions to take. | OS, C | Hard | Yan Li (yanli) | Yan Li (yanli) | The hard part here is that when fsck is supposed to be running, we have no X, so the GUI has to be running with framebuffer. |
MeeGo: Better handling of X failures | X should be running well and unknown to end user for most time, but it does fail, sometimes. When it fails, MeeGo should handle it gracefully. Currently MeeGo's uxlauncher just keeps fingers crossed and restarts X, but sometimes things go really wrong and X can't start at all, and the users are faced a dead-loop with screen flickrs every 10 seconds. We may need a safe-mode, or learn from Ubuntu's BulletProofX | MeeGo uxlaunch, C, X | Hard | Yan Li (yanli) | Yan Li (yanli) | We should start simple with a graphical notification, stating X can't start, when detected X has 2 failures in a row. Then add a safe mode, in which users can configure X accordingly |