Monday, June 19, 2006

Significant Mobile Installation Improvements

That older Toshiba e330 Pocket PC 2002 I was loaned by one of the Alpha Testers has proved invaluable. Since I need to send it back tomorrow, I did extensive testing with it this weekend. This consisted of complete uninstalls and reinstallations - over & over & over again. What started becoming clear is that the OpenNETCF 1.4 CAB file would not consistently install its contents; sometimes it would, sometimes it wouldn't. Though this isn't my "fault" it simply isn't good enough to tell a customer this. I hate it when one department or company blames another and then says, "Sorry, but there's nothing we can do." Nonsense! Customers just want the product or service to work properly. Period. And they're right!


The strangest thing is that this problem never seems to happen with a newer, faster Pocket PC. I considered removing the functionality that the OpenNETCF libraries provide but they offer some good features so I quickly dismissed the idea. I then went on a long walk and considered my options. I suddenly realized that OpenNETCF is merely a series of DLLs, so why couldn't I just incorporate the ones I need directly into the Pocket Pollster CAB file? I researched this on several developer forums and some anecdotal evidence suggested it to be a viable approach.

So I implemented the idea. And lo and behold, it worked perfectly each & every time! A side benefit is that the overall installation is now about 25% faster because the entire OpenNETCF library doesn't have to be installed.

Another lesson I learned (read "was reminded") from all of this testing with the old Toshiba was how much the Pocket PC hardware has improved in the past few years. The speed of installation is dramatically improved with the newer devices. For example, once the NetCF CAB file is copied to my Dell Axim X30, it only takes 2 - 3 seconds to install itself. But on the Toshiba it takes well over 10 seconds! The original version of the Data Transfer module never accounted for such a slow installation process. It's now improved dramatically. It now goes through 10 iterations of 2 seconds each, checking each time to see if the CAB file has done its work. This flexible approach works equally well for the older devices as well as the new ones.

Not a very exciting weekend - especially with the World Cup going on - but it feels great to have accomplished a lot! These improvements will hopefully address all of the mobile installation issues brought to my attention so far.

No comments: