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.