Windows Mobile is a wobbly and unstable mobile operating system that needs daily, or if you’re lucky, weekly reboots to keep it running smoothly. You should install a close button replacement tool that will actually force applications to close instead of just the smart minimize that Windows Mobile does by default because Microsoft can’t seem to figure out how to manage memory on a mobile device.
Those words are pretty strong and perhaps a little harsh. Do people actually believe that Microsoft’s mobile operating system is that bad in managing memory? I would like to think that it’s not true. Every day I deal with customers who are managing hundreds or thousands of Windows Mobile devices and on a regular basis people ask me how they can force a reboot of the device on a given schedule.
Most people that ask for this are looking to force the reboot in the middle of the night, or every Tuesday / Thursday / Sunday, or some other schedule that they’ve come to believe will magically fix all of their problems. The real question is: why do they need to do this? I don’t question that they might be having problems with stability. In fact, I’m certain that a reboot will help them out. Most feel that Windows Mobile can’t cut it and requires the reboot just to clean up leaks in memory and whatnot.
Ultimately allowing them to run their applications without crashes and hangs that they were experiencing before the reboot. Is scheduling a reboot for the device really the best approach? Perhaps trying to determine the source of the problem and correcting it would be a better. While I do get request about forcing a reboot, there are plenty of other customers that never reboot their devices and almost never run into problems. What’s the difference? Why are some able to run for days/weeks/months without ever having to reboot the device. While others can’t seem to make it a couple days without the need to reboot. Is it the device? Perhaps one hardware manufacturer has done a better job than another? Possible, but unlikely.
From the talks I’ve had with customers, the reboot crowd are not all running one type or make of device. It doesn’t matter if the device is a rugged device from Motorola, Intermec, or Honeywell, or if it’s a consumer device from HTC, Samsung, or Motorola. Could it be Microsoft? While it’s certainly is possible, I find this option to be highly unlikely as well. If they had a serious memory leak or instability, I would like to think that it’s been addressed at some point over the years and versions that have rolled by. I’m not saying that Windows Mobile is perfect and that you’ll never find a bug in it. I am saying that major issues are going to be addressed from release to release. The reality is that 3rd party applications are the single biggest source of instability and memory leaks on Windows Mobile. If you find that you need to reboot your device on a daily or weekly schedule, the best thing you can do is to hard reset the device and start fresh. Don’t install any 3rd party applications and see how things go from there. I’m certain that you will find a reboot is not required. Slowly over time you can install your applications and watch to see at what point in time things start to fail. If you hard reset and install all the same junk again right away, then you’re no better than you were before the reset. I’m not saying that all 3rd party applications will cause instability on your device. However, you need to stop and think about the applications you are installing and where you got them from. Some developers don’t take care in what they are doing and don’t properly clean up after themselves. Could Microsoft have built a better OS that better protects the user from poorly written 3rd party applications by isolating each application to its own memory space? Sure, but at what cost? These are mobile devices, and while the memory footprint maybe substantially more than it was just a couple years ago, that doesn’t mean you should be running a full featured OS on your phone. Besides, many applications require the interaction with other applications to run. The best thing you can do is to be careful and thoughtful about the applications you install and where you got it from. Apple’s iPhone is a prime example of this. Everyone praised the first generation iPhone for its stability. All that changed when the second generation, iPhone 3G was released.
It now appears that everyone is screaming about the instability of the iPhone. The biggest change is the addition of Apple’s software store allowing 3rd party applications to be purchased installed on the iPhone. Some jail broke their first generation iPhone and installed applications, but it wasn’t a very common occurrence and the people that did that are more technical and understanding of the crashes and hang-ups that come with tinkering under the hood. Stability can be found on your mobile device, and as I’ve already stated, the trick is to keep yourself from installing questionable applications. If you are having problems, hard reset and don’t install that application again. Give it a try and see for yourself.