X
Tech

​Why Microsoft's Xamarin purchase is a blunder

Being able to run C# programs on Android and iOS sounds good, but Xamarin was never able to make a go of it. So, why should things change now?
Written by Steven Vaughan-Nichols, Senior Contributing Editor

At long last, Microsoft has bought Xamarin, This company's claim to fame is that with its Mono project, it's open-sourced a great deal of Microsoft's .NET Framework and C# language for Linux and more recently Android, iOS and Mac OS X.

Mono Architecture

Mono's architecture looks simple, but the devil has always been in the details.

Xamarin

That sounds like a great idea. It's too bad it's already been shown to be a flop several times over.

You see I've been covering Mono since it was a gleam in the eye of its founder, Miguel de Icaza, in 2001. Now de Icaza is a brilliant developer, but I always thought trying to clone .NET would never work. Guess what? It never really did.

I liked some of the applications written in Mono over the years. These have included Banshee, a Linux media player, and Beagle, a search engine. But very few other people did.

Over the years since Mono saw the light of day in 2004, it's never really got many developers. Even making it possible to easily port Visual Basic programs to Linux didn't gain it much traction.

Even when Mono did have some success, it didn't come to much. In 2009, for example, Debian Linux decided to include Mono in its principal way of installing the GNOME desktop. Richard M. Stallman, head of the Free Software Foundation, immediately replied that it was "dangerous to depend on C#,"

Microsoft replied at the time that it "wouldn't go after developers using the "C# programming language." Microsoft was good to its word. Indeed, years later, Microsoft open-sourced .NET.

In the end, few Linux developers outside of Mono's immediate circle ever used Mono's implementation. of NET Framework and C#.

Since then, Mono's developers changed targets. Instead of trying to bring .NET and C# programs to Linux, they would focus on bringing them to Android, iOS, and Mac OS X.

That worked better, but not good enough for the Mono team to survive its parent company's Novell acquisition and downsizing by Attachmate. In 2011, Attachmatre laid off the Mono team. De Icaza then founded Xamarin with an eventual total of $82-million in venture capitalto give it a home.

Under this new name, Mono has focused on mobile developers. I haven't noticed it getting many fans there, but others disagree.

Microsoft's hope is that Mono will give it a way for its .NET and C# developers to make truly universal mobile applications for Android and iOS. That's why Microsoft killed its Android Windows 10 bridge program.

Forrester Research says this "acquisition is yet another sign of the new cross-platform, public-cloud focused Microsoft." True. The research company also thinks the move makes a great deal of sense. I'm not so sure.

The goal, the dream is that Microsoft will enable programs to port their C# and .Net framework programs on everything: Android, iOS, Linux desktop, and Mac.

Does that sound familiar? It should. That's what Java was originally supposed to do. We all know how well that worked out.

Still, some have great hopes. Andrew Brust, a ZDNet colleague and Microsoft Regional Director and MVP, tells me, "Xamarin has critical mass on its own. Most people who see it don't even know about its Mono heritage (and I agree that Mono had only marginal momentum). But for companies who need to build out multiple versions of an app (I.e. iOS and Android...Windows Phone is a negligible benefit) and want to have as much common codebase as possible, Xamarin has been very popular."

Again that sounds good, but Brust also commented that it's his "understanding that it's also been a bit crashy and difficult to deal with."

That's been my understanding all along. Mono has always sounded like a good idea, but the reality has never lived up to its universal application, common code base promises. Once more, come to think of it, this sounds a lot like Java.

Good luck, Microsoft, with turning Mono turning into a vital part of the software developer world. I've always wanted Mono to work well, but I know its track record too well to have much hope.

Related Stories:

Editorial standards