Kandy - Communicating with your mobile phone

The Problem

Personal information data like addresses, phone numbers and appointments are usually distributed over a variety of different devices using different technologies, from desktop PC to PDA or mobile phone and even pieces of paper. Ideally all these data would be synchronized and be in a consistent state. While it is difficult to address the paper problem, for the other cases there exists software helping with managment and synchronisation of data.

The KDE Desktop provides applications for the management of personal information data like KOrganizer, KAB (the KDE Address Book), KNotes and some others. It also provides synchronisation with Palm Pilots via KPilot. What is missing is the mobile phone part.

The Solution

Kandy aims at providing synchronisation of phonebook, organizer and other data on your mobile phone with the data stored on the desktop. It is able to talk to the phone on one side and the KDE desktop applications on the other side. It will make sure that the data on both sides is consistent and up to date.

The Technology

Some mobile phones have an integrated modem, for some others modems are available externally. They all are accessible by standard modem AT commands and extensions defined as part of the GSM standard. Kandy uses these GSM commands to access the mobile phone over a serial cable or an infrared connection.

The commands are not hardcoded but stored in an XML file, which allows customisations and adaptions to different flavors of mobile phone. An integrated terminal program with some extras for remebering and storing commands as part of the XML file, makes it easy to explore the command set of the phone and extend the functionality of Kandy with new commands.

Based on the XML-stored command set a GUI is provided for higher level control of the mobile phone. It displays status information and other data like the phonebook and gives direct control over the data on the phone.

Synchronisation of data on the phone and in the KDE applications is done using the standard technologies provided by KDE. The global KDE address book is accessed by libkab and there are DCOP calls for doing the synchronisation between mobile phone and desktop applications.


Kandy is a new project and in the state of heavy development. It is able to read the phonebook data from a mobile phone accessible by standard GSM modem commands and import this data into the KDE address book. Writing back data to the phone and handling of other data like appointments or memos is partly implemented

Where to get Kandy

Kandy is an open source project and GPL licensed. It is currently only available at the CVS repository of KDE. See the instructions how to get development versions on the KDE web pages.

How to Help

If you are interested in this kind of application and would like to contribute by coding, documenting, testing, making icons or whatever, please don't hesitate to contact me. Kandy is an open project and any help is welcome.

Last updated Apr 11 2001 by Cornelius Schumacher