Wednesday, October 28, 2015

Xamarin at OpenWorld

On the first day of Oracle OpenWorld I was walking along 5th street, between Moscone West and Moscone South, when someone handed me a flyer. This is not unusual at OpenWorld, and I expected the flyer to be about some thing which I did not care about in the least, some obscure company that did some obscure thing with some obscure Oracle product.

But the flyer said Xamarin.  I did a double take.  "Why is Xamarin here?" I thought.  OpenWorld is dominated by Java and Java developers.  And Xamarin is all .NET.  Not just a shop that uses .NET by chance or casually - these guys are hard-core, serious developers, and the Mono/Xamarin team has been core to the development of .NET.   So why were they here in the land of Java? I pondered this a few days, then on Tuesday night, decided to stop by their event at the Red Dog saloon.

So why did this strike such a chord?  Well, I am a fan of walking, and a fan of podcasts.  So I tend to walk alot and listen to alot of podcasts.  Miguel de Icaza is a founder of Xamarin, and I recall quite well him talking about the founding of Xamarin back in 2011.  It could have been on a number of different podcasts, such as Hanselminutes, Herding Code, or even Ruby Rogues.

Before Xamarin, Miguel worked on Mono - a project started in the early 2000s to make .NET run on non-Windows platforms.  That project was exciting to me, and even though most of our clients are 100% windows shops, I followed the developments in Mono.  The fact is that Microsoft claimed that .NET would follow standards and be platform-neutral, but that was just a theory.  Miguel and his team had the audacity to take that theory and make it a reality.  They created Mono, a version of .NET that could run on non-Windows devices.  It was not easy by any means.  They worked with/struggled against Microsoft, both politically and technically.  And wound up making a success, and keeping Microsoft true to its claim of platform neutrality. But the Mono project was always overshadowed by the fact that the Mono team worked at Novell, a rickety old corporation, ready to die or fade like so many other pre-millennial companies that failed to stay lean and relevant.

Fortunately (in hindsight) Novell was acquired by another company in 2011, and laid off Miguel.  He then announced the foundation of Xamarin, a company dedicated to carrying forward on the Mono ideals.  This was a great underdog story, so really appealing to me and many others.  Xamarin launched Xamarin studio, a cross-platform integrated development environment (IDE) for .NET development.

Another Mono product which Xamarin further developed was Mono Touch and Mono for Android, frameworks for deploying .NET solutions onto iOS and Android devices.  I had heard about this, and recall a "smackdown" meetup back in 2012/13 where Xamarin was pitted against PhoneGap and Titanium in a contest to see who could build an app fastest.  This was fun and interesting.  But my group does not do app development, and so I did not really follow this further.  Xamarin faded from my awareness, into the background of a zillion other software companies.

So now it's 2015, a few years since Xamarin was founded, and here they were at OpenWorld.  It turns out they are headquartered in San Francisco (for some reason I imagined Miguel was in Colorado Springs).  And the company just joined on as a partner or Oracle (see the announcement here). And Xamarin now has a focus of which I was unaware.  They are dedicated to ensuring that using Xamarin, you can write apps which will work on ANY device.  Their team in Denmark purchases mobile devices from around the world and has an extensive suite of tests to verify that apps made from Xamarin work on them all.

I had a great conversation with Charles Wang, automation engineer, and Villars Gim, procurement manager.  They explained how Xamarin has three areas of focus:  Building, Testing, and Monitoring.
Building is ensuring that Xamarin Platform enables developers to write C# code for their mobile apps and those apps, written once, can be pushed onto iOS, Android and Windows phone.  Possibly more device platforms than that, but who really uses Blackberry anymore?

Testing is verifying that the apps created with Xamarin will work on almost all devices.  Developers can use Xamarin's TestCloud to run tests on practically any device.  And Villars is responsible for making sure that they actually have every device that they can lay their hands on - from the latest iPhone to the most obscure/obsolete phones and tablets.

Monitoring is fairly new. This is having an infrastructure for getting feedback from Xamarin apps running on devices in the hands of end-users. Checking stability and performance, and using this to identify issues quickly.

So I am very glad I went and learned more about Xamarin.  The underdog of 2011 is now a thriving company, with a strong team of very intelligent and enthusiastic people. And their very impressive suite of mobile development tools help you create, deploy, monitor your apps across devices.   Now I just wish I had a reason to make an app...

Good on ya Miguel!

San Francisco
Oct 2015



No comments :