Xamarin: Next Steps

tl;dr By now, everybody in the tech industry has heard that Microsoft and Xamarin have come to terms and Microsoft will acquire the cross-compiling mobile development tools vendor. This is a good thing for both parties, and aside from watching Miguel de Icaza pop the cork on some very expensive champagne and celebreate with his people, there’s a number of things to think about. Here’s my thoughts around the next steps for Microsoft (and the Xamarin division within Microsoft, however that looks), as well as for people using Xamarin.

If you’ve not already, read the announcement.

First of all, take a moment and take a deep breath. This is a good thing, but like all acquisitions, there exists all kinds of potential downsides. More importantly, as the Parse shutdown showed us, what looks like a great acquisition in the beginning is always susceptible to “a change in direction” or “reallocation of resources” later. Microsoft is no exception, though ScottGu is certainly more transparent than most high-level executives and Satya is definitely more savvy than his predecessors have been.

Once you’re done calming down from the excitement and sheer giggle factor, here’s a couple of things to consider:

Xamarin Studio may be going the way of the dodo

Yeah, it wasn’t a rock-solid product in the first place, so maybe this won’t come as a huge blow to anybody who’s using Visual Studio. But, if it goes (and it’s perfectly reasonable to imagine it will—why maintain two IDEs?), and until there’s a Visual Studio for the Mac, this means that anybody carting around a MacBook Pro and using Mac OSX (which is still the norm for all those iOS developers) are going to be left out of this movement.

This actually has a pretty big impact: in a lot of ways, Xamarin has needed to make the transition out of the “What .NET developers use when they want to build mobile apps” world, and into the larger “What mobile developers use when they want to build mobile apps” world. Until that happens, Xamarin will always be seen as a product “just for the .NET guys”, and that hurts both them, Microsoft, and by extension their whole community.

Apple, Google, and Oracle cannot remain idle

This is a huge cannonball into the development tools pool, and frankly, I can’t really see the aforementioned companies just sitting back and doing nothing in return.

Apple doesn’t really need to do much on the mobile end much, but they could definitely make a splash by acquiring a MBaaS or small cloud player—or, if you really want to shake things up a bit, perhaps a partnership with IBM now that IBM is using Swift as part of its OpenStack cloud profile. However, Apple needs to get clear of this FBI nonsense first.

Google is the one I can’t really predict right now; I’m not sure what would make sense for them at the moment. (Then again, I’m not entirely sure Google knows what makes sense for them at the moment, either; some of their recent moves really leave me scratching my head. “Alphabet”? Really?)

Oracle, to me is an easy one to call: since their play into the mobile world is basically stymied since they couldn’t negotiate/strongarm a path into a Founder’s Chair at the Android table, they need to make a deeper jump into the machine learning/big data space (which makes more sense for them given their cash cow anyway). So, in my crystal ball, Oracle looks to acquire the recently-renamed Typesafe/Lightbend. Between Scala, “reactive”, and Scala’s easy connection to machine learning, it offers Oracle an easy road into those kinds of projects, and in return Lightbend has direct access to the guys working on the JVM, huge data centers, and deep pockets.

Xamarin will get swallowed up by Microsoft

Yes, of course, there will be the usual promises of preservation of company culture and all that, but like it or not, Microsoft is a big-ass company, and that will eventually “grind down” some of the things that enticed people into Xamarin. Miguel of course will become some kind of VP within the firm (unless part of the deal was to let him walk away with a whole pile of Microsoft stock, which would surprise me greatly), or possibly a Technical Fellow, but the rest of the company will find itself sort of “sliced and diced” into the various different parts of Microsoft, would be my guess. Xamarin evangelists will become part of Microsoft’s DPE arm, the core language and library developers will be moved into DevDiv, Xamarin University will probably get moved over to Channel 9, and so on and so on.

This isn’t a terrible thing, by the way. Part of the reason Xamarin wants to be part of Microsoft is to have access to the channels that Microsoft opens up to them this way, and part of having access to those channels is being in the same room when people who own those channels are talking to customers. That means being a part of the rest of the company as it currently stands—refactor Xamarin into Microsoft’s structure, and not trying to remake Microsoft in Xamarin’s image. But that will imply that Xamarin loses some of its cohesiveness and it’s individual branding, and possibly results in some of the Xamarin folks finding a new home (hopefully with a nice severance and some Microsoft stock to remind them of the ride along the eway).

This is Microsoft admitting its mobile strategy was a failure

Or, to be more accurate about it, it’s the final page in the chapter labeled “Windows Phone”. Having admitted that the Nokia purchase was a bad one, having admitted that Windows Phone wasn’t the success they wanted it to be, Microsoft is now (finally!) looking to recircle the wagons. The Lumia phones simply weren’t selling, and while I certainly know a number of people personally who love their Windows Phone, almost all of them are either Microsoft employees or relatives of Microsoft employees. Sales figures certainly seemed to agree with my understanding of consumers' dislike of the devices, compared to iOS and Android.

So now what?

I think this is a multi-part strategy on Microsoft’s part:

  • Make sure they have a good development story and experience for building mobile apps RIGHT NOW. That means having a good set of tools and framworks for building apps on the platforms that developers need to build for right now: iOS and Android.
  • Continue to work the Windows8/Windows10-as-a-tablet angle. Windows10 on a touch laptop or “two-in-one” is definitely a nice experience, and frankly the Surface 3 was a breath of fresh air in a lot of ways. I had actually started convincing myself to pick up a Surface 4 (probably a Pro) as my next Windows laptop when some of the hardware issues started to (pardon the pun) surface, but the 3s were definitely a lot more solid. I figure Microsoft isn’t done with Surface yet, not by any means. And there’s a lot of other hardware running Win10 that are also pretty nice.
  • Figure out where and how they want to be in the phone market. Personally, I think Microsoft just needs to stop. Microsoft is literally fighting a war on every single front it possibly can imagine—from console gaming systems to the mobile device market all the way through development tools, operating systems, databases, office suite software, consumer accessories, search engines, game studios and the cloud, and that’s just thinking of things off the top of my head—and frankly, there comes a time in every general’s campaign when she just needs to signal a retreat from the battlefield, rest and restock those troops, and then use them as a strategic or tactical reserve elsewhere. There’s no shame in this. None of their opponents are tackling anywhere near this many things at once, and none of them seem in any danger of calling in broke.

The intriguing thing is that if Microsoft has no mobile hardware and separate platform, they can conclude a partnership deal with Apple and Google, and start using their advantage as one of the best software development companies on the face of the planet to shore up where their partners are weak.

Companies using Xamarin will probably need to revisit their spend

No details are available yet, but chances are pretty good that companies that used Xamarin will need to talk to somebody at the company and figure out what the Xamarin development licensing would look like going forward. Chances are, if Microsoft’s history is any guide, Xamarin will get folded in as part of an MSDN license. (I can’t see Microsoft giving all of Xamarin away for free, but they probably don’t want to maintain a standalone SKU for it.) That could be a good thing, since MSDN includes other goodies (like Azure credits), but it could also be more money than a company wants to spend if they’re just using Xamarin for mobile development.

Then again, if we assume that the vast majority of Xamarin’s customers are already MSDN licensees (and I’m willing to bet they are), then lo, their Xamarin spend just went to zero. Which of course they will turn around and give to the mobile development team as a bonus, right?

F# for iOS and Android apps just became that much more real

That’s just a personal bonus.

The recently-announced Xamarin/Skia deal gets weird

Xamarin had just, like days earlier, announced they were moving to use Skia, Google’s 2D graphics library. So far, Microsoft and Google have had a fairly neutral relationship with one another (the whole Google/Bing thing notwithstanding), so this could probably end up being nothing.

Miguel just became the new startup poster child

Start open-source project.

Found company.

Get acquired by one major player (Novell).

Get cut loose by said player a year or so later.

Figure out crucial pivot (AOT compilation for mobile platforms).

Get acquired by an even bigger major player.


(BTW, Miguel, if you’re reading this, next MVP Summit, if you come to my party, you’re bringing my wife a really nice bottle of something—after this, I know you’re good for it. ;-) )

For the Xamarin developer, this will mostly be business-as-usual

If you’re using Xamarin, the tools and libraries will likely just get folded in as part of Microsoft’s next release of Visual Studio, but hey, that was already happening as part of Visual Studio 2015, and the libraries are available over NuGet already, so those can redirect to a Microsoft URL without anybody even noticing.

But still, questions remain:

Some of this will be answered when the details of the deal are made public, and some won’t be answered for months or years to come. But, still, it always bears to ask them up front.

Q: What happens to Mono?

Mono has, throughout all of this, remained an open-source alternative to the CLR. This was going to be an open question as the CLR moved to other platforms anyway, but now, it’s even more interesting/poignant. Xamarin certainly has no reason to keep it alive at this point, since now they have legal access to the CLR itself, so….?

Q: Would anybody miss Mono now?


Q: Will .NET become WORA?

Although it wasn’t often talked about, Mono and Xamarin had the ability to build Mac OS X desktop applications and console apps. Clearly Microsoft wants to target mobile with Xamarin, but does this signal their desire to have a platform by which to build Mac OSX and/or Linux apps? And if so, doesn’t this sort of back-handedly admit that maybe Java’s “Write Once Run Anywhere” strategy wasn’t all that bad an idea?

(And bear in mind, I am firmly in the camp that WORA is a pipe dream and a terrible idea.)

Q: When will Visual Studio for the Mac ship?

Given that I can’t see Xamarin Studio surviving in its current incarnation, when will Visual Studio for the Mac ship? Or, perhaps another question would be, when will Visual Studio Code have the necessary plugins to write, compile, debug and deploy .NET apps on the Mac and/or Linux?

Q: What will Miguel’s title at Microsoft be?

Will he report to Gu? Will he report to Satya? Will he be a Technical Fellow? Will he be forced to give up his MacBook Pro? Will he be asked to jump around the stage at Build shouting, “Developers developers developers developers…”?

Q: What happens to the Xamarin Monkey?

They were cute mascots, but will they have to go away now? Or will they just be forced to wear the Windows logo in the next batch?