gnokii logo Open source tools for your mobile phone
Current gnokii version: 0.6.31
One time support for gnokii:

Google Summer of Code 2007

Introduction

Google has opened a third edition of the Summer of Code program. Goolge SoC gives an opportunity for the students to gain an experience writing an open source software and for open source projects to get valuable input from new participants. See Google SoC homepage, FAQ and program wiki for more details.

Applicants

When applying for Google Summer of Code please provide the following information:

  • name and contact information (email address)
  • your background, what are your achievements, what are your skills
  • why are you interested in gnokii project
  • project information:
    • title
    • why should it be done, what benefits for gnokii users or developers it gives
    • description of the approach to the task or problem
    • expected deliverables
    • estimated project schedule
  • your thoughs about gnokii project

Ideas

DBUS integration for libgnokii

libgnokii handles communication with the connected mobile phones. It opens the device/port and talks directly to the phone. It makes impossible to use two applications talking to the phone in parallel. The idea is to create a daemon application taking care of the device communication and detection and exposing phone events and functionality to the user space (for example, using DBUS). The task is to design the user space API, implement communication daemon and few sample applications.

New GUI

Gnokii currently does not have any decent (up to date) GUI. Existing ones lack much functionality present in libgnokii. Task is to design and create portable GUI for libgnokii (if the first idea would be implemented, GUI should not be directly linked with libgnokii but communicate with it over DBUS. Application should support snadard way of i18n.

Regression test suite

gnokii does not have any automated regression test suite. The task is to design test framework and implement a set of tests for libgnokii to help gnokii development team testing changes made.

Symbian driver (gnapplet)

Gnokii uses various protocols to communicate with the phone. Main two protocols are FBUS (Nokia proprietary protocol) protocol and AT Hayes Command protocol. Unfortunately modern Symbian phones do not support FBUS and AT command set is very limited (for example, they don't give access to phonebook). Gnokii provides gnapplet driver for Series 60 version 1 and 2. The task is to extend the current driver with more functionality provided by libgnokii and add USB connection support. The other task is to create gnapplet driver for Series 60 version 3 (it is not backward compatible with previous versions)

Configuration wizard

Currently gnokii requires manual preparation of the config. Various fields depend on each other, few of them could be autodetected. The task is to write a decent GUI that does autodetection of possible things (bluetooth, irda, usb) and provides step by step wizard for other options for creating gnokii config file. Wizard can be written in any language but it should be portable between various operating systems. Application should support snadard way of i18n.

MMS support

While SMS support in libgnokii is nearly completed, it completly lacks support for MMS. The task would be adding MMS support to libgnokii and exteding a GUI for reading it from the phone and composing new ones.

Python/Perl/Ruby/PHP/C#/... bindings

Gnokii development is done using C language. If you want to use libgnokii in your application you also need to use C (or C++). That limits somehow the possibilities of libgnokii usage. There is some job done within area of Perl and PHP bindings but they are far from complete.

FUSE driver for gnokiifs

libgnokii supports Nokia mobile phones filesystem access using FBUS protocol. There are two ways of doing this and both of them are supported. There exists CODA gnokiifs supporting one of them. FUSE seems to be more popular way of creating userspace drivers these days. The task would be to create gnokii userspace driver for FUSE supporting both ways of accessing filesystem.

Remove phone hardcodes from the sources

The simpliest way to try out gnokii is to set model name in the config file to your phone model. There are plenty of the phone models these days and all of them need to be hardcoded in libgnokii sources. This way of doing this really sucks. The task is to redesign this part of libgnokii.

Website redesign

Gnokii project lacks well prepared website for the users. We have main website, we have wiki, we have project site at savannah. All the stuff is edited manually, there is no integration between them. The task would be to take this together and prepare a professional website containing the following elements:

  • searchable config database
  • decent bug tracker
  • well prepared documentation for both: users and developers
  • guide through FBUS protocol and reverse engineering used by gnokii developers to discover the protocol

Other ideas

Here are other ideas shown very briefly:

  • code audit
  • automated reporting gnokii bugs
  • automated reporting missing protocol implementation
  • framework for FBUS protocol reverse engineering
  • framework for drivers implementation

We are opened for any other ideas that would move gnokii project forward, give some benefits for the users or do anything useful for gnokii developers.

Mentors

  • Pawel Kot
  • Daniele Forsi

Copyright (c) 2001-2011 gnokii project
Last modified Saturday, 10-Mar-2007 23:39:43 UTC