HomeCurrent ProjectsInterestsResumeE-mail
Michael Brumm's Pocket PhoneBook for Windows CE

More Information

Downloads and Source Code

Pocket PhoneBook is an address and telephone database viewer. It allows searching based on an incomplete leading of a last name, and returns all possible last name matches. The last names can be browsed until the intended address and phone number has been found. This roughly duplicates the interface and searching capabilities of a real phone book, and can be especially useful for anyone carrying a cell phone or working outside their home area.

When the intended address and/or phone number has been found, Pocket PhoneBook enables the user to easily copy the information to other applications (such as to locate an address in Microsoft Pocket Streets or add a new person into their Contacts database).

Pocket PhoneBook databases can be easily created on any Windows PC using a companion application, the Pocket PhoneBook Wizard. This wizard allows you to convert a comma delimited text database, which can be exported out of almost any database application, including many phone and address CD-ROMs.

Handheld PC (Windows CE 2.x)

I originally created the Pocket PhoneBook application several years ago for my Handheld PC running Windows CE 1.0 (a Casio Cassiopeia A-10, one of the first CE machines). At that time, both screen size and memory sizes were very constrained. This first machine came with only a 480x240 monochrome screen and 2MB of memory.

Pocket PC (Windows CE 3.0)

Because of this, I was extremely concerned about maximizing screen real estate and minimizing the amount of memory used while the application was running. I think this will be evident to anyone who reads my source code. I also used fairly simple compression methods to reduce the size of phonebook files (almost half the size of the corresponding comma-delimited text files).

Unfortunately, after putting a lot of work into developing both the database conversion wizard and the application itself, I found that the Visual C++ development environment for Windows CE 1.0 was extremely unstable and idiosyncratic. After struggling with errors which seemed to spawn from the internals of the operating system (and attributable to no fault of my own), I gave up.

Recently, I returned to this project (as a result of my mother wanting a Windows CE handheld for Christmas). I found that little changed (even with Microsoft's new eMbedded Visual C++). The emulators still crash regularly without warning, and the Pocket PhoneBook built for newer versions of Windows CE have some of the same problems that I experienced with CE 1.0.

In addition, I don't have any devices with versions of Windows CE higher than 2.0. For those of you who don't know, Microsoft has been rather prolific in version changes (:1.0, 1.1, 2.0, 2.1, 2.11, 2.12, 3.0). So, I am unable to test the Pocket PhoneBook on these platforms and determine whether it functions correctly on them or not. Testing under emulation does not guarantee that it will work on real devices.

I have been able to build a Windows CE 2.0 version of it, but even that is not particularly stable, and has a few quirks. In order to do this, I had to install the older Windows CE 2.0 SDK with the newer eMbedded Visual C++. This allowed me to target for the older version. In addition, I found that moving a newer SH3 compiler (from the later CE 2.12 SDK) into the CE 2.0 SDK removed some (but not all) of the instability problems.

Because the program still has problems, and I do not feel comfortable with releasing a product that is unstable, I have decided to release the source code in the hopes that someone will test and finalize it. The source code is well written and commented, so it shouldn't be too difficult a task for someone who is experienced with developing for Windows CE.

 

 

 

 

All Material Copyright © Michael R. Brumm