Monday, June 1, 2015

What the new Microsoft needs to do to become relevant again

If you just look at the numbers for Microsoft under Steve Ballmer you'd have to draw the conclusion that Microsoft was successful. Their annual revenue more than doubled and the net income increased 215 percent. But my opinion is that Microsoft under Steve Ballmer was a disaster.

How can the company be a disaster when it was making money hand over fist? Microsoft's focus on it's closed eco-system (Windows, Office, etc) made it become irrelevant in three key areas that are the future of computing:

  1. The Cloud
  2. The Start-up
  3. Mobile
It's hard to argue that those three areas aren't the most important areas in the technology industry. Not just in the short term either. The start-up culture, the cloud and mobile computing have changed the direction of technology for good.

We now live in a world where everyone (in developed countries) has a computer (or multiple) in their pocket at all times offering them instant and easy access to the internet. Gone are the days when people's primary access to the internet was the desktop. This "always on" access has changed how people consume both technology and hardware. That's why Microsoft's focus on the desktop has hurt them and their eco-system.

A lot has been said about a new culture forming at Microsoft under Satya Nadella. Microsoft has stated that it wants to be a mobile first company. It has started to make good on that by making applications like Office available on iOS and Android. But being a mobile first company isn't enough. In order for Microsoft to become relevant again they need to have a strategy for those three areas.

The Cloud


Microsoft's approach to the cloud has been narrowly focused on the wrong thing. They're trying to compete with cloud providers like AWS with Azure when, in my opinion, they should be trying to make Windows run better on other cloud providers.

Microsoft's biggest threat in the cloud isn't other cloud service providers, it's Linux. In the old days of the data center Microsoft could thrive. Their tools helped with scalability and reliability in a world where server up-time was a premium. In today's cloud we've learned to plan for failure and have built our services around the microservices philosophy, a philosophy similar to that of Unix; build small but very powerful pieces of software that can be strung together.

In order for Microsoft to compete in the cloud they need to focus not on providing cloud services but instead on making Windows more cloud ready. In order to do that they need to:

  1. Make Windows run completely headless. I should never have to plug in a monitor or use a mouse to administer my server. Many people will try to tell you that this is achievable today but if you try it you'll see it's not true. The command-line interfaces for services on Windows are horrible.
  2. Build SSH into Windows. SSH is the gold standard of remote access. Microsoft needs to buy in.
  3. Ditch PowerShell and provide a POSIX compliant shell. This does two things. It's makes using Infrastructure as Code tools like Chef, Puppet, and etc much easier. Second, it allows for a lot of existing scripts and server knowledge to be ported to Windows. 

The Start-up


This is arguably going to be the most difficult area for Microsoft to change its focus on. This is also very much tied into the cloud strategy I mention above. Start-ups aren't using Microsoft products because:
  1. It's not free.
  2. Microsoft products are not standards compliant.
  3. There's not as big an open source community built around core technologies that Microsoft is good at.
Free

In this day and age Microsoft needs to stop trying to make it's revenue off of Windows licenses. Linux is free and is available in many many many different flavors. One big reason start-ups are turning to Linux is simply the cost to get started.

So where can Microsoft make up some of this revenue loss? Support contracts. People buy support contracts when they're big enough to need the support and when they want to feel assured that an expert is available and willing to help. 

Standards

Start-ups need to move quick. They're competing against each other but also much more well established companies with a lot of money to burn. Standards help these new companies move quicker without getting locked into a proprietary system.

Start-ups can build email, spam filtering, calendar, contacts, file share, source control, and web servers using standards compliant software on Linux that is accessible on all modern OSs (Android, iOS, Linux, OS X, and Windows) and not have to worry about things like the OS X version of Outlook messing up calendar invites because it isn't as feature rich as the Windows version.

Standards compliant services allow people to consume those services using the client of their choice. The client they have become an expert in.

Open Source

Microsoft is moving in the right direction here. I applaud them in open sourcing .Net. But that's not good enough. Make Windows work better with the thousands and thousands of open source software projects that people use in the wild today. Explore GitHub and make the popular projects "just work" on Windows.

Mobile


Mobile is about choice, about personality, about uniqueness, about familiarity and about being distraction free as much as it's about being connected. I'm very encouraged seeing what Microsoft has done to pry Office out of their closed eco-system and make it available cross platform. But mobile is about more than just apps.

In order for Microsoft to succeed in Mobile they need to embrace HTML5, reactive design, and other browsers (specifically webkit). For example, there's no excuse for Outlook Web Access to work differently on a Mac or Linux than it does on Windows.

Mobile for Microsoft should be the bow on the package. Provide a set of micro-services and productivity software that people need and can consume from anywhere. People will pay for the software if it works and it's useful.

No comments:

Post a Comment