A few years ago, I started on a weight loss program, inspired by an overheating incident while picking up trash for my company’s Adopt-A-Highway program. At that time, my PDA of choice was the Handspring Visor Deluxe, and I was able to track my calorie intake using a great program called DietLog. In about three months, I dropped nearly forty pounds before I hit a plateau. I still had ten or fifteen pounds to go to be in a truly healthy weight range, but I didn’t beat myself up over it, since I felt and looked much better.
My next PDA was a Handspring Treo 300, and I loaded DietLog’s evolution, BalanceLog, onto it. It worked fine, but didn’t do much to get me off my plateau. I still had to lose some weight to be close to the standards set by the National Institute of Health.
Recently, I upgraded to the new Treo 650 by Pa1mOne, a smartphone with a high-resolution screen, SD card slot, and built-in thumb keyboard. The device only (“only”?) has 32 Mb of memory, and I was aware of that going in, but I figured that wouldn’t be an issue for me since I was upgrading from a 16 Mb device. Of the 32 Mb on the Treo 650, about 23 Mb is actually usable by programs, so I figured I would still be ahead of the game when upgrading from 16 Mb.
I knew that the memory concerns about the new Treo were due to the fact that it has non-volatile flash memory (a good thing) and that it addresses that memory in a less efficient manner than its predecessor (a bad thing.) For example, the same contact information stored in my Treo 300 takes up nearly twice as much memory on my Treo 650 because of the way the memory must be addressed. Again, no big deal. I don’t have that many contacts or databases on my PDA, so I should have plenty of room.
Enter Weight Watchers. As a New Year’s Resolution, my girlfriend and I joined, hoping to get rid of the extra pounds. Being the geek that I am, I really did not relish the idea of carrying around a booklet to count my points, and thought it would be cool if Weight Watchers had a PDA application available. I checked the website, and after expressing some frustration that the their site refuses connections from Firefox, I reluctantly opened it in Internet Explorer. Sure enough, they have something called Weight Watchers On-the-Go that has all of the point values and tracking tools that I need. I signed up immediately.
The website said I needed to make sure I had enough memory on my device before installing. I had about 7 Mb free, which they said would be sufficient, though close to the minimum system requirement. I tried installing, and the installation went well except for one thing: the 27,000 record food database wouldn’t load. I tried clearing more space on the handheld, moving several applications to the SD card. When I had 12.7 Mb free, I tried again. Again, everything would load except for the food database.
At this point, I began to suspect that the Treo 650’s memory mishandling was causing a problem with all these database records. I sent an e-mail to the Weight Watchers tech support people, and three days later I got a response. In a nutshell, they said that I would not be able to install the WW On-the-Go program on the Treo 650 because they were experiencing “major incompatibilities” with the device, and were working with Pa1mOne to fix the problem. I wrote back and asked if those “major incompatibilities” had anything to do with inefficient memory storage for database records, but I haven’t gotten a response.
Here’s my guess: According to the Treonauts bloguide, database records take up 30% more space on the Treo 650 than on previous devices. In this case, I think that estimate is low. Considering that each record is stored in 512 byte chunks, even a database with small records like foods and their point values will take up half a kilobyte for each record. If Weight Watchers puts their entire database on the handheld, as they claim, the foods database alone would take up about 13.5 Mb on the Treo 650 (assuming 512 bytes per record and 27,000 records.)
That’s a huge waste of space, and doesn’t support Pa1mOne’s assessment that the only people who will be limited by the memory problem are power users. Sure, I consider myself to be a power user, but even if I weren’t, the foods database alone in the Weight Watchers program would gobble nearly 60% of the available memory on the handheld, not counting the code itself or any other programs the user might want to run. To me, a Weight Watchers member who just wants to use his or her PDA to track points does not constitute a power user.
This could have something to do with code bloat on the part of Weight Watchers (which would be a bit ironic), but I think the bigger problem lies in the lack of foresight by Pa1mOne. I read in one of the comments on the Treonauts site that the choice of processor for the Treo 650 and Tungsten T5 limits the non-volatile memory choices to either 32 Mb or 256 Mb. If that’s the case, it explains a lot. But if so, Pa1mOne should have elected to go with the 256 Mb option, rather than limiting users with a low memory overhead.