The Broken Ecosystem for Windows Mobile Updates
Another interesting discussion came up on the private Mobius discussion list, and my response was a bit long so I thought it was worth sharing here. One of the Mobius group members made a comment about how it was time for something to be done to separate the firmware from the customizations that operators made - allowing for easy OS and application updates. My response, slightly expanded for public consumption...
We were at that point back in 2001 when some of the first generation Pocket PCs were denied upgrades to the new OS. This has been a sore point for Windows Mobile from the start.
iPhone = Two phones + one OS + one company = easy updates
Zune = Three devices + one OS + one company = easy updates
Windows Mobile = Dozens (hundreds?) of phones + two OS' + dozens of companies = nightmare update scenario
This issue has come up time and time again: because of all the different phone hardware, and the low-level software customization required for drivers and whatnot, OS updates and even simple patches are much more complicated than they could be if the underlying system was simpler. Every time there's a new version of Windows Mobile, we hear that updates are going to be made easier, but it never seems to translate into actual updates for users. Someone smarter than me can probably explain this, but on desktop PCs (at least with Windows) you have a hardware abstraction layer (HAL) that takes care of certain important things related to hardware and software talking to each other. Here's part of the Wikipedia definition:
"A hardware abstraction layer (HAL) is an abstraction layer, implemented in software, between the physical hardware of a computer and the software that runs on that computer. Its function is to hide differences in hardware from most of the operating system kernel, so that most of the kernel-mode code does not need to be changed to run on systems with different hardware. On a PC, HAL can basically be considered to be the driver for the motherboard and allows instructions from higher level computer languages to communicate with lower level components, such as directly with hardware."It's easiest to understand the HAL by thinking about the fact that you can install Windows on tens of thousands of different types of PCs, from old to new, and there's usually some generic driver that will give you basic functionality. There is no HAL on Windows Mobile phones, so every chip that's different from one phone to the next requires customized software and firmware. This means extra work for the OEMs, and every OEM has to decide if it makes business sense for them to put the resources into developing the update. We've all seen the results of that.
Why isn't there a HAL for Windows Mobile? Adding a HAL would reduce performance and efficiency, worsening battery life and speed - one estimate I heard was 20%. I'd gladly take a 20% hit in battery life and performance if it meant receiving regular updates from Microsoft to a Microsoft operating system. Would you? That's the question that Microsoft should be asking users. The phone networks probably could care less, because they don't make money off updates, but Microsoft should care because it's their operating system. Microsoft ceded too much control to the phone networks - they had to do that to get into the game years ago, but now that they're an established player in the market, it's time to regain control of the customer and their operating system. It's a matter of brand control and customer perception - when something goes wrong on their Windows Mobile phone, the customer isn't going to mutter a curse at Verizon or T-Mobile - they're going to mutter that curse at Microsoft.
There's also no good distribution mechanisms for updates either: iPhone users connect to iTunes, get notified of updates, and install them - all without losing any data. Windows Mobile users? Only the geeky ones hear about AKU updates or OS updates and track them down either on the phone network sites, or maybe the OEM sites if they're lucky. And they'll probably have to re-install all their programs and re-sync all their data. What kind of a system is that? And I haven't even mentioned the mockery that is the never-used device-side Windows Update. If the user were to be notified about a new version of their operating system when they connect to Windows Mobile Device Center for instance (great idea Rocco!), and given the option to purchase it, I'm certain the OEMs would see more revenue for their efforts. Microsoft needs to solve the problem of updates wiping out user data as well - that's just ridiculous. Who would have installed Vista SP1 if it meant re-loading the whole damn operating system?
The Windows Mobile system for updates is broken from top to bottom. Too much power is in the hands of the phone networks, and Microsoft hasn't done enough to claim control over their own operating system. We've all known how broken this system is for years, but the simplicity of iPhone updates drives the point home in powerful way: updates to a smartphone should be fast, simple, and user-friendly. Now what are you going to do about that Microsoft?
Jason Dunn owns and operates Thoughts Media Inc., a company dedicated to creating the best in online communities. He enjoys photography, mobile devices, blogging, digital media content creation/editing, and pretty much all technology. He lives in Calgary, Alberta, Canada with his lovely wife, and his sometimes obedient dog. He's envious of the speed and simplicity with which iPhones get software updates.