
Sources: Microsoft In Talks To Acquire Mobile App Development Startup Xamarin - darrenkopp
http://www.crn.com/news/mobility/300072056/sources-microsoft-in-talks-to-acquire-mobile-app-development-startup-xamarin.htm
======
judah
Well, I sure hope Miguel gets a nice payday. He's built some really amazing
tools over the years.

If Microsoft does proceed, it is a sign that they want their tooling to extend
to their competitors' mobile platforms, something that has got to be a
difficult business decision in light of pushing their own mobile platform.

~~~
taspeotis
> If Microsoft does proceed, it is a sign that they want their tooling to
> extend to their competitors' mobile platforms, something that has got to be
> a difficult business decision in light of pushing their own mobile platform.

I'm not sure it would have been that difficult.

Post-acquisition: instead of developing native with Objective-C and targeting
only iOS or Java and targeting Android you can develop with C# and have a
"native" experience on iOS/Android. The kicker is now Windows Phone/Windows
Store is much more accessible to you [1].

It's lowering the barriers to mobile developers _considering_ Windows.

[1] If you go hard with the code sharing that MvvmCross facilitates [2] [3]
you don't have to do that much more to support another platform than
developing the native views and binding them to your view models.

[2] Anecdote 1 [http://stackoverflow.com/questions/10224376/mvvmcross-
experi...](http://stackoverflow.com/questions/10224376/mvvmcross-experiences-
hindsight-limitations) "In fact 90% of the code is shared and easily
testable."

[3] Anecdote 2 I've used MvvmCross myself and I'd say that I've gotten to 70%
code shared across multiple platforms.

~~~
InclinedPlane
Bingo.

Develop in Visual Studio using Xamarin for iOS and Android while writing in
C#, now the incremental cost to also developing for WinPhone is much, much
lower. And by owning these tools, as well as the WinPhone platform, Microsoft
can make that increment almost arbitrarily small.

~~~
rbanffy
> Develop in Visual Studio using Xamarin for iOS and Android while writing in
> C#, now the incremental cost to also developing for WinPhone is much, much
> lower

You are counting the cost delta between writing C# for iOS and Android,
something that is not that common, and also writing for Windows Phone. Most
teams I know of prefer to write their code using the native toolkits. For
them, writing in C# would be an extra cost. Few see writing equivalent code in
Objective-C and Java as prohibitive because it's very common to host the bulk
of the functionality on servers and only run UI code on the mobile client. UI
code has traditionally been non-portable.

For those who are already writing their mobile apps in C# for whatever reason,
porting to Windows Phone is already easier than porting from Objective-C or
Java.

------
jasallen
Xamarin is a tremendous accomplishment, but microsoft should tread a little
lightly here. As it stands, Xamarin may have nearly saturated the market it
has available to it.

To operate on Xamarin effectively, in addtion to C#, you need to be able to
(1) Make use of Objective C documentation and Stack Overflow, etc. (2) Make
use of Java documentation and SO (this is easier). (3) Learn the AXML UI
development patterns of Android, (4) Learn the nib UI development patterns of
iOS.

For (1) and (2) Most of your corner cases have not been hit by Xamarin devs
yet, sure, growing will help this, but it will always be just like Mono and C#
documentation -- there is _some_ mono information, but often, you go back to
the MS CLR documentation and try to figure out where its not quite the same.
So right now, you are looking at let's say your A+ through B- level developers
as being 'capable' of handling this. Microsoft needs big box corporate
knucklehead "developers" to be able to succeed with their tools go get the
kind of traction they need.

I don't say this is an impossible task for Microsoft, in fact, they are second
only to jetBrains in terms of developing the best IDE's (that was my #1 hope
was that Xamarin would contract with JetBrains for Xamarin Studio) and they
certainly have more resources and the expertise to get it done. But it's not a
home run, and it's not nearly 'right once, run anywhere'.

This could be a super exciting development, I'll be watching for more!

~~~
jazzdog
> As it stands, Xamarin may have nearly saturated the market it has available
> to it.

