9 Considerations for Microsoft's Future

As a former Microsoft employee who worked there for five years, I have a soft spot for the company and hope the company find its long-term footing soon.  In light of this, inspired by Aaron Levie's article Microsoft's Next Era, I thought of nine considerations for the future of Microsoft--at the risk of appearing naive about the whole thing.

1.  As Levie states, the next Vision for Microsoft is crucial.  Reflecting on what Microsoft has been doing the past decade or so, it's essentially been competing on their competitors' terms (Apple with iPhone, Google with search and cloud, Amazon with its cloud IAAS, etc).  The next Vision for Microsoft has to supersede this level of competing back-and-forth.  Microsoft must define its own market again (like it did with OS's) and become the only player there.  When I think of Microsoft and its potential future, I get excited about this vision:

To give everyone the intelligence of the crowd at any time and any place.

Thus, bring the power of the internet, its data and intelligence to everyone and make it immediately accessible.

2.  Refocus on technology.  Ads, media, and content bring in advertising dollars and eye balls to Microsoft's (and partners') sites, but innovative technology has been and should be the core to Microsoft's core competency.  Focus on technology. Don't be afraid to shed everything else.

3.  Embrace open source programming and methods.  Microsoft stands strongly by its Visual Studio platform and programming languages.  But, except for legacy enterprise companies (who I would argue are behind the innovation curve), who really develops on Visual Studio?  If Silicon Valley is a good proxy, I literally know of no one.  Instead, I propose that Microsoft embrace open source as its core development environment.

A possible suggestion: JavaScript.  I understand that Ruby, Python, C derivatives, etc. have robust libraries and many developers out there already.  My point isn't to alienate them, but to make a conscientious effort to officially adopt open source programming.  I suggest JavaScript, because it's rapidly becoming a language that can do both client-side and server-side, e.g. node.js, development.  Further, by embracing one open source platform, marketing and positioning Microsoft to customers becomes easier.  And, Microsoft could probably single-handedly write lots of backend libraries JavaScript for the community.

4.  Make every Windows operating system come with a robust development front-end suite.  By "come with", I don't literally mean installed on every computer, but make the development suite downloadable and installable freely and easily.  The development suite should be compatible with most open source languages, but don't be afraid to build more robust tools/libraries for JavaScript, if this happens to be the language to adopt officially.  Thus, anyone with a Windows PC should be able to program and develop right out of the box.  Essentially, reinvent Visual Studio to be an easy-to-use open source development suite.  And, don't be afraid of letting third-party entities developing their own development suites to run on Windows.  Stay away from monopolistic attitudes here.

5.  Create a cloud computing platform (IAAS + PAAS) that connects instantly to any Windows PC's development environment.  This means, from any Windows PC, I should be able to easily deploy a web server, SQL, and backend processing to Microsoft's cloud computing platform.  Think of the process of SSH-ing into an Amazon EC2, doing git pushes/pulls/branches in github, deploying to Heroku, etc. all being abstracted and made super simple to the normal programmer.  (In 20 years, the "normal programmer" might be synonymous with the "normal middle class worker".)  Here's a thought:  make this free.

6.  Make the design of the interplay between #4 and #5 super-easy and straightforward.  Power users will always want to be able to masterfully orchestrate the interplay among various cloud services and layers.  Microsoft shouldn't purposely alienate these users' requests.  That said, most users (within +/- 2 standard deviations of the developer population) want to develop in an environment that makes them 1) very productive and 2) feel part of a community of other developers.  Microsoft should design its development environment (front-end and back-end) such that everything works seamlessly, quickly, and with little overhead.

7.  Get into on-person connectivity hardware aggressively.  This is probably a controversial point and depends heavily on the future vision for Microsoft.  But, if Microsoft were to adopt the vision laid out in point #1 above, Microsoft needs to think beyond the smartphone.  Forget trying to become the #1 or #2 smartphone platform.  This ship has sailed.  Rather, Microsoft should lead the global technological development and productization of the next level of human-computer interaction.  Leverage the R&D from Microsoft's Research team and aggressively acquire/hire knowledge in this space.  Make the hardware that people want to wear and have be from Microsoft.  Experiment with whether Microsoft should own the hardware consumer-facing experience (like the iPhone), or take a back seat to other consumer-facing brands (like Android and the Samsung phones).

7.1.  Don't be afraid of Apple.  Apple fans will of course say, "There's no way Microsoft can match the beauty of Apple's esthetics and user experience."  While this statement is probably true for smartphones, the hardware ecosystem for on-person and wearable technologies hasn't been defined.  Be the underdog and surprise everyone.

8.  Buy at least one cellular network provider.  Again a controversial point, but if Microsoft adopts the vision above, then I argue strongly that it should vertically integrate into the cellular network space.  Why?  Microsoft must ensure that no connected device gets dropped unexpectedly from the cloud and that any connected device can connect anywhere in the world.  In short, only by owning a cellular network can Microsoft ensure a very high quality of service.

9.  Compete with one's self in Applications.  Levie states that Microsoft needs to unbundle its apps and to let its apps compete on their own.  I agree completely.  Whether it's Office or Visual Studio (or any other app built on its cloud platform), Microsoft can't give their in-house apps an unfair market advantage.  I understand that these are big cash cow apps, but these "business school" competitive barriers won't help the company in the long-run.  (Google docs has essentially replaced everything but Excel for a lot of my friends.)  Microsoft should never forget its core of providing leading class technology for cloud development and ubiquitous connectivity.

9.1.  It's worth considering whether selling Office is a smart strategic move.  It's probably worth a lot of cash that can be invested into its greater Vision.