X
Business

Cross-platform Microsoft

Microsoft, apparently, is helping the folks at Mono to port Silverlight to Linux. This is good news, as the primary fear I've heard from developers is that Silverlight will be locked to Microsoft platforms and products.
Written by John Carroll, Contributor

Microsoft, apparently, is helping the folks at Mono to port Silverlight to Linux. This is good news, as the primary fear I've heard from developers is that Silverlight will be locked to Microsoft platforms and products. Microsoft has already committed to supporting Silverlight cross-browser on Windows, and has a version that runs on Mac OS X (which is even available from the Apple web site). The last step is Linux, and Microsoft is working with Novell and Mono to make this happen.

Paired with Volta, a technology I described last week that converts Silverlight applications to standard HTML / CSS / Javascript, it creates an interesting web client strategy. Microsoft has a high-end next generation web client technology that will run on all platforms in the form of Silverlight, and a layer that works on any platform that supports a web browser in the form of Volta (which is really a server-side conversion layer).

This is a particularly appealing strategy to me, as I have always thought that a Microsoft common platform strategy that isn't confined to just Windows simply makes sense. Think about Microsoft's core competency. The company is very good at building software platforms, possibly because platforms have been at the core of Microsoft's business since Gates worked on BASIC interpreters in the 1970s.

Granted, plenty of Linux and Mac fans might beg to differ, but I take that with a grain of salt, as it's like asking Boston fans to concede the merits of the Yankee line-up (for non-Americans, that's a baseball reference). I spent many years as a Java developer, and prior to that, even worked as a UNIX developer / administrator and Oracle DBA. Microsoft's developer ecosystem is second to none, and the team of computer scientists that extend it reads like a "Who's Who" of the software industry.

That's not to say other platforms don't have advantages. Apple has hardware and UI designers that lead the market, and the open source community has a development process that can harness the productive power of casual programmers in ways Microsoft's proprietary model can't.

That doesn't alter the fact of Microsoft's competency in software platforms, however. When a company does something well, it's important that they drive that aspect of their business as hard as possible, as its a key differentiator. That's why Microsoft needs to find a way to make money by spreading its software platform to non-Windows destinations.

Sun tried to do this with Java, but Sun wasn't in the best position to succeed. Java never had much chance of becoming the client-side API leveler Sun hoped it might become, because Sun knew very little about client platform development (which is why it's not surprising that Java succeeded at some level on the server, where Sun did have more core competencies). Sun had practically no presence in developer tools, meaning such tools had to be created from scratch. Last, Sun didn't have the equivalent of the Windows developer community through which others would gain by creating bridges.

Microsoft faces none of those problems, and today, .NET is so far ahead of Java from a technology standpoint I question whether it will ever catch up (a subject for a later post). However, .NET as a differentiator for Microsoft operating systems limits the potential of the platform, and ignores modern computing realities. Computing is simply too big a part of our daily lives to insist that one operating system will suit everyone.

A consistent development infrastructure, however, would be incredibly valuable. Can Microsoft make money from that, even though it can be claimed to "help" sales of another platform by making it easier to develop applications for them?

I think it's possible, and the moves to improve cross-platform development opportunities through Mono is "proof" that at least some executives at Microsoft believe it is possible as well. Doing so would allow Microsoft to leverage its competitive advantage to its maximum potential. The result would be a software ecosystem into which Linux and Mac nodes plug as easily as Windows. 

Microsoft would make money from that ecosystem, but so what? So long as it doesn't prevent sales of boxes running Linux or the Mac, why do the respective camps care whether Microsoft created a better developer platform?

Editorial standards