The Inquisitive Coder – Davy Brion's Blog

Trying to walk that thin line between intelligence and ignorance

My advice to Microsoft

Posted by Davy Brion on June 17th, 2007

Note: this was originally written on September 17, 2006

I have never been a fan of Microsoft. In fact, i dislike a lot of their actions and a lot of their products. In the IT world a lot of people feel this way, and that number seems to be increasing every year. When was the last time you were truelly impressed by a Microsoft product? And how long did it take before you got annoyed at the various quirks and bugs that were still present in the final version? When was the last time you saw a feature in a Microsoft product that you’d never seen before in another product? Where is the innovation? Where is the quality?

Over the last couple of years, i’ve seen a lot of bad signs coming from Redmond and i can’t help but feel that Microsoft is getting worse all the time. I’m not management material, but i do believe the following items could set Microsoft back on track:

It’s Time To Retire Windows!

Spyware, worms, trojans, viruses… The Windows world seems to be infested with them. And it doesn’t look like Microsoft is capable of stopping all of these threats. Sure there are plenty of tools available to protect you, but no tool handles all of these threats in a decent manner so you’ll need to run a few of these tools if you wanna be reasonably safe. And for what exactly? Because Windows is so badly designed that it can’t be secured properly? Oh but that will all change with Windows Vista. I’m sure it will. After all, that’s what they said about Windows XP…

If there’s anything to be learned from the endless delays and cancelled features of Windows Vista, it’s that the quality of the Windows codebase is so low that one might wonder how much life it has left in it. If you’re a software developer, you know that a codebase can become so bad that it’s better to just start over instead of trying to hang on with the existing code. If you have to keep working with a low quality codebase, it becomes much harder to add new features and fix bugs. Great developers cringe at the thought of working with such code. Now look at Windows Vista. How many of the most interesting features have been cancelled or postponed to future Windows versions? How long has the project been overdue by now? How many of Microsoft’s top developers jumped ship to Google and Apple in the last 2 years? These are all signs that maybe Microsoft should start over with a new operating system.

Here’s what i would do if i had the resources Microsoft had: Try to release a somewhat decent version of Vista. This will buy you about 2 to 3 years time before your customers demand that you keep up with the features that Apple is continiously adding to their operating system. But once Vista is out the door, gather all the top talent at Redmond and start working on a brand new system. And why not learn from the lessons that Apple has learned with OS X? Base your new operating system on FreeBSD. This would provide Microsoft with a lot of stable and secure code already and the FreeBSD license permits Microsoft to add their own proprietary layers on top of it. Alright, we’ve already got the base system covered. Now, Microsoft already has parts of .NET running on FreeBSD through their Rotor project. If they port the entire .NET framework to FreeBSD, they have a great foundation to build their new system on. Build the entire upper layers of the system in .NET. No more C or C++ in anything but the inherited FreeBSD code. You’re always telling developers to use managed code to reduce security risks so it’s about time you start following your own advice. And yes, the managed code will be slower. But the required hardware can’t possibly be worse than what is required to run Vista properly.

The most important part of this entire project would be to completely ignore backwards compatability and previous Windows technology. Backwards compatability can be provided by Virtual PC (owned by Microsoft) anyway, similar to how OS X provided backwards compatability with OS 9 through their Classic environment that came for free with OS X. The goal would be to completely design and build this system for the future, not for the past. Forget the past. The past is Windows and look how that turned out. In case you haven’t noticed, this is very similar to how Apple designed and built OS X. Yes OS X, the operating system that is releasing a new version every year with loads of new features and improvements each time. It sure would be great for Microsoft if they had an operating system that they could improve rapidly and release frequently. And Windows isn’t it.

Don’t fight too many wars at once

Do you use Google to search the web? Do you use an iPod? Do you have a Playstation? Do you buy music through iTunes? Not anymore if Microsoft had anything to say about it. Microsoft seems to be obsessed with dominating every possible market in the IT world, and now even the entertainment industry. They have the Xbox to compete with the PS2 but the Xbox division to this day has only once had a profitable quarter (thanks to the Halo 2 release). They’ve been losing money on it for years now. If i were a Microsoft shareholder, i’d be pissed because all of the money could’ve gone into Research and Development to make their core products (you know, the ones that are actually profitable) better.

The same could be said about MSN Search, the Zune (their upcoming iPod ‘killer’), their unnamed online music store that will accompany the Zune and their whole Live initiative. Microsoft is pouring enormous amounts of money in these products but how long will it take before they actually become profitable? That is if they ever succeed. Why not spend that money on your core products so you can maintain your lead in those markets? And what about the enemies that you are creating? A lot of companies have been burned by Microsoft and most of them can’t react on their own. But sooner or later, some of the larger ones will band together and gang up on Microsoft. Will Microsoft be able to fight back? The old Microsoft could have. The current Microsoft? I wouldn’t bet on it.

Now, i realize that if a company wants to grow, it needs to look for new markets if there is no more possible growth in its current markets. And Microsoft can’t possibly grow any more in the operating system market. So it’s perfectly normal that it’s looking for other markets. But right now they’re fighting wars on too many fronts. They are attacking Google. They are attacking Apple. They are attacking Yahoo. They are attacking the entire Linux community. And which of these wars are they actually winning? Maybe they should try one at a time instead of all at once.

Be a leader, not a follower

I can think of 2 features that i had never seen in a competing product until Microsoft offered them in their products. One is Xbox Live which i really think is a great idea. The other is the wireless sharing capabilities in the new Zune device. Too bad they DRM’d the hell out of that. Anyway, the sad thing is that these are the only 2 original Microsoft features of the last few years i can think of. Meanwhile, Apple and Google seem to be coming up with brand new, original ideas all the time. And Microsoft just copies them. Poorly, i might add. Now, which one of these 3 companies should be able to invest the most in Research & Development? For all its money, Microsoft doesn’t really seem to be leading the field here when it comes to innovation. Why not? Where is all the money going? What are your 60,000+ employees doing?

I’m not sure what all these Microsoft employees are doing (does Microsoft even know?), but i do wonder what would be possible if just 1% of these employees would do nothing but think about new features and new products. Think about it. Around 600 people. Thinking. Creating. Experimenting. Surely it couldn’t be worse than what is being produced right now is it? Foster creativity among the employees. Come up with good ideas. Release quality products. Regain some of the mindshare you’ve lost among us geeks over the years. Make more money. If Apple and Google can do it, why can’t you?

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>