Archive for 2nd May 2007

Why Microsoft Should Abandon Its Monopoly Ideology and Restructure Itself

Microsoft has a monopoly ideology, that emphasizes total proprietary integration before all else. For the past two decades, this was Microsoft’s greatest strength, making it nearly impossible for competitors to gain a foothold. But now, as open source is gaining steam and the Internet makes interoperability a requirement, I think this ideology will be Microsoft’s biggest hurdle in the next decade. Microsoft has a lot of great products: Office, .NET, Visual Studio, MSSQL, IE, IIS, etc. But all of these products share a common theme of trying to stamp out established open standards.

This puts Microsoft at odds with the open source community and many governments. If Microsoft was new to the fire hydrant market, they’d be mass producing fire hydrants that required Microsoft Certified Wrenches to open. It is no wonder governments are weary of the continued reliance on Microsoft’s closed standards.

Microsoft uses closed architectures in order to lock its customers in – this will stop working soon. It’s difficult to stop using Outlook when all of your emails are in it and you can’t figure out how to get them out. It’s impossible to stop using IE when all of your web sites require ActiveX. This sounds like a great win-win for Microsoft, but I am saying it will actually hurt them in the coming years as people start to realize many of the technologies Microsoft offers are becoming a commodity.

Word applications are finally beginning to mature to a point where more new features aren’t worth dishing out more money for an upgrade. Open source database alternatives such as MySQL are finally catching up to the big boys and are used at many places, including Google. Linux is already one of the most popular web server operating systems. And Firefox, a popular open source browser, has gained major usage shares in Europe.

The Proposal

A few years ago, Microsoft was nearly broken up as a result of the infamous anti-trust lawsuit. People believed Microsoft would get split into three divisions: Windows, Office, and Everything-Else. Well, that didn’t happen, but looking at what could have happened as a result, I think we missed a grand opportunity. And so did Microsoft. Microsoft’s blind ambitions toward total user control has caused its products to corner themselves into a “Windows-only” box.

Microsoft should restructure itself for more autonomy between its subdivisions that emphasizes less reliance on other Microsoft technologies. As in, each component of Microsoft should try to sell its services to as wide of a market as possible. Microsoft’s products that stand to gain the most from this are:

  • Visual Studio / Windows Server
  • Office
  • Windows itself

On the flip-side, Microsoft’s product that will be threatened most is IE. But that is assuming IE doesn’t make some predictable improvements that should follow suit if things go as I predict. Allow me to explain.

Visual Studio / Windows Server

What needs to happen is simple: All of Microsoft’s web development frameworks should stop assuming or requiring that the client is using IE. As in, it needs to produce 100% standards complaint HTML and JavaScript, as well as not use any proprietary hooks such as Silverlight or ActiveX. With this simple assumption destroyed, you remove one of the top reason why some companies avoid using the ASP/C# development environment — their website breaks in some clients’ browsers. The other reason, of course, is the need to run it all on Windows machines.

While I don’t like the fact that ASP, .NET, and other server-side technologies require Windows, I am willing to put that aside for a moment. I realize that there are certain operating system hooks that Microsoft is using that makes this pairing very convenient. So while it is in their best long term interest to separate their server-side development environments with Windows, I won’t advocate that here — it’s simply unreasonable to expect them to decouple that for the time being. The time will come, however, when it will be in their best interest to make their server-side technologies work on other systems as well. Because of this coupling, we should see a huge spike in demand for Windows Server as developers become more open to using .NET. A wider acceptance of ASP/.NET also means a greater demand for Visual Studio.

Moreover, since the web involves strangers that may not use Windows technologies, lacking support for non-IE browsers is a major weakness in Microsoft’s offering. Fixing that weakness seems like a logical move to me. 

Office

Office needs to support open-standards. The reasoning for this isn’t a plea by someone hoping for free alternatives; this is all about getting new customers. In some countries, Microsoft has a stranglehold on the market. However, in countries where Microsoft has a small presence, it is increasingly common for people to use cheaper, free alternatives. The problem is that a lack of support for open standards means those governments have a strong reason not to adopt Microsoft Office. They don’t want to edit someone’s file and break all the formatting, or otherwise render the file into a “MS-only” format.

The biggest market for Microsoft isn’t the current market: it’s the upcoming one. Office is still far, far, far ahead of its competitors in terms of integration, stability, and ease of use. The only component missing is the interoperability with open standards. If it gained this feature, I am confident Microsoft would stop bleeding away potential new customers (i.e., governments).

Windows

Windows is insecure, right? Or is it IE? Or is it Outlook? Well, to the average consumer, all three are insecure. But in reality, it’s the integration of these three elements that created one of the worst computer security nightmares in history. Because each trusted the other absolutely, compromising one part meant the other two were infected as well. This is how people would get a viruses by clicking on a link, or how an email would install IE spyware, or how looking at a picture would cause you to become an email-spam bot.

Microsoft has taken recent steps in trying to make these components isolated, but the root problem still remains: IE and Outlook are designed to utilize features in the OS that most applications – short of your virus scanner – do not. But to do this, Microsoft should make sure its applications play by all the same rules everybody else does. As in, its OS shouldn’t give special exceptions to IE or Outlook.

By forcing each component to work completely blind to the other, you increase security. This improves the overall image of each of the components, especially Windows. This is a long term investment.

IE

IE doesn’t necessarily lose on this, but its importance to Microsoft changes. Microsoft shouldn’t care so much about this browser except its tie in to Live Search. It is no longer a vehicle to forcibly increase adoption of Microsoft technologies such as ActiveX. In the new age, it’s becoming clear that IE must support the standards. With the changes I suggest here, this becomes a requirement.

Microsoft had a lot to gain by making IE destroy standards because it helped keep the IE + ASP + Windows Server triad in place. However, since that scheme is now falling apart, IE sticks out like a sore thumb.

Supporting standards has benefits on multiple levels:

  1. Developers are just itching for the day when IE dies. IE is currently hated by developers because it makes web-programming take twice as long: once for IE, and once for all other browsers.
  2. This reduces the complexity of the code generated by Microsoft server-side technologies. This code would only grow more complex as new types of Microsoft-only versions of technology come out.
  3. IE doesn’t break on standards complaint web sites (this actually happens).

In a standards compliant word, IE has little to offer over browsers such as Firefox or Opera. However, Microsoft stands to lose the entire IE market share if they continue to ignore standards since governments may begin to standardize on the established open standards.

IE would become all about promoting Microsoft’s web properties (Live) rather than controlling web standards. 

The Problem

Right now, Microsoft is on cruise control. They’re happy with their position, and they don’t want to sacrifice it.

In the coming years, governments are the most likely to jump off of the Microsoft bandwagon. If governments begin valuing open document formats, just wait until they realize their web sites share the same problems as their documents. All of those government web sites that currently only support IE will begin to switch away from IE entirely. Once this land slide begins, it’s too late for Microsoft. Suddenly, the demand for their web development languages slumps and the entire virtual market they build around their proprietary .NET libraries falls apart.

As Balmer once said, “Developers, developers, developers” are the life line for Microsoft’s success. When the development dries up, Microsoft’s competitors gain an edge since all of the new applications appear there first. More importantly, as the notion of a “IE-only” web site becomes increasingly ridiculous, the tolerance for proprietary code drops. Thus, they must ensure their proprietary solutions always produce open data formats.

They have to act preemptively here. And this is the biggest hurdle Microsoft must over come: sacrificing their short term gains for much larger long term ones.