Summer of Code 2007

From Openmoko

Jump to: navigation, search

Summer of Code is a student funding program from Google. It funds students to write FOSS code during the summer. You can find out more about the program at http://code.google.com/soc/. For accepted projects, see http://code.google.com/soc/2007/openmoko/about.html.

Contents

Timeline

2007-03-05 - 2007-03-12 Mentoring organizations can apply [done, we're in!]

2007-03-14 - 2007-03-24 Students can apply for individual applications.

More details can be found here: http://code.google.com/support/bin/answer.py?answer=60325&topic=10729

Students welcome!

If you're a student who came here to check out the projects OpenMoko is offering to host you may not be familiar with what we're doing here. To change that it suffices to say that we're out to create the world's first completely open mobile phone software stack. With OpenMoko we want people to be able to do with their phones whatever they want to do instead of being limited by what the vendor allows. Here you can find Sean's great introduction which tells you how it all came about and what our plans are in detail.

The skill requirements for the projects differ, though we want to make you aware of the fact that the framework is still undergoing major construction. That means that you shouldn't be afraid of getting your hands dirty and help out with framework code or adapting to new APIs as they grow and mature.

Ideas

Glade support for the OpenMoko widgets

  • Adding glade support for OpenMoko would enable rapid application development
  • This project should also consider the forthcoming GtkBuilder variant of Glade support in GTK

Sync with Mail, Calendar etc.

A lot of people use Google for mail calendar etc. This project would investigate the use of the SyncML standard to use for syncronizing contacts, calendar, mail, todo, and additional plugins between desktop and mobile applications. It could also support the GData interface for syncronizing with Google Services.

Port OpenMoko on the Motorola EZX mobile phones

This proposal covers three major steps.

  • 1. Make OpenMoko suited for QVGA devices.
  • 2. Port EZX mux driver to the new TS07.10 infrastructure and adjust libgsmd.
  • 3. Optimize OpenMoko code on running on 48MB ram devices.

Mapping Application on OpenMoko platform

Use the OpenMoko platform along with open APIs, including the Open Layers Javascript map library, and the internal GPS to be able to locate self and map various locations on the OpenMoko phone/platform.

This application should support importing existing geographic POI (Point of Interest) data from other sources.

Look at and incorporate existing standards of Geo data such as GeoRSS, KML, GPX, and the Maemo Mapper POI database.

Maemo mapper also supports openstreetmap nowadays: https://garage.maemo.org/tracker/?func=detail&atid=188&aid=492&group_id=29

Possible Mentors: Andrew Turner

Reimplement gpsd plugin

The software to decode the GPS signals is the only piece of non-free software running on the host CPU in the machine; it would be great to have a GPL'd version. This would obviously happen in close cooperation with Gpstk, who already have lots of the required code.

MythTV Advanced Remote Control

Bluetooth-based remote control for mythtv, which for television channels, would show a view like a mini-channel guide (complete with preview, if tuner is available). For mythvideo, it would show all of the details and cover art. Neo could act like a Mythtv slave, where television shows could be shown on the Neo as well (if bluetooth can handle it).

http://gmyth.sourceforge.net/wiki/index.php/Main_Page seems to handle all that, but lacks a nice (moko) GUI

Ambient Noise Detection

Wishlist:Software:Ambient_Noise_Detection

context based to-do list

Wishlist:context_based_to-do_list

Text Input

Wishlist:Text_Input

Location based reminders

Wishlist:Location_based_reminders

Possible Mentors: Andrew Turner

Ad hoc communication via Bluetooth

We want to be able to chat, send files, have internet connectivity, ...

The following issues need to be addressed:

  1. Make bluetooth discoverable
  2. Ad hoc pand connection
  3. IP connectivity via zeroconf
  4. Chat (and voice) communication via link-local and zeroconf

Cooperative Differential GPS

  • DGPS is a local minute by minute 'ionospheric weather' for your region, as well as reports of the small errors in the satellite orbits and clocks.
  • This can generate positions accurate to dozens of centimeters, compared to (probably) 2-3m without.
  • This needs more information than simply the computed position to work on, as the corrections need to be performed on a per-satellite basis, before generating the position.
  • The per-satellite errors can be derived from a suitable static GPS (For example a Neo1973 on charge) and then uploaded to central server(s) to generate a global DGPS map of errors, allowing any CDGPS reciever to connect to the server, and download a few hundred bytes of correction for their region.

This provides an excellent companion to AGPS. With one connection to the server, a CDGPS reciever can download a several K packet of all the information needed to get a position within 10cm in the first couple of seconds, even if it's been off for weeks.

Normal operation would be under a few hundred bytes every time an accurate position is desired.

Hardware:AGPS#Q: What is DGPS, can DGPS and A-GPS work together.

http://lists.openmoko.org/pipermail/community/2007-March/004086.html

http://lists.openmoko.org/pipermail/community/2007-March/004093.html

http://lists.openmoko.org/pipermail/community/2007-March/004127.html

http://lists.openmoko.org/pipermail/community/2007-March/004111.html

http://lists.openmoko.org/pipermail/community/2007-March/004123.html

Support for building Applications in Python/Ruby

Maemo has Python bindings for building native Hildon UI applications in Python. This project would create similar support in OpenMoko for building 'native' applications with full UIs in Python and/or Ruby. Doing so would allow additional developers to quickly prototype and build new applications for the OpenMoko platform.

Support should include creating application windows, UI widgets, hardware interface, network connectivity, and documentation on how to port existing modules/libraries to the platform.

IM/VOIP using telepathy

Telepathy is a D-Bus framework for unifying real time communication. Having a user interface for telepathy would give openmoko instant access to various IM protocols. For example the Chat (and voice) communication via link-local and zeroconf of the Ad hoc communication via Bluetooth proposal above would be instantly solved by having telepathy-salut on the device.

Telepathy can also be used for VOIP. Currently it's able to do both SIP and Google talk. Having support for telepathy based voip would be great.

And finally for extra bonus points. Having a simple Telepathy CM for sending SMS and doing GSM calls would be a way to standardize on one interface for all voice/text communication. Although this could probably be a SoC project on it's own

http://telepathy.freedesktop.org/wiki/

Plan 9 Port

Port Plan 9 to OpenMoko. There are mentors available for this project in Plan 9, if one is not available from OpenMoko.

Help us by adding various ideas to this section

Help us!

More Ideas on Wishlist

A list of existing code ideas can be found on the OpenMoko Wishlist. Some of these may make good candidates for the SoC.

Mentoring tips

A guide for how to be a good mentor can be found here.



Personal tools