Xamarin, the C#-centric cross-platform app development service, is hosting its second annual Evolve developer conference today. The company is using this occasion to release a large number of updates for its various services — and it’s launching a completely new product, too. The highlights of the release are Xamarin’s own Android emulator, which is much faster than Google’s, the launch of Xamarin Insights, the company’s new app monitoring service, and an update to the Xamarin Test Cloud, which will significantly shorten test times and allow developers to see videos of how their apps run on various devices.
As Xamarin CEO Nat Friedman told me earlier this week, one of the largest pain points for Android developers on the platform has long been that Google’s emulator can be slow and unreliable. “When we do our customer surveys, this sticks out like a sore thumb,” he said. “It’s not our fault — because we just ship the Android one — but it’s our problem.” So the company set out to build its own emulator. For now, the emulator is considered a “preview release” and only supports KitKat and phone form factors, but support for other versions of Android and larger devices are in the works. Currently, the emulator doesn’t allow for camera access, but that’s coming soon and most other typical sensors (GPS, battery etc.) are supported.
As Friedman told me, the team worked hard to make the emulator as fast as possible. It boots up in just a few seconds and uses hardware-accelerated graphics, so developers can test their games and visual effects with it, too.
For the time being, only Xamarin customers will be able to use the new emulator, but the company is thinking about ways to open it up to the wider Android developer community.
The Xamarin Test Cloud is getting two major updates today: full-frame video of test runs and test parallelization. Instead of just getting a series of screenshots of an app as it goes through the testing process, developers can now also opt to get a video of how it runs on different devices, too (these tests, by the way, run on real devices in the company’s labs). That’s especially huge for apps that feature more complex visual effects. Some of those may look great on one device, after all, but not so much on another (slower) one. This project, Friedman told me, ended up being pretty complex. A single test run, he said, can often generate gigabytes of video and so Xamarin had to build its own local transcoding infrastructure in its test labs.
Talking about the test lab, Friedman noted how the company now uses about 1,000 different devices. A single test across all of those devices can often take a couple of hours, though. So to speed this up, Xamarin can now run different parts of a test on multiple devices of the same kind in parallel. The company has 100 Nexus 5s in its lab, for example, and with using those in parallel, a test that would otherwise take three hours can now be completed in twelve minutes. “Our view of testing is that it’s not something you should just do before you ship the app,” Friedman said. “You should do it throughout the development cycle.” When it takes three hours to run a test, however, chances are developers won’t run them quite as often as they should. But at twelve minutes, a full test run is a no-brainer.
When our interview, Friedman stressed how Xamarin always allowed developers to build and test their apps. What was missing, however, was the ability to see what happens after the app ships. That’s where the new Xamarin Insights fit in — the company’s new app analytics service. The tool allows developers to monitor errors, exceptions and crashes in real time.
As Friedman freely acknowledged, there are already services like Crashlytics and HockeyApp on the market that have a very similar feature set. None of those fully support Xamarin, however, because they aren’t typically built for C# apps and focus on Objective-C and Java — the main languages for writing iOS and Android apps. He also argues that most analytics tools only give you a very narrow view of your data and if you ever need some other kind of analytics, you need to use yet another service. Xamarin Insights wants to give developers a complete picture of what’s happening in their apps to track down issues quickly.
The new service will be in preview for about six month. It’ll be completely free and unlimited for developers during this time. Once it comes out of preview, it will still offer a free tier (Friedman noted that this will be a “very generous free tier”) and the company will also offer pricing for non-Xamarin customers who only want to use this part of the company’s service.
There are a couple of other smaller updates in today’s release related to Xamarin.forms and other parts of the service. The company also used today’s keynote to announce a partnership with IBM’s MobileFirst platform that combines Xamarin’s cross-platform smarts and IBMs Worklight platform to securely access cloud data.
Without a doubt, this is a huge release for Xamarin. The launch of Xamarin Insights is especially important, given that the service now allows developers to build, test and monitor their apps in a single place. The company is currently adding about 3,000 new developers to its platform every month and currently has 750,000 registered developers. That’s some pretty good momentum and today’s release will likely make the service more attractive to an even wider range of users.