No way Xamarin has saturated the market with their licensing costs. $1000/yr
per seat (for VS integration, last I looked) is cost prohibitive. If this deal
lowers that cost significantly, it's a very compelling way to go for lots of
devs.

~~~
keithg
I agree. If they wrap this into their MSDN subscription packages, then it
opens up a ton of new users.

------
programminggeek
I was pretty sure this would happen once Xamarin spun out of what was left of
Novell. Open source .NET proved that C# is a great language outside of Windows
and it wouldn't take much money for Microsoft to acquire it. Throwing
Microsoft's considerable resources at Xamarin would allow Microsoft to gain a
huge foothold in cross platform development, and thus would be much more
likely to have developers port their apps to Windows.

Microsoft used to embrace, extend, and extinguish their competition before
they got too big and too afraid of their own shadow(and shareholders) with
Windows and Office. Honestly, it makes total sense for Microsoft to
acknowledge they are running a distant #3 and get as many developers behind
them as they can. Make Microsoft the place where real hackers go to write
code.

Buying Xamarin is embracing. As is maybe a Nokia Android phone. Microsoft
needs to make their own "better" version of Android with their own services
and get people hooked on that. Then make the "best" version of Android called
Windows A. It's Windows, on Android. Windows A's best features would be closed
source and patented. It would potentially crush Android in the mainstream.

I don't think that Microsoft has the guts to try and pull that off, but if
they did, it would be a feat.

~~~
magic_haze
Aren't a lot of people who used to work at Microsoft during the 90s/early
2000s working at Google now? I'd be surprised if the people who implemented
Embrace/Extend/Extinguish in the first place aren't one step ahead.

The best parts of Android are already closed sourced and patented: gapps, all
the stuff Samsung, Motorola, HTC etc. add on, the baseband etc.

~~~
Moto7451
Even if Google is a step ahead, it wouldn't be too bad for devs to have a top
tier common Mobile app Dev environment. I for one love .Net and if MS can pull
off Extend and Embrace successfully (less extinguish) we (or at least .Net
fans) will be better off.

The market will be better off with MS, Google, and Apple as strong rivals.

------
bad_user
I don't get the excitement. Nothing stopped Microsoft from releasing an open-
source .NET implementation that works cross-platform, coupled with the toolset
to build UIs on top of Android and iOS. It's actually one of their core
competencies and if relative nobodies could pull off RoboVM, then Microsoft
has no excuse other than being defensive about Windows and they had plenty of
time to do it, ever since 2001. Mono and Xamarin are only possible because a
bunch of folks weren't bounded by Microsoft's bottom line.

At best this would be an acquihire. At worst this is a defensive acquisition.
I hope it doesn't happen, because nothing good can come out of it.

~~~
statictype
_Nothing stopped Microsoft from releasing an open-source .NET implementation
that works cross-platform_

Nothing except that it wasn't a priority for them. Maybe it is now.

I'm pretty sure releasing a version of the .NET framework and runtime that
works across platform is a little more difficult than changing the target
architecture on their compiler settings (does their compiler even support
different architectures?)

I'm not saying it isn't possible - just that it wasn't a priority for them.
This doesn't mean they don't want or support a cross-platform .NET ecosystem.
(If I recall something Miguel De Icaza wrote some time ago, the internal teams
in Microsoft have been supportive of Mono.)

Do agree though that if this were an aquihire or defensive move, then it sucks
for the rest of us.

~~~
politician
Microsoft released a "Shared-Source" .NET implementation for FreeBSD in 2002.

[http://msdn.microsoft.com/en-
us/library/cc749640.aspx](http://msdn.microsoft.com/en-
us/library/cc749640.aspx)

------
taspeotis
Yes please.

Having suffered through MonoDevelop and now Xamarin Studio (which is much
nicer) and the various bugs introduced each time you upgrade Xamarin.Mac and
other miscellaneous problems I'd love for Microsoft to come in and:

* Polish Xamarin's tools

* Polish Xamarin's code (and swap out Xamarin's implementation of the core CLR/BCL with Microsoft's own ... presumably MS' GC is two cuts above the Mono one)

* Add more QA to the release process (I don't know how Xamarin.Mac 1.4 got released with a broken NSApplication.BeginSheet implementation)

* Make Xamarin's Visual Studio integration free

* None of those "WCF is Xamarin Enterprise only" licensing restrictions

* Buy MvvmCross too

(Don't get me wrong, Xamarin's platform and what they do is amazing. But even
if it works 99% of the time that's still a lot of things going wrong, given
the size of .NET. Microsoft's tools and code aren't perfect either but I find
I have way less issues with them relative to Xamarin.)

~~~
politician
> None of those "WCF is Xamarin Enterprise only" licensing restrictions

Are you kidding me? Let's suppose Microsoft buys Xamarin and doesn't bury it.
Further, let's suppose that they actually pump money into polishing and
enhancing their tools. Do you actually believe that Microsoft wouldn't wrap 10
flavors of Student, Home, Business, Pro, and Ultimate licensing around the
result?

~~~
taspeotis
WCF is part of the .NET Framework and there's no .NET Framework Student
Edition ... .NET Framework Home Edition ... .NET Framework Ultimate Edition.

~~~
politician
Parts of the .NET Framework like PEX and Code Contracts were restricted to
Visual Studio Ultimate until recently.

~~~
taspeotis
And Fakes as well, but none of those are part of the .NET Framework. They're
part of the ALM tools Microsoft sell.

------
troymc
I maintain a website about options for cross-platform mobile development, and
the page about the C# options (where Xamarin is a leader) is one of the most-
viewed.

[1] [http://www.mobilechameleon.com/](http://www.mobilechameleon.com/)

~~~
Dogamondo
Ah, this is a handy site Troy. Thanks for putting this resource together

------
keithwarren
I actually don't think Miguel and Nat would sell to Microsoft unless the terms
were very much in their favor. Basically a big Microsoft wallet, team members
from Redmond, the ability to license the .NET source code in a way that they
could use it in Mono, guarantee of continued support for other operating
systems etc. Basically, we can do what we want. Also given their VC backers I
imagine the price would be north of 300mil.

Given all that I think this rumor is premature.

Then again, I did predict this...
[https://twitter.com/keithwarren/status/430874079776632832](https://twitter.com/keithwarren/status/430874079776632832)

~~~
pjmlp
Why not? For Miguel it is most likely the way he can fulfill his dream to work
at Microsoft.

After all, he started GNOME after being turned down at Microsoft, and went on
to port Microsoft technologies to GNU/Linux.

Bonobo(COM with CORBA), Evolution(Outlook), Mono(.NET)

~~~
keithwarren
_fulfill his dream to work at Microsoft_

I literally laughed out loud at that.

I talked to him at Evolve one evening with a handful of other devs while he
does not explicitly say it (he is actually pretty humble) you get the
impression that Microsoft would make him a distinguished engineer in a
heartbeat if he would only say yes. Huge salary, millions in stock options and
a write your own ticket kind of involvement like we saw when Russinovich took
a job in Redmond.

Miguel is pragmatic, he sees one of the largest pools of developers (at one
time the largest by far) and the opportunity to provide them with an exit
strategy of sorts. They are bound to Windows now and Microsoft has to this
point seen no value in giving those developers the tooling to take their apps
out of the Windows ecosystem - so Miguel did just that.

Couple that with the fact that he saw C# and .NET for what it was, Java done
right, and he got on board with the idea - but dont mistake for a minute where
his heart is. He is a dyed in the wool lover of Linux. He respects Microsoft
as a company and realizes that he can feast off their mistakes and doing big
things.

~~~
pjmlp
Other than seeing him discuss with Keith Packard about Java at FOSDEM, I never
had the opportunity to talk with him.

My observation is based on how I see his career since the early GNU/Linux
days.

Maybe I am being unfair, dunno.

Note that I do appreciate lots of stuff that come out of Redmond.

------
mands
Great news if true. I've always thought MS should be more involved in the
Mono/Xamarin platform. It makes far more sense for MS's mobile strategy than
adding Android compatibility to WP. Instead, encourage devs to create a single
.NET app that can be deployed to Android, iOS, and OSX, in addition to first-
class support on WP and W8. You'd lose out on the current hot apps, but for
the future it makes sense. For instance, several Nokia X Android apps were
ported from their WP counterparts using Xamarin -
[http://blog.xamarin.com/nokia-x-for-csharp/](http://blog.xamarin.com/nokia-x-
for-csharp/) .

My only concerns if this were to happen are,

* What happens to Mono on Linux, BSD & OSX? Does Mono simply become a deployment target for mobile devices?

* What happens to MonoDevelop? Will VS be the only way to develop such apps?

* What about the web? I'd love to see a Mono port to pNACL or asm.js. An NACL port already exists, but it would be great to have one codebase targeting almost all platforms.

Either way, as someone considering using .NET with ServiceStack on the backend
and Xamarin on the frontend, it's very exciting.

------
gum_ina_package
This would be great news, but I'm worried they'd stop developing the tools for
other (non-MS) platforms. If anything, they need to do the opposite and make
building iOS apps in C# a better experience than building them in Objective-C.
Right now, if I know my app will have more than just the basic animations/UI
elements/etc. using Xamarin/C# just isn't an option, since I don't know if it
supports a more advanced feature set.

~~~
taspeotis
> but I'm worried they'd stop developing the tools for other (non-MS)
> platforms

This seems like an odd concern, since Microsoft's tools for Windows are better
than Xamarin's tools for Windows. They'd be buying Xamarin specifically for
their non-MS tooling.

~~~
bandushrew
Microsoft have been purchasing cross platform applications and tools and
shutting them down forever.

In general it is what they do.

If they do _not_ do that for Xamarin, it would be a departure.

So, I will wait and see. it does sound hopeful though.

~~~
keithwarren
_In general it is what they do._

I am sorry, but that generalization merits some sources. Can you give me some
examples of Microsoft buying a cross platform tool and shutting it down. Mind
you I think you are inferring they purchase to eliminate competition. Not a
situation where they buy something like Groove, run with it for a bit, see
that it is not getting traction and then kill the product.

~~~
subsection1h
While Microsoft didn't kill Virtual PC after they bought it, they did kill its
support for OS X and Linux.

~~~
windowsworkstoo
Not really. It has morphed into Hyper-V, which runs just about everything.

~~~
wtfwindows
It will host some stuff. Virtual PC used to run on an OS X host which is the
really important bit for people who don't want to run Windows on their box
except heavily contained and wrapped up in a VM to be deleted each time.

------
snomad
Recently priced out Xamarin for my organization, that is super expensive. Do
most people buy just 2 platforms (Android and iOS) per developer?

How does Xamarin do with differences like the Android Action Bar vs. Apple's
bar at the bottom?

~~~
nbevans
It's magnitudes cheaper than hiring a team of developers for each mobile
platform, like what most of the sheep following the herd companies seem to do.

Xamarin leaves details to do with views and presentation up to you. In a
properly designed application using MVVM pattern you can use the appropriate
native and best practices per platform.

~~~
notastartup
There must be some cons of doing this as well though right? It's great that
you can save a developer per platform and that you have one code base but is
the end product as good as something that a dedicated developer for that
platform would produce?

~~~
statictype
Right. You still ideally need someone who knows iOS to do the iOS app and
someone who knows Android to do the Android app. Because the best way to build
apps on each one is still different.

What Xamarin basically does for you (from my experience using it) is that you
can now share the bits of code that are not OS-specific (like your business
logic, data access layer, web services etc...). It doesn't try to hide the
underlying platform from you though.

It's not a solution for write-once deploy everywhere (those solutions suck
anyway).

------
WoodenChair
I tried out Xamarin over a year ago (around the time 4.0 hit) with a bit of
enthusiasm because C# is a good language and ended up frustrated by bugs.

I'm excited about the muscle of Microsoft getting further behind the platform.
It is used surprisingly frequently for iOS apps. Regardless of whether I end
up using it, this is a good thing in terms of pressure on Objective-C/Cocoa
and Java/Android to improve developer workflows. This is exactly the kind of
competition the mobile development space needs.

------
giulianob
What would this mean for Mono on platforms like Linux? I hope it gets
supported. Everyone keeps talking about mobile but some of us run Mono on
Linux and love it.

~~~
pistle
Mono is independent from Xamarin. It would stay that way and I doubt Miguel &
Nat would let is flounder. It's the basis upon which this who story is based.

Mono has its own devs and community.

------
dawkins
Not again! Fortunately when Attachmate acquired Novell it didn't stop
mono/linux. Xamarin was completely focused on mobile apps but for the core of
mono and monodevelop it has been great times.

But what will happen now? Will Microsoft silently kill cross platform,
especially linux? What interest do they have not to do it?

Having invested heavily in a linux/mono/web stack this worries me a lot.

~~~
sparkie
Might be worth reminding that Mono and Monodevelop are still LGPL license
software, so they can't exactly "shut it down". The Xamarin products for
mobile development are not freely licensed - that's what Microsoft are
purchasing.

------
edandersen
If they announced this at the Microsoft Build conference in April, along with
some sort of license giveaway for attendees, there would be an uproar of
applause and cheering. Satya (if he was the one to announce it) would in one
fell swoop be absolutely adored by the remaining faithful MS stack developers.

------
jameshart
Next stop, Microsoft to acquire Unity3d?

~~~
drawkbox
I'm frightened by this. Unity is the biggest push for C# other than Microsoft
though. Hopefully Unity would never sell because once it is owned by a single
platform, that will get preference and the whole multi-platform jig is up.
That would further fragment because other platforms wouldn't trust Microsoft.
Unless of course they sell off Xbox like Elop wanted to do. However Unity
strongly relies on Mono which will now be run by Microsoft if this goes
through. Either happening will cause some customer rage.

~~~
asdf3
Unity would have to fork Mono, as would Gnome and Canonical and Redhat, etc...
The comments here seem very trusting of Microsoft. If it was Oracle a fork
would be a given.

~~~
dualogy
I think they're already using their own fork of an older Mono version. They
couldn't work out a mutually beneficial licensing deal with Xamarin to keep
using their newest Mono versions or something.

I think Unity have a good relationship with MS, so Mono being moved to MS
should be good news to Unity -- _for a while_.

------
adamnemecek
I wonder if Nadella was involved in this move.

~~~
outside1234
Nadella is going to blow Microsoft wide open. I wouldn't doubt it for a
minute.

~~~
krashidov
What do you mean by blow open?

------
rbellio
I think this is a great move for both Xamarin and Microsoft. The company I
work for is currently using Xamarin to help create cross platform apps with a
consistent backend architecture. Sure, we have to develop different front ends
for each platform, but we can leverage C# for everything and we don't super
stars on any one platform to allow us to generate things quickly and well.

I was waiting for something like this to happen, ever since I watched this
video from Hanselman at the Xamarin Evolve conference last year:
[http://www.hanselman.com/blog/XamarinEvolve2013TalkVideoHowC...](http://www.hanselman.com/blog/XamarinEvolve2013TalkVideoHowCSavedMyMarriage.aspx)

------
Zigurd
Windows Phone might not be a winner, but a Microsoft .NET compatible runtime
on other platforms, especially Tizen, Ubuntu, ChromeOS, and Sailfish/Mer would
be a a Very Good Thing both for these new OSs and for Microsoft.

Consider, for example, a Jolla handset running Sailfish, which can run Android
apps with the Myriad compatibility runtime. And add to that the ability to run
Microsoft .NET apps.

Or, if Microsoft is getting serious about adopting the Android-Asha that Nokia
cooked-up: Add a .NET runtime, and now you have either something very
interesting, or maybe The Island of Dr. Moreau's OS mashups. But it will be
interesting.

------
j_s
I was worried about this last year when Xamarin announced their new revenue
model: what protections are in place for the various open source pieces of
their technology? Last time I asked for more details it stopped because it was
my job to limit the scope of the answers with a list of specific questions; I
felt it didn't make sense to narrow things down like that.

[https://news.ycombinator.com/item?id=5251474](https://news.ycombinator.com/item?id=5251474)

------
rnirnber
Guys this is bad new! I don't see why everyone's cheering this on. Xamarin is
what gave life back into the Mono project. It renewed interest in the Mono VM
ecosystem, educated people about the possibility of running Mono in the
enterprise....Xamarin was giving Mono the boost it needed. Mono sat dead for
years...Microsoft's probably just trying to buy Xamarin to cherry-pick the
cross-platform mobile development and kill off the VM outside of a mobile app
context.

------
LeicaLatte
Nice buy.

Microsoft, buy Unity next and you are set for the next 5 years.

------
benguild
Does Apple allow you to publish Apps built from this? Or does it just generate
Objective-C projects that can then be debugged and published through Xcode?

~~~
andyjohnson0
Xamarin.iOS generates full iOS binaries, not Objective-C source code, and they
can be published to the app store.

------
mangeletti
In my humble opinion, when Microsoft gets on board you know we've reached the
top and the bubble is about to pop.

------
quarterwave
Any comment on a comparison with html5/js? Especially for early-stage start-
ups that need to prototype quickly.

~~~
statictype
It compiles down to native code for the platform. So its not really in the
same category as doing a prototype with html/js.

It's more of a replacement for Objective-C on iOS and Java on Android. You'll
still need to build two different apps for the two different platforms
(possibly more for Android) using two different APIs. However you get to work
in a nicer language and can share your core functionality codebase between the
two platforms.

~~~
quarterwave
Thanks.

------
yuhong
I also hope they will end the MS-Novell deal, given it's problems and it
ditching Mono years ago.

------
snarfy
Is this good news or bad news for open source C#/.NET development?

~~~
frowaway001
Bad news.

If Microsoft was interested in having a cross-platform runtime or a cross-
platform IDE, they could have done it years ago.

Now, as some kind of side-effect of buying Xamarin, the have acquired most
people behind Mono/MonoDevelop ... how do you think this will work out?

Maybe not immediately, but as soon as someone in the management decides that
costs need to be cut, someone will ask the question why microsoft maintains
two runtimes, two class libraries, two IDEs, etc. and kill them.

------
guiomie
Would this make Xamarin free ?

~~~
keithwarren
That is a great question, I doubt it.

That said, Visual Studio is not a cash cow for Microsoft and making it totally
free might be a key move in starting to win back dev mindshare.

~~~
scholia
That said, Visual Studio Express is free in multiple versions,inlcuding ones
for the web and Windows phone... [http://www.visualstudio.com/en-
us/products/visual-studio-exp...](http://www.visualstudio.com/en-
us/products/visual-studio-express-vs.aspx)

------
notastartup
Has anyone used Xamarin to build an app on iOS and Android? What was the
experience and time to market like? Is the end product a full native app, not
a hybrid app? Are there any cons?

I am currently learning Intel XDK but surprised why I have never given Xamarin
a thought.

p.s. What about QT creator?

~~~
keithwarren
I have built multiple iOS and Android apps with Xamarin and found the
experience to be great. I love C# so being able to use that was a plus and
there are some cases where Xamarin made the APIs of the native platform a bit
cleaner by implementing some abstractions. All the native plumbing was still
there but implementing a tableview in Xamarin on iOS was quite a bit shorter
in code than in ObjC.

It really is a phenomenal piece of engineering.

Biggest drawback, hard to find examples of things in C# so you have to be able
to read documentation and code samples in ObjC or Java and mentally map them
to C#.

~~~
tluyben2
That's why I suggest you learn 'native' on both first before moving to
Xamarin; it's very easy for me to map those code examples. Actually especially
when Xamarin used more idiomatic .NET for a particular case; it is more
natural to me so it's actually the first thing I try when I see an example.

