There's an ongoing controversy over which is the better way: Should software vendors also exert control over the hardware that runs their programs, a la Apple? Or should they just focus on making the software and let hardware vendors decide how to implement it on the machines they make, as Google (mostly) does? Microsoft has, traditionally, taken a middle-of-the-road approach, although recently it seems they were leaning more in the direction of the Apple model.
Each approach has definite advantages and disadvantages, and neither is necessarily "right" or "wrong." Certainly controlling the hardware means fewer conflicts and incompatibilities and a more efficient troubleshooting process when things do go wrong (and when it comes to computers, things inevitably do, even in the world of Macs and iPhones). And certainly giving vendors more freedom to do what they want results in more freedom of choice for consumers and often in lower prices resulting from the competition in the market.
One size doesn't fit all
As with many other decisions in life, it comes down to a matter of personal preferences. One person sees the walled garden as a beautiful place where customers are protected from all the bad things lurking outside, while another sees it as a prison overseen by a (perhaps benign, perhaps not) dictator.
One person sees the wide open (source) spaces as a place of limitless possibilities, and another sees it as a scary, lawless country full of danger where anarchy prevents any sense of security or peace of mind.
A friend of mine once described operating system choice by comparing it to where we choose to live. He said using a Mac is like living in an urban high-rise condo, where you pay high rent and outrageous HOA fees in return for spectacular views (a pretty GUI), a partially false sense of security, and the opportunity to think of yourself as one of the elite.
Using Linux, on the other hand, is like moving out to the country. You need to learn to do more things for yourself (once upon a time, you had to compile your kernel and write your own drivers, but just as more conveniences and technology have come to rural areas, it has gotten easier to use Linux).
You don't have everything that those closer to the city take for granted (e.g. country folks might not be able to get broadband Internet and Linux users may not be able to run all the programs that are written for Windows), but you have more freedom; you don't have to ask permission from a municipal code inspector to put up a fence or add on to your house and you can make whatever kind of modifications you want to the operating system. You'll also likely pay a lot less for the same house out in the middle of nowhere than you would if it were five minutes from the downtown business district.
Then there's Windows, which is a bit like living in the suburbs. It's the "American way." In some ways, you have the best of both worlds -- and in other ways, you have the worst.
You might live in a cookie-cutter house that looks a lot like everyone else's, but there's comfort in standardization. You get a reasonable price on housing while still getting most of the conveniences of city life. You might not have as much room and freedom to spread your wings as your country cousin, but you're not confined to a thousand square feet of space ten floors off the ground with no yard to play in, either.
The point is that there are people who would be bored and miserable on a farm or ranch and others who can't imagine living anywhere else and would hate the noise and pressure and hustle and bustle of being downtown. And many want something that's somewhere in between. We aren't all alike, so we need to have choices that are very different from one another.
Windows Mobile was, for a long time, a big player in the smartphone market. Then the iPhone came along. When Microsoft announced they were planning a complete "redo" of their mobile operating system (which ultimately resulted in Windows Phone 7), there was speculation that they might build and market their own phone. A venture into the hardware business wasn't at all unprecedented; in addition to making computer peripherals, such as keyboards and mice, they built the Zune and the Xbox.
Instead (possibly because they didn't want to alienate all those hardware partnerships that they'd formed during the Windows Mobile days), they followed their more traditional path of licensing the OS to popular mobile phone vendors such as HTC and Samsung, which were already making some of the best-selling Android smartphones.
But this time, they mandated that the hardware had to meet specific standards in terms of screen resolution, CPU, RAM, and storage capacity, as well as a number of other requirements such as GPS, accelerometer, compass, proximity sensor, 5 MP or greater camera, capacitive touch screen, specific hardware buttons, etc.
These requirements are way below the specs of the current top phones (for example, the WP7 standards specified at least 256MB of RAM; many of today's popular handsets have a gig of memory). However, they do limit the flexibility that hardware vendors have for implementing the Windows Phone OS on their handsets.
The idea behind setting standards, of course, is to avoid the kind of fiasco that ensued when hardware vendors preinstalled Windows Vista on low-powered machines and many customers ended up buying computers that were slow and sluggish right out of the box. Despite the fact that the OS worked great on machines that had the proper hardware and despite the fact that Microsoft ameliorated the performance problems with Service Pack 1, Vista's reputation never fully recovered. First impressions are important.
This week, the news was all over the web that Microsoft has "downgraded" the hardware requirements for Windows Phone. The biggest change is that a camera is now optional. So are the compass and gyroscope. Some commentators wrote that this is a concession to vendors who want to make lower-end models of Windows phone to keep the prices down. Others opined that it's about going after the enterprise market, where some companies still prohibit camera phones for security reasons.
Either way, I think it's a good move. Some customers don't want or need for their phones to function as a camera. And given the obvious risks of allowing people to bring cameras into environments that hold highly sensitive information, I never understood why that requirement was there in the first place.
However, I think there can be a public relations problem when you set standards and then back down on them. To some, it just looks like a normal business decision -- you evaluate and make adjustments based on how your original approach plays out in practice. But there will be some who will see it as a sign that Microsoft "lost" or "caved" to the hardware vendors or as an indication that they "don't care" about the quality of the experience.
Frankly, I think it would have been best if they hadn't made such stringent requirements in the first place. It smacks of the kind of control-freak mentality usually associated with Apple, and I'm not sure it's really necessary. It's in the best interests of the hardware vendors to make phones that will perform well, just as it's in Microsoft's best interest for the phones running its OS to perform well. Do the manufacturers really have to be told that a phone should have a decent processor and a reasonable amount of RAM?
If Microsoft does want to get into the hardware business itself, that's one thing, but if not, I think they should treat their partners as real partners, rather than acting like parents who have to set rules to get the kids to do what's right.
It will be interesting to see what approach they take to the hardware specifications with Windows 8.
Debra Littlejohn Shinder, MCSE, MVP is a technology consultant, trainer, and writer who has authored a number of books on computer operating systems, networking, and security. Deb is a tech editor, developmental editor, and contributor to over 20 additional books on subjects such as the Windows 2000 and Windows 2003 MCSE exams, CompTIA Security+ exam, and TruSecure's ICSA certification.