I was catching up on my Daring Fireball feed today and saw that John Gruber had put together a longer post on Microsoft's earnings shortfall. It's a worthwhile read, and I think that Gruber is correct in suggesting that Microsoft has begun a very difficult time and is going to be there for a while.
Today that is simply no longer the case. Microsoft has lost all but a sliver of this entire market. People who love computers overwhelmingly prefer to use a Mac today. Microsoft’s core problem is that they have lost the hearts of computer enthusiasts. (Emphasis mine) Regular people don’t think about their choice of computer platform in detail and with passion like nerds do because, duh, they are not nerds. But nerds are leading indicators.
Now, let me be particularly cautious here. This is combustible territory I realize. A couple of months ago I was asked by a couple of people for my opinion of what Microsoft should do to change direction. After considering it for a while I came up with a simple two step plan that would make me think that something big had happened at Microsoft.
Neither of these two steps I'm going to suggest are things that average consumers would notice, or even really care about. My point, agreeing with Gruber, is to do something that will get the nerds to take notice. However, before proceeding, let me come clean that I have been a huge Microsoft advocate. MarketWatch.com is one of the largest financial websites on the Internet, and is entirely built on Windows technology. I've advocated with people the benefits of Windows development environments. I've even been quoted in Microsoft case studies. With all that said, I can't imagine using Windows in a new company, and I haven't seen an early stage company using Windows for years now.
Unix Has Won
My first suggestion for Microsoft is to wave the white flag on the NT kernel. Dump it. Dump it and replace it with a Linux, BSD, Mach or other Unix-type kernel. I'm not going to get into arguments about the benefits of the NT kernel and its VMS lineage. This isn't a point of threading models or memory management. My point is both a technical and cultural one. It seems unnecessary to continue to shoulder the burden of the NT kernel. Move to an open-source Linux kernel and stop carrying all the water yourself.
What happens with Windows? Not much for the user. Microsoft should do what Apple did when it made Mac OS X. Wholesale change the kernel but keep the user experience pretty much the same. The engine is new and different, but users don't need to know that. Meanwhile, the nerds of the world can enjoy a native shell with the thousands of Unix executables available native on the platform.
If you're saying to yourself "Jamie, the kernel is not Microsoft's problem!" you are likely right. I'm not suggesting that blue screens of death are regular and that the kernel is broken. I'm suggesting that Microsoft needs to adopt a new culture, a new perspective on software. They need to force themselves onto a new path that acknowledges what has happened in the open-source world for the last 20 years. Adopting an open-source Unix style kernel would send a very clear, and very loud message that things have changed. That the future is going to be different. A new path is being broken.
Stop Fighting the Web Browsers
My second suggestion rings similar to the first, but is in a different area. I'm not going to suggest that Microsoft should abandon Internet Explorer. They can and should do what they can to make a great browser that works amazingly in Windows. Internet Explorer should be that. However, they should immediately ditch the rendering engine in IE and move to one of the open-source ones. WebKit, Gecko, anything other than Trident (or MSHTML).
The nerds of the world, the ones that build the websites that everyone uses, know intimately how bad Internet Explorer is. At this point, IE's lack of compliance and its adoption of web standards is so poor that I would argue they are impeding the progress of the web. Ask any web developer and they will tell you how they could make amazingly better sites if only they could rely on the major browsers to behave well. By and large Firefox (Gecko), Safari (WebKit), Chrome (WebKit) all do. Even Opera (Presto). But Internet Explorer? No way. Microsoft has created a problem for everyone else, and they need to fix it.
Again, changing the rendering engine won't be noticeable to most people (although when sites work better and load faster they will notice that). This is another move that would signal to the leading part of the technology market, that Microsoft "gets it". That they have woken from a long slumber and are going to do it right now.
Two Steps, That's it...
With those two moves Microsoft could wake me up, and I think a lot of other people too. They would embrace the open-source movement. They would stop positioning themselves as them against everyone else in the entire world. And, on top of it they could save money by owning the maintenance of less software, and they would have products that worked better.
Of course, I doubt these things would ever happen. But then again, I also didn't think Macs would ever have 2-button mice or use Intel chips, and that all came true. Microsoft isn't a bad company, and they aren't going away. But they do need to recapture the hearts of people who are passionate about this stuff. This is my recommendation for how they can do that.
Apple's Two Steps
Friends that have known me for a very long time know that I used to be a Mac guy for many years, and I gave up on Apple completely. I was a Mac user on System 5, System 6 and System 7. I really loved my Macs. But, I bid the platform farewell after experiencing one too many operating system failures. I never looked back and used Windows NT and it's follow-on versions for a many, many years.
A couple of years ago I converted every computer in the house back to Macs and that is pretty much all I use now. What made me come back? Two things.
First, Apple bought NeXT computer and adopted it's Mach-based kernel and underlying operating system. They didn't change the user experience in a major way, but underneath it was all different. A real operating system, that didn't crash.
The second change was to abandon the Motorola PowerPC processor. Intel was clearly the way to go, but it seemed unlikely that they ever would.
I bought my first Mac again when Mac OS X 10.3 was out. It was still on the Motorola chip, but I took a flyer. Shortly thereafter they moved to Intel chip and I've not looked back.
My point in telling this is to highlight how, for me at least, these two changes made all the difference in the world. Perhaps the two changes I've outlined above could do the same for Microsoft.