BitPim

BitPim is an open source program designed for managing content on CDMA devices. Most mobile phones using a Qualcomm-manufactured CDMA chipset are supported. The program is also cross-platform, operating on the Microsoft Windows, Mac OS X, and Linux operating systems.

Although BitPim might be taken for a personal information manager (PIM), its name derives from "bitpym", a suggestion generated by a pronouncable-password generator; the "y" being replaced with an "i" simply to eliminate ambiguity in pronunciation. Earlier, the program had been named "Entrocul" by the same method.

Bitpim is comparable to Gammu, QPST, Open Sync, and Gnokii applications.

Features
Functionality varies depending on the model of the phone. Once the drivers are installed on the PC operating system, the following managing functions are generally supported:


 * Phone Book
 * Calendar
 * Wallpapers
 * Ringtones
 * Filesystem
 * Media
 * Memo
 * Todo
 * Call history
 * SMS
 * T9 editor

Data can be imported and exported between the phone and Microsoft Outlook or Google Calendar.

Implementation
BitPim is implemented using the Python programming language with various pieces in C to access hardware. The user interface is wxPython which in turn wraps wxWidgets. That gives a native look and feel on each platform.

Most of the functionality is obtained by using the diagnostics mode available in Qualcomm Mobile Station Modem (MSM) used by virtually every manufacturer of CDMA phones. The diagnostics mode provides direct access to the embedded filesystem in the phone. The remainder of the functionality is via protocols provided by the handset manufacturers, but these usually only cover updating the phonebook.

Because the sizes of fields in the protocols differ between every model (even from the same handset manufacturer) and even between the same model offered at different carriers, BitPim has code and field descriptions for every model. A big part of each approximately monthly release is adding support for new phone models.