GoogleSoC2007

  1. Maemo in Google Summer of Code 2007
  2. People involved
  3. Original project proposals
  4. Original list of ideas for SoC projects

Maemo in Google Summer of Code 2007

Maemo took part in Google Summer of Code 2007. Four projects were accepted in to the program and two were completed succesfully:

People involved

SoC administrator for maemo was Quim Gil. The individual projects had the following "staff":

  • Geoclue for maemo
    • student: Jussi Kukkonen
    • mentor: Henri Bergius
  • Japanese/Chinese handwriting recognition on maemo
    • student: Mathieu Blondel
    • mentor: Makoto Sugano

Other people who were available for mentoring:

  • Andrew J Turner
  • Jay Phillips
  • Johannes Eickhold
  • Luca De Cicco
  • Robert McQueen
  • William Maddler
  • Terje Bergström
  • Fernando Herrera
  • Xan López
  • Michael Dominic Kostrzewa

Original project proposals

The four projects were selected from the following list. See mailing list for more details.

  • Ruby Maemo Bindings
  • GeoClue for maemo
  • Smoove - Instant Desktop Migration Suite
  • Japanese/Chinese handwriting recognition on Maemo
  • Improve the phoneME JVM, to integrate well with Maemo and GPE enviroments
  • Last.fm radio player
  • Dasher via Maemo Device as Keyboard for PC
  • Geolocation-based Transit Maps
  • VPN integration that Just Works
  • Enterprise-class cryptographic filesystem

Original list of ideas for SoC projects

  • NEW FUNCTIONALITY - 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 http://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 app bringing the unexpected. We recommend you to propose small challenges developed with good performance instead of big plans impossible to concrete in 3 months. You can be really useful adding a cool new module to be used by other apps or setting a first stone in a project to attract new attention.

  • MOBILE NATIVE FUNCTIONALITY TO SEDUCE THE DESKTOP OF TOMORROW - An extension to the previous idea: a lot of thought is being invested in porting ideas from the desktop to the mobile devices. However... what would you develop for mobile devices today that could be successful also in the desktop tomorrow?

  • YOU ARE HERE - Geolocation and positioning is a fast growing area with very interesting challenges and a lot of space for new ideas. What would you do with a mobile device and coordinates in a map? You might add GPS for tracking and some Web2.0 concepts, the unexplored possibilities are endless.

  • TOUCH ME - We are pushing a lot of functionality relating with touchscreens. You have a mobile device with a screen you can touch, with a stylus or (even easier when you are on the move) with your thumbs. Now, what do you do with this? By now most ideas solve the functionality covered in the desktop by the mouse+pointer paradigm. But perhaps you come up with some different, we are all ears.

  • INTERACTION BETWEEN DEVICES. Maemo is meant to be code in your hands, a platform powering a device you carry with you at home and to places. It is prepared to talk to other devices, locally or remotely via Internet, using common protocols and WLAN or Bluetooth technologies. We have seen already experiments using maemo to command a media center or a dog robot. You can pervert original plans bringing new functionality to the devices equipped with maemo: a speaker of a PC, a webcam? What association would you like to experiment? What great connection do you have in mind?

  • WRITE MY LANGUAGE - Maemo supports natively C and semi-official bindings are provided for C++ and Python. However, there is a lot for improvement and experimentation making maemo work on Java, C#/Mono and you secretly beloved programming language. Open mobile devices want to reach the widest range of developers, you can help by growing the quality and quantity of languages and bindings available.

  • UMBRELLA FOR THE RADICALLY SPECIALIZED - Maemo is made by lots of components developed by upstream projects and used in the platform and/or the software development kit we provide. Some of these components have their own strong communities with a regular presence in Google Summer of Code i.e. Debian, GNOME, Xorg... Others are quite smaller and need a lot of love, since they are key components being maintained by just a bunch of core developers, or even less. We can help them getting some SoC that would be beneficial for all. Don't worry, we are well coordinated with upstream, we will let them know about any related projects and we will involve them in your work in order to make your life easier. Examples of applications needing developing time and fresh code are Scratchbox and Qemu. GTK+ is not small but needs lots of attention and we would be happy helping its development.

  • UI CHALLENGES - Mobile devices with small-medium touchscreens challenge the current desktop experience. We are still adapting but new ideas start to grow and step into designs, proofs of concept, prototypes and new apps. What are the biggest (solvable) challenges for the User Interface expert in you?

  • JABBER/IM IMPROVEMENTS - People love to chat, and chatting is evolving into extended concepts like "presence" and "awareness". There is a lot of room for improvement and innovation, starting with currently existing tools and continuing with the exploration of the technologies behind: Telepathy, Farsight, Galago... Jump on top of one of the cutting edges of contemporary open source development!

  • INTERACTION WITH PC - maemo devices are meant to be used at home and interact with services and resources provided by other devices you can find from home. What most people have at home is at least PC running Linux or some other operating system. Creating a definition and reference implementation how to access and utilize PC resources with maemo devices when at home but also when on the move. Security and reliability issues need to be taken into account when accessing home PC through personal firewalls. Services useful at home PC to be used from home and outside home environment. Development environment developing home services and providing secure and unified way to accessing them!

  • MAEMO FOR ENTERPRISE - Providing new functionality for all companies, large and small. Companies would like filesystem encryption for devices that are lost in taxis (both for on-board storage and memory cards), Word/Powerpoint/Excel/OoO.org Writer/Impress/RTF viewer(s) that look(s) good, PIM (calendar, todo, contacts) that integrate well to current enterprisey systems (Outlook, LDAP/Active Directory), and VPN solutions.