GSoC 2009/Project ideas

(Ideas List)
(add myself as possible mentor)
Line 62: Line 62:
| ''UPnP Media Renderer'' || ''BRisa project provides a decent UPnP framework to be used in resource limited devices. On top of this framework, we provide two applications example: the media server and media renderer. Current our focus is on the media server, but we need work to improve the media renderer. For example, current media renderer does not handle correct the rendering of many video and audio formats. We are using GStreamer as a backend.'' || ''C/C++/Python'' || ''Medium'' || leandro || leandro ||
| ''UPnP Media Renderer'' || ''BRisa project provides a decent UPnP framework to be used in resource limited devices. On top of this framework, we provide two applications example: the media server and media renderer. Current our focus is on the media server, but we need work to improve the media renderer. For example, current media renderer does not handle correct the rendering of many video and audio formats. We are using GStreamer as a backend.'' || ''C/C++/Python'' || ''Medium'' || leandro || leandro ||
|-style="background:Orange"
|-style="background:Orange"
-
| ''Contacts Import/export'' || ''Import/export contacts to the ITT from various sources, like Thunderbird, Outlook, Gmail, Symbian Phones, etc. See [[Task:PIM]] and [http://www.google.com/mobile/default/sync.html Google Sync]'' || ''C/C++,Python or others''  || ''Medium'' || ''vdvsx'' || ||
+
| ''Contacts Import/export'' || ''Import/export contacts to the ITT from various sources, like Thunderbird, Outlook, Gmail, Symbian Phones, etc. See [[Task:PIM]] and [http://www.google.com/mobile/default/sync.html Google Sync]'' || ''C/C++,Python or others''  || ''Medium'' || ''vdvsx'' || ''florian'' ||
|-style="background:Orange"
|-style="background:Orange"
| ''Google Latitude/Nokia Friend view client'' || ''Port/make a Google Latitude/Nokia Friend view client to the ITT. See [http://www.google.com/latitude] and [http://www.xtify.com]'' || ''C/C++/Python/Clluter/others''  || ''Easy/Medium'' || ''vdvsx'' || ''vdvsx'' || Both APIs are closed :(
| ''Google Latitude/Nokia Friend view client'' || ''Port/make a Google Latitude/Nokia Friend view client to the ITT. See [http://www.google.com/latitude] and [http://www.xtify.com]'' || ''C/C++/Python/Clluter/others''  || ''Easy/Medium'' || ''vdvsx'' || ''vdvsx'' || Both APIs are closed :(

Revision as of 23:14, 10 March 2009

Maemo provides a framework for developing applications for mobile devices, as well as porting existing applications in the Linux world. A lot has been done already, 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 a new functionality added to a consolidated application, a first prototype for a promising new applications exploring new functionality, or a small but killing application bringing the unexpected. We recommend you to propose small challenges developed with good performance instead of big plans impossible to conclude in 3 months. You can be really useful adding 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 in the table bellow.

If you are a accepted mentor and wants to mentoring one of the possible projects, add you name to the table with your maemo.org nickname (eg. Valério Valério (vdvsx)).

Note: Everybody can add ideas to the list, no need to be a mentor or a student. Don't try to guess if your idea will be implemented in Fremantle 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 is 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 and you can also take a look at the open API's that Maemo provide.

All the ideas bellow are possible GSoC projects, some of them need more investigation work than others that are already in a final state, but all of them start at the same level for us. The students must do some investigation work before propose a project, we are here to help, isn't acceptable copy and paste of the description texts bellow, in the students applications.


Final proposal Study of alternatives needed Draft proposal
Title Abstract/Description Skills Difficulty (Easy/Medium/Hard) Reporter Possible Mentor(s) Comments
Barcode scanner Use the camera in the ITT devices to scan barcodes of products, in order to compare prices/features, read product reviews,etc. See compare everywhere and maemo barcode. Possible ideas - Delicious Library,lira,Amazon API's C/C++ or Python Medium vdvsx
Improve Xournal Port Xournal to Fremantle and improve the GUI to take advantage of the upcoming Fremantle features, while keeping backward compatibility with Maemo OSes. See [1] C/GTK+/QT Medium anidel
New plugin for Canola Implement a new plugin for Canola, possibly for another web service such as Picasa or Blip.FM. There are lots of possibilities here. Python/EFL Easy/Medium lfelipe lfelipe Other ideas that have been suggested: Jamendo, Magnatune ... (keep suggesting)
Bittorrent plugin for Canola Implement a bittorrent plugin for Canola, that can use the RSS from sites such as http://legaltorrents.com Python/EFL Medium lfelipe lfelipe
New plugin for Canola Implement a new plugin for Canola: local mail / news reader. Mail / news (RSS) can be downloaded locally by existent software. The Canola plug-in serves just as a reader, so that you don't need to leave it to read / interact with them. Python/EFL Medium anidel
Text optical recognition Implement a recognition system which recognizes text snapped with the camera. The system then can be integrated into another application, such as when you want to contribute to the openstreetmap, you just fire up this application and start tracing the street, then snap the street name with the camera, and the street name will be recorded in that application and connected to the street data. Another use case would be to integrate this system with Hildon Input Method and you can send the text snapped into translate.google.com to have your own personal translator C/Gtk+/Qt Medium mdamt mdamt
Maemo build system on SuSE open build system Establish a fairly complete environment for building maemo packages on SuSE's build servers System administration Medium Jeremiah
Full iCalendar support for KCal (KDEPIM) Add support in KCal for the missing iCalendar elements libical/C/C++ Medium ibiris ibiris
Merge the vobject/vcc changes to the libical upstream version KCal has a different branch with the vcc and vobject files which are part of the vcal parser. These changes should be merged to the libical upstream. libical/C/C++ Medium/Hard ibiris ibiris
Enhance the OpenCV's maemo port Needs to update to the latest upstream svn version, extensive testing on the tablet and fix the maemo issues and send the patches upstream OpenCV/C++ Medium kecsap kecsap
Add more location based services at travellerapplet Traveller applet helps for travellers to open location sensitive services in the browser. It needs to add new services and optimize the current xml structure Maemo/C/HTTP Medium kecsap kecsap
Mainlining N800/N810 kernel Get drivers missing from diablo Linux kernel to the mainline (Linus's 2.6.30+) kernel release. The primary goal is to get n800/n810 booting with wifi (stlc45xx driver) and power management support using a kernel from linus's tree. Fully functioning bluetooth and audio (porting current driver to ASoC) is secondary goal. Supporting dsp gateway is out of scope for this project. Before applying to project, previous experience on working with kernel drivers and kernel community should be demonstrated. Kernel/C Hard Suihkulokki
SocialApp based on OpenSocial OpenSocial provides a common API for social websites. The idea is to build a client on top of that, which provides features to provide and collect social information to/from multiple websites. [2] Python Medium danielwilms vdvsx
YouTube plugin for Rygel Enable the user to easily browse and play her favorite videos on her UPnP control point/media player (think PS3) and also to be able to search and upload videos. C/Vala Medium zeenix zeenix
Flickr plugin for Rygel Enable the user to easily browse and play her (or her friends') pictures on Flickr using her UPnP control point/media player (think PS3) and also to be able to search and upload pictures to Flickr. C/Vala Medium zeenix zeenix
(G)UPnP backend for GVFS This will allow a generic access to all applications (not only media players) to contents on UPnP/DLNA Media Servers without them having to write any code. Many people (e.g Kilikali and Canonal2 authors) have already asked me if such a thing already exist. C Medium/Hard zeenix zeenix
A threadless Webserver API Nowadays BRisa project uses CherryPy for delivery web content, but CherryPy is considered to use very threads that may be harmful for resource limited devices. In addition there is no decent webserver API focusing on embedded devices. The idea is to implement a light webserver framework focusing on embedded platforms that avoid high use of threads and memory. C/C++ or Python Medium/Hard leandro leandro
UPnP Media Renderer BRisa project provides a decent UPnP framework to be used in resource limited devices. On top of this framework, we provide two applications example: the media server and media renderer. Current our focus is on the media server, but we need work to improve the media renderer. For example, current media renderer does not handle correct the rendering of many video and audio formats. We are using GStreamer as a backend. C/C++/Python Medium leandro leandro
Contacts Import/export Import/export contacts to the ITT from various sources, like Thunderbird, Outlook, Gmail, Symbian Phones, etc. See Task:PIM and Google Sync C/C++,Python or others Medium vdvsx florian
Google Latitude/Nokia Friend view client Port/make a Google Latitude/Nokia Friend view client to the ITT. See [3] and [4] C/C++/Python/Clluter/others Easy/Medium vdvsx vdvsx Both APIs are closed :(
Improve RTComm for the tablets A single-click install for RTComm and all the required libraries to make the built-in IM client work with as many protocols as possible and (maybe even more important bit) finally improve the built-in contacts app import feature. See [5] C/C++ Medium stangri
Maemo Alarm Make a nice and customizable alarm application for Maemo. See [6] C/C++/Python/Clluter/other Easy Denis Smolyar ""I don't see any nice alarm for maemo... cron? without giu i can't use them from maemo. -- Denis Smolyar @Dev-ML"
Implement Bluetooth Speaker Support Add support for turning a tablet into a Bluetooth speaker system -- probably through headset or hands-free profile support. Possibly extend BlueMaemo Python Medium/Easy frethop frethop I think there was some work on this last year's GSoC on BlueZ (lfelipe)
Implement Internet Storage client Implement a client for an Internet storage system such as Dropbox or Box.net. Modify existing source code for Linux to eliminate elements not implemented in Maemo (e.g., Nautilus for Dropbox) C/C++ Medium frethop frethop
Port Conduit Optimize the UI for the tablets, identify the subset of dataproviders that made sense on the tablets. See [7] Python Medium jaffa vdvsx
Smart News Reader on N800/N810 A smart News Reader for users to subscribe news/information feeds on their favorite sites then this reader can filter information which user maybe does not care or be not interested in according to the user reading patterns and environment context. This application will use semantic technique, context-aware technique and machine learning algorithm to reach the goal. Python/C Medium Derkaiser Actually I have implemented a prototype but the smart recommendation engine has not been done yet.I wonder whether there is anyone in community can be the mentor and give some instructions on how to complete the task for me.
Compiz Cube for Maemo. Use compiz-cube or similar to jump between four virtual desktops running:Hildon, Canola, PIM-Phone, locked up device (with widgets maybe).The cube would jump vertically instead of horizontally and a finger gesture would jump between them. C/C++/Others Medium/Hard Eduard Pertíñez