I took my brilliant and trusty Orange M5000 (aka Htc Universal) Windows Mobile 5 device with me to Barcelona for TechEd Developers 2006. For the first time in a very long time I left my fantastic but ageing IPAQ 5550 at home. I just didn't need the excess baggage of two devices with all the attendant chargers etc. Shortly before I left, I also purchased the latest WorldMate Standard Edition version 6.0 travel software by MobiMate and installed it on my M5000. WorldMate has justifiably won many awards and had been invaluable on my IPAQ 5550 Windows Mobile 2003. My plan was to use the alarm functions and travel features in WorldMate and Windows Mobile 5.0, to set reminders for sessions, wake-up alarms and general travel usage. At least that is what I intended...
For several days, I noticed that none of the alarms I set actually went off! I also got no visual notifications appearing. At first I just thought I had slept through or been out of hearing range. Then I noticed that whenever I performed a soft reset on the device (due to the increasingly frequent device hangs) all the notifications would suddenly appear and the alarms would sound. This happened as the device was booting but before the Today screen appeared. As soon as the device booted to the Today screen, any alarms I then set never sounded. Very strange. I'd never had this issue in the UK before heading to Barcelona, so I assumed it was something strange in Windows Mobile 5.0 to do with the new timezone (GMT +1) I had set.
In normal use, the device was also getting slower and slower and almost hanging the longer it ran between soft resets. The processor in the M5000 is no slouch and it had never suffered before, so I decided to see what was running on my device. My suspicions were low memory or hanging processes. The memory issue was easy to examine via the standard system settings on the device and everything seemed fine (Settings / System / Memory) - a little low as I tend to run a lot of stuff on my device at the same time, but still fine for normal use.
But how could I find which processes were running on the device? Easy - I connected the device to my laptop and started up the Windows CE Remote Process Viewer utility. This is available with Microsoft Visual Studio 2005 and requires Microsoft Active Sync to be installed. It is located under the Microsoft Visual Studio 2005 / Visual Studio Remote Tools / Remote Process Viewer menu options. For those unfamiliar with it, Remote Process Viewer gives you the ability to monitor all the running processes, thread and loaded DLLS etc on a given CE device that you are "connected" to. If required, it will also let you terminate remote processes. One of the great things about this tool, is that it works with device emulators as well as real devices, so you can actually see your developed application executing on multiple threads etc. Well worth investigating for debugging enterprise device applications.
I couldn't see too much wrong with what was running on my device though. I did notice however, that things seemed to slow right down when MobiMate World Standard Edition processes were running or had high numbers of threads running. It was also a fact that the alarms never sounded when MobiMate was running. Could it be that WorldMate was suppressing its own alarms and those of Windows Mobile 5.0? Only one way to find out - so I removed WorldMate! In fact in the end I had to run Add/Remove the program on both the device and through Active Sync to get it to fully uninstall, but eventually I succeeded. Lo and behold my device suddenly speeded up and every alarm I set, sounded exactly on time and notifications appeared. Bizarre.
I still haven't fathomed what was causing this issue. As far as I know WorldMate is Windows Mobile 5.0 compliant and the latest version has had good reviews. Maybe I was unlucky but something was definitely shutting down alarm and notification type activity. It might be a lack of resources, memory or both but it was definitely connected to WorldMate in some way. Its a shame because WorldMate is such a great program and I miss not having it on my device. I have kept WorldMate off my device for now and have contacted WorldMate technical support to see what can be done.
Watch this space - I'll update with any answers I get.