One year of BitPim

Date February 25, 2004
Author Roger Binns

This email was written on the one year anniversary of BitPim. It was sparked by a question on the origin of the name and was sent to the bitpim-user mailing list. No changes have been made other than conversion to HTML format, and the addition of an addendum

First read this article. It perfectly sums up how things should be, and is what I strive for:

BitPim is pretty much one year old. I got my LG VX4400 at the end of January 2003 (a week after they came out) trading up from a StarTac. The colour screen, wallpapers, ringtones and zillions of menu items made it quite clear that this was a significant upgrade.

I also have a principle that I will not enter numbers and names using the interface on the phone. It is a horrendous process on any phone with using 9 digit keys to enter names composed of letters, layers of names, number types, default numbers, arbitrary restrictions on length and content of numbers and names etc.

For my StarTac I had been using Starfish TrueSync. I detested it. The first versions I used (in 2000) had a very user hostile design. It would frequently double up all my entries. It also had an annoying habit of asking me about every single entry. It was like the programmers had decided they couldn't make any decision without the user confirming it. It got better over the years with updates(*) (I HATE stupid software)

Susteen's DataPilot was the only sync software available at the time for the VX4400, so I got it. It had many issues(#) including not working out of the box, and most annoying of all a license that doesn't even let you install it on two computers at the same time, even if you only use it on one at a time. (At the time I used 3 different computers at work, and another 2 at home). It also only supported the phonebook, and I wanted to change the wallpaper, do the calendar etc. I also had Linux computers and hoped one day to get a Mac for completeness, and DataPilot only supported Windows.

The situation was not acceptable to me, so I put my code where my mouth is. I started a program at home that would do everything I wanted. So how do I name them? I learnt my lesson many years ago not to name a product/project after what it does. If it is any good, you will end up expanding it beyond the original scope and then the name seems stupid. I also didn't want it to be ambiguous, which means there should be zero Google matches. The way I solve this is by using a pronouncable password generator(@) and checking any nice sounding words are not in Google.

And so Entrocul was born (yes that really was the name). I got to the point where I had working phonebook code and a working filesystem viewer. I used the Python programming language and associated toolkits(%) which ensured that Entrocul worked on all platforms, and I could install it on as many damn machines as I pleased.

Although I could go the Shareware route, I didn't see the point(&) Also I had started the FAQ since almost everyone I knew was getting the phone and that was the easiest way to disseminate information (the LG manuals are a model of how to provide almost no information). So I gave Entrocul away under an Open Source license(^) and moved it to SourceForge.

But I didn't think Entrocul would be a suitable name in the public eye, so I went back the pronounceable word generators. The best suggestion was bitpym. I liked that, but realised that the 'y' could cause problems, so it became Bitpim. Later on I started spelling it BitPim because that seemed better.

In the year since BitPim went public, it is now shipped on all platforms at the same time (special thanks to Steven Palm for doing the Mac side). It also has substantial support for Sprint Sanyo phones (special thanks to Stephen Wood). There are more detailed credits in the online help. There has been a lot of functionality added and improved.

The 0.7 version has been pretty long in coming. It features a huge number of updates (the 0.7 codebase is over twice the size of 0.6) with reimplemented phonebook editing, import, reimplemented wallpaper and ringtone views, true multiple phone support, significantly easier developer features (protocol analyser, packet descriptions).

After 0.7, I do want to add in call history, improved calendar user interface, true synchronization (as opposed to import/export), SMS history, voice and text memos etc. There is plenty to do for me and anyone else who wants to contribute. And I can't even remotely claim to be meeting what Alan Cooper describes in the article in the begining. But it will one day.

In the commerical space, several vendors of cables are now including BitPim with the cables. One in particular stands out. RPI Wireless has loaned us several phones and cables. Have a look at the price of new phones without a contract to understand how much that has cost them. Feel free to send your business their way to thank them for their contributions to BitPim

But I think the most heartening thing of all is that I saw a post by someone the other day asking about some new phone and stating they would not buy any phone unless it is supported by BitPim. I like that attitude

Does that answer your question?


(*) At one point Starfish made the mistake of asking for my feedback. I gave it to them. Their response was along the lines of their programmers being too busy and too perfect to read articles or care about user experience. I guess they had to write more code to throw up more dialog boxes.



I did send an email to Google labs suggesting they incorporate a word generator that could make different sounding words and phrases (eg Italian, scientific, cooking) that are not in the index. They didn't respond.

(%) Why Python?

I am fluent in many different languages, and they all have various strengths and drawbacks. You should always use the right tool for the job and not be tied to one. I particularly like Python as it is simple to read, simple to write, yet powerful enough to express what it is you want. Most importantly it takes very few lines of code to do so. It also had all the prerquisite libraries for doing graphics, serial port stuff, printing etc on all the platforms.

You can find the full list of 3rd party components listed in the help:

Those components are also all under various open source licenses. They allowed me to get a better working program sooner, and that is also a major factor in making BitPim open source and the particular license chosen.

(^) My main concern with open source is that I don't want people mis-representing modified versions. It is fine that there are modified versions, but they should be clearly marked as such, and not respresented as the original. The Artistic License fits this perfectly and that is why I chose it.

There are several commercial products, and they are relatively cheap (certainly in a similar price range to what shareware would be). It also takes a considerable amount of effort to complete a product. Note how BitPim hasn't quite reached version 0.7 a year later. I also have no desire to compete against the commercial products. I want to make my phone work the way I want. Anyone with the same goals can contribute to BitPim, something that isn't really possible with the commercial software.

Hopefully BitPim will spur the commercial companies to make better products and to pay more attention to their users. I think it is excellent that you can now choose from a variety of products with a variety of features on a variety of platforms with a variety of licenses, and hope that choice is always there for everyone.

Addendum - July 2004

The Artistic License turned out not to be such a good idea after all. Some of the wording was too woolly, and allowed the original intentions to be worked around. Also with the SCO lawsuit highlighting software license issues, I came to the conclusion that the GPL was by far the most solid license, and that if any issues arose there would be many others willing to defend the license (ie safety in numbers). (Popularity of licenses at at SourceForge)

You should read what the FSF has to say about the Artistic License. The Artistic License version 2.0 turned out to still be in draft form, and appeared to be abandoned.

The "Pim" part of the name is probably a mistake. I have no intention of BitPim becoming an actual PIM (personal information manager). It's purpose is to give me full access to all features on my phone, and some of that overlaps with traditional PIM functionality.

Last modified: Sun Jul 11 00:59:03 Pacific Standard Time 2004