Five Not-So-Easy Steps to Save Microsoft

Let me stick a disclaimer on the front of this post: I cut my teeth on Microsoft technology and have been a big supporter of them in the past. I would really like this company to survive because otherwise I’m going to have a lot of useless knowledge cluttering up my brain. However, I am a realist and this is a company in a dangerous situation. It saddens me to see this once great company slowly dying, and I hope they do something to stop the bleeding before it’s too late.

Microsoft is in an interesting situation right now. Their monopoly is fading fast, and the only product they have that’s driving any significant level of buzz is the Xbox 360. They’ve gone from Microsoftfading absolutely dominating the technology space to almost falling out of the cutting-edge technology consciousness. They’ve done very little in the past couple of years to enhance their standing as a leading technology company, and I think a lot of people view them as living in the past.

I think Microsoft is in a precarious situation right now–it’s on the verge of becoming irrelevant. The reason Microsoft has been so dominant over the past twenty years is because they have not only courted programmers, but they made much easier for programmers to use their technology as a platform than anything else. This resulted in the majority of mainstream software being written for Windows. Which resulted in more people buying Windows, which resulted in more developers writing for Windows. It was a catch-22 in favor of Microsoft, and they made money hand over fist because of it.

However, one thing that Microsoft obviously either A) didn’t anticipate or B) turned a blind eye to was the emergence of Software as a Service (SaaS). People can pooh-pooh SaaS all they want and stick their head in the sand until they’re dead, but the fact is SaaS is easier, simpler, cheaper to run, and has less dependencies than desktop software. SaaS has changed the software lifecycle by taking the operating system out of the equation. The desktop is mainly used for launching browsers now, and very seldom used for running applications except in specific situations and for specialized uses.

The result of this software lifecycle shift has been that developing for a mass audience has a lot less to do with the operating system and a lot more to do with the end-user experience. The language and platform no longer matter, it’s just the end result now. In fact, more than which operating system or language is used, it’s now the ability to scale on an as-needed basis that is the primary requirement for applications. Microsoft fails miserably at this requirement because of their licensing model and the way they try to monetize their software, which they haven’t really changed since the 1980’s.  Just from keeping an eye on the Net I sense a mass migration to open source development platforms, and the search trends seem to back that up–as a bonus bad omen, the news volume for their languages is practically non-existant.

java    php    javascript    c#    vb.net   
Microsoft_vs_opensource

Either Microsoft hasn’t quite realized this yet, or they’re planning to milk the old business model until it’s dead and shriveled up—along with the company. However, they’re missing their opportunity to be a relevant and vibrant company in the future by taking this approach. I had hoped that by hiring Ray Ozzie Microsoft would be revitalized and take a more realistic view of the future, but Ray seems to be MIA for almost a year now.

So I took a quick trip to never-never land, and imagined what I would do if I were in Ray Ozzie’s shoes. I came up with five steps Microsoft could take to remain a player and a leader in the technology space for years to come. Some of them would involve sacrificing short-term revenue (which they’ve been unfairly crucified for recently in the press), but in the end it comes down to if they would rather make a quick buck today or be a relevant and vibrant company for years down the road.

So with that, here are five not-so-easy steps I would take to save Microsoft if I called the shots:

  1. Release .NET as open source. .NET is by far my favorite development platform, however it has one HUGE disadvantage—it’s not open source. No matter what they do with it as a platform, that factor is going to cut .NET off at the knees, as almost every one of its competitors is open source. If they do release it as open source, they have the opportunity to be the de facto leader again in the software development space. They could even continue to charge for their development products and keep them proprietary to Windows as incentive to keep developers using Windows and to monetize it, but if they want .NET to stay relevant they’d better release it as open source while it’s still leading the pack (on the technology side at least).
  2. Release Windows as open source. I’m sure any Microsoft exec or stockholder that reads that sentence will have a heart attack, but it needs to be done. Vista isn’t causing any excitement whatsoever, and Microsoft needs to come to grips with the fact that the operating systems doesn’t matter next to the Internet. I don’t think they’re going to see any significant revenue from people upgrading from XP, the only money they’re going to see from their operating system products in the future will come from new PC shipments. What’s really going to hurt them, however, is the licensing model for the server products. When you compare the cost of running and scaling a Windows-based application versus running and scaling on Linux, it becomes a no-brainer. I can’t think of a single good reason for developing a SaaS application for Windows when you’ll be paying Microsoft licensing fees every time you need to scale, and you could be getting that software for free using Linux. Microsoft needs to consider the operating systems loss leaders and an incredibly powerful way to market their other products, before everyone stops developing for them and everyone stops using them as a result.
  3. Release a SaaS version of Office, ASAP. I don’t know why they haven’t done this already, I sincerely hope they’re already working on it. Every day they don’t have this product on the market, another couple hundred small businesses are moving to Google Docs and Spreadsheets. Offer a premium version that is monetized, it doesn’t really matter. Just get into this space as soon as possible, before the market is gone.
  4. Find a Steve Jobs clone. Microsoft is one of the worst companies I’ve seen in terms of complex products and terrible usability. They need to put someone in charge of the customer experience, and give them the power to chop not only features off products and icons off interfaces, but complete product lines. Microsoft is turning into a jack of all trades and master of none, and it shows in the lukewarm response that just about all of their new software is receiving. It’s time to take things back to the nubs, endure some pain, and reconfigure the company into something that people will pay attention to again.
  5. Start innovating again. This is really probably the most crucial item on the list.  The only innovative things I’ve seen come from Redmond recently have been in the Xbox 360 area. When Ray Ozzie came onboard they announced some exciting new technologies such as Simple Sharing Extensions and Live Clipboard which promptly lost all of their momentum and fell off the map. Microsoft needs to spark the development staff somehow and start coming out with some innovations that will draw developers back into the fold.  Oh and by the way, the new Windows Home Server doesn’t qualify as innovation–trying to keep data local to the user is just a dumb idea unless it’s for caching or offline access, this is and idea that would have been slightly interesting five years ago.

Of course, the likelihood of any of this happening is close to nil, but hey, a guy can dream right? What would you do to right the Microsoft ship?

————————————————————————————————

UPDATEAlex James and Mike Schinkel have weighed in with some great thoughts on this subjects.  Alex has some great ideas to add to the list and Mike has correctly called me out on the fact that number five is pretty vague.  Maybe I should rephrase that last step "Take a page out of Google’s book and encourage brainstorming and independant projects".

Share and Enjoy:
  • Print
  • Digg
  • Facebook
  • Google Bookmarks
  • HackerNews
  • Reddit
  • http://assl.sullof.com Francesco Sullo

    I totally agree.

  • http://robilad.livejournal.com Dalibor Topic

    Even if Microsoft opened up their technologies: Why waste time trying to save Microsoft's legacy? The future is being shaped elsewhere.

  • http://www.base4.net/blog.aspx?ID=278 Alex James

    5 things I would do if I was running Microsoft…

  • http://www.mikeschinkel.com/blog/AboutFiveNotSoEasyStepsToSaveMicrosoft.aspx Mike Schinkel’s Miscellaneous Ramblings

    About “Five Not-So-Easy Steps to Save Microsoft”

    Discuss of Jasons Kolb’s “Five Not-So-Easy Steps to Save Microsoft”

  • http://www.mikeschinkel.com/blogs/ Mike Schinkel

    Great article. I disagree slightly with your comment that language and platform don't matter; you even make the case when you say "…otherwise I’m going to have a lot of useless knowledge cluttering up my brain" and ".NET is by far my favorite development platform." But in the grand scheme, you are spot on. You can read more of my take here: http://www.mikeschinkel.com/blog/aboutfivenotsoeasystepstosavemicrosoft/

  • http://www.lazycoder.com Scott

    "Release .NET as open source"

    Check out the "Rotor" product (SSCLI) http://www.microsoft.com/downloads/details.aspx?FamilyId=8C09FD61-3F26-4555-AE17-3121B4F51D4D&displaylang=en

    "Release Windows as open source. "

    Oh god no. How many flavors of Windows do you want to have to support?

    "Start innovating again." "Take a page out of Google's book and encourage brainstorming and independant projects".

    The last time MS innovated was the virtual memory handler in Windows 3.0. Check out the ASP.NET team via Scott Guthries blog. They are working on a lot of small projects on their own (PLINQ and Script# come to mind).

  • Jonathan Allen

    Look at your trend lines again. Did making Java OpenSource really help it?

    There was a peak in the news, but the total web searches continue to fall.

    What would Microsoft really gain by making their code open source? A warm, fuzzy feeling from a handful of developers too cheap to pay for their tools?

    Is that really worth giving up the income they get from selling the most popular operating system in history?

  • http://www.jasonkolb.com Jason Kolb

    Microsoft would stand to gain control of the premier development platform, period. Right now they have control of the premier development platform for Windows, a shrinking market. I gaurantee the percentage of new software projects being launched under .NET is falling because nobody wants to be married to Microsoft. Like I said, .NET is the best development platform out there but I have personally watched as very large companies that have operated on top of Microsoft for a LONG time choose open source over .NET simply because of the control issue. Linux is a viable enterprise operating system now, and it doesn't make sense to pay the licensing costs associated with running Microsoft.

    The key point you bring up is "the most popular operating system in history". History is in the past, and Microsoft simply does not have the same monopoly they had in the past. The world has changed in the past ten years and Microsoft is still clinging to their old business model. If they refuse to change that business model they're going to take two very good pieces of technology (.NET and Windows) down with them.