Why I switched from Windows Mobile to iPhone

20 12 2008

I’ve been using Windows Mobile PDAs and phones, for many years now, ever since Palm let me down with one of their ‘enhancements’. I have now switched to the iPhone. I’ll explain here what led me to change.

I’ve had good experiences and bad with WinMo over the years. On the good side, WinMo is very configurable and hackable. There are whole suites of packages available for tweaking your device to behave exactly the way you want it to. If the built-in config options are not enough, then the registry can be edited (at your risk!) to alter some of the hidden settings.

Unfortunately WinMo has let me down just too many times with crapness. To be fair, some of this isn’t purely the fault of the OS itself; the equipment manufacturers are also at fault.

Screen locking

I find it hard to believe that WinMo device designers actually use their products outside the lab. If they did, they would almost certainly notice a big problem with the way that screen locking is handled. (In this case, I’m talking only about Windows Mobile Professional, the touchscreen version.)

Basically, the screen locking design is completely broken in almost every WinMoPro device I’ve seen. I believe there are some simple rules that should be followed to ensure that screen locking works properly.

1. When the screen locks, it really locks. Completely. Totally. Don’t allow some functions to bypass the lock for convenience. For example, when an alarm rings, or there’s an incoming phone call, don’t allow the event to be processed (e.g. alarm dismissed, call answered or dropped) just by touching an area of the screen. Force the user to unlock the screen first in some way. Otherwise if the phone is in a pocket, or some container where it is getting brushed, nasty things can happen due to inadvertent button ‘pushes’. I’ve accidentally answered (or dropped) several calls in my pocket because of this, even though the screen has been nominally locked.

The unlock procedure can be screen-based. On the iPhone, you have to slide a button on the screen to unlock the device or answer a call. That’s fine because it’s an action that is very unlikely to occur due to random presses in your pocket.

(There is a third-party app for WinMoPro called S2U2 (“Slide To Unlock”) that does a similar job to this, but I find that it causes too much drain on the battery.)

The Asus P750, for all its faults, went part-way to solving this problem. It has a hardware screen lock; an actual physical toggle switch at the side that locks the screen and all the buttons. It does work well, but it is still a bit of an inconvenience to have to remember to lock the device manually when putting it in a pocket. Really, the lock should be activated automatically when the device is idle. Still, it’s better than nothing.

2. If the screen is locked, don’t allow random touches to keep it awake. Alarms and incoming calls can cause the device to wake up, leaving the touchscreen activated. If there’s a proper lock in place, at least the event won’t be processed accidentally. However, even if an inactivity timeout is set so that after (say) 30 seconds of no touches the device turns off again, random touches can keep the device awake forever – or at least until the battery is exhausted. Several times I’ve come back from lunch to discover that right at the start of my meal an alarm has rung, and my pocket has kept the device awake for the entire duration of lunch. I then have significantly less battery available for the rest of the day.

The way I think it should work is this: when the device wakes up and presents the user with some means to unlock the screen (sliding a control or pushing a couple of buttons in a particular order), start the inactivity timeout clock right away. Don’t reset the clock at all! If the user doesn’t unlock the screen within the timeout period, then suspend the device again. A timeout of 10 seconds would probably be enough. If they haven’t unlocked it within that time, then they probably don’t intend to.

Alarms

WinMo has had a problem with alarms for many years. For some reason, it is a bit unreliable at actually waking up when an alarm has been set. Most of the time it does work, but just occasionally it doesn’t.

I was amazed to discover that even in the latest WinMo edition (6.1, Pro and Standard) alarms are still not totally reliable. This really isn’t acceptable. Even a cheap Casio watch can get this right. I expect a several-hundred dollar phone to be able to wake up when I tell it to.

Email bug

WinMo 6.1 has a problem with sending emails. Briefly, if it ever is unable to connect to the specified SMTP server, then it will attempt to use the SMTP server of the network operator instead. If the operator has not specified an SMTP server then the email account settings are corrupted. Permanently. You can not send emails from that account on the phone again, unless you totally delete the account and create it again from scratch.

Microsoft eventually issued a ‘fix‘ for this problem. Which doesn’t work. After installing this fix, the problem was occurring just as often as before.

The email bug was the last straw. It happened one time too many, and I had a couple of days where I was hit by all of these problems in quick succession. That tipped me over the edge, and I immediately bought an iPhone.


Actions

Information