allenc allencheung

The Modularization of Microsoft

All the interesting news coming out of Microsoft from their Build conference revolves around interoperation. Across desktop and mobile, they’re courting developers with initiatives – Visual Studio in OS X, Android apps running in Windows, cross-compilation of Objective-C – that ought to make porting code over easy, which in theory should bootstrap app ecosystem on Windows platforms.

There is, rightfully, a lot of skepticism around whether this strategy of co-opting others’ frameworks could work for Microsoft. The problem with trying to break into mobile is that apps are a chicken-and-egg problem: developers will only show interest if there’s enough of a market, and users will only commit to the phone platform if they see enough apps. Microsoft is tackling this problem from the developer standpoint, which makes sense given their decades of excellence and expertise around developer tools, and if they get any traction they’d start focusing on the consumer side of the equation.

This may seem like a strange move when Apple and Google have the market locked down, but Microsoft has done this once before on the Xbox. Specifically, the Xbox 360 ran DirectX, and their tooling made the console much easier to work with than the PS3. Particularly when the games were built on PCs to start with, the tools made for faster development and allowed for easy PC ports of 360 games, important factors in how Microsoft muscled their way onto the console industry[1]. If anything, the consumer-facing, UI and UX aspects of the Xbox remain lacking.

The general trend, however, has Microsoft decoupling itself from the single Microsoft stack. While Microsoft was sued for antitrust violations at the height of its influence, it’s now just trying to get back into consumers’ minds, even if it means having to integrate, build on top of, or copy others’ frameworks. At the same time, they’re opening up their developer tools across all the operating systems, and they have Azure as the cloud service that is again stack-agnostic.

This is happening not because these pieces work better separately, but because it’s an easier sell to work with their systems piecemeal. Apple can command the full stack because of their valuable audience, but they’ll almost certainly find themselves in the same boat as Microsoft once iOS no longer represents the forefront of technology. A short decade ago, Apple’s iPod found success mostly after it made iTunes available to Windows users.

Web development has this idea of a “stack”: a set of interoperable, mostly interchangeable technologies that make up the data, backend, API, and frontend systems for a product. Stopping to think about how this is even possible, a lot of the openness comes from having both the open web and Linux as an open operating system, and the natural order of software evolved to favor modular components and systems. Microsoft is starting to follow this path – not out of benevolence, but out of necessity – and it’ll only be a matter of time before others follow.

Footnotes    (↑ returns to text)

  1. To be fair, Microsoft also spent a ton of money buying up exclusive rights to games and promoting their own software.
By allen
allenc allencheung