Xamarin Evolve 2016 wrap-up

By Mohit Singh and Joshua Fenemore

mobile innovation

The Xamarin Evolve 2016 conference is a wrap, and it was a full two days of inspiration, fun, learning and big announcements for the mobile-first world.

For a couple of years now we’ve been using Xamarin to streamline mobile development for our customers. The tool allows us to build a mobile app once, and then deploy it to multiple mobile platforms – to Android, iOS, Mac and Windows. That means we can deliver more quickly, and our customers save on development costs.

Previously we’ve blogged about why it’s important, and what the advantages and disadvantages of the platform are. Since then Microsoft has acquired the company and its products. As a result uptake of Xamarin has shot up – but we’ll go into the details of that later.

Here are 5 key takeaways from the conference:

  1. Xamarin is now Open Source

Xamarin CTO Miguel de Icaza announced that its platform has now been released to public as open source. That means anyone with an interest can pick it up and play around, and it will have a huge positive impact on innovation.

It also means that Xamarin is now closer than ever to realising a vision of running on any platform, and any device. You can find the source code via open.xamarin.com or directly on GitHub.

  1. Xamarin Forms – Now ready for prime time

Xamarin forms allows developers to create native user interfaces across multiple platforms. One of the benefits of Xamarin Forms has been code-sharing between iOS, Android and Windows. It uses a “write once, run everywhere” strategy.  However, while Xamarin Forms has always been considered an innovative product, it had many challenges which made it hard to adopt.

With the upcoming addition of the Xamarin Forms XAML previewer, a live designer, adding the ability to mix native and form views and the introduction of Data Pages, now means that it’s ready for prime time adoption, especially for Line of Business apps. In fact, this has been the biggest push in messaging at the Evolve Conference.

  1. A better story together – Microsoft and Xamarin

It’s clear that Microsoft’s acquisition of Xamarin is paying off. Xamarin CEO Nat Friedman shared stats post-acquisition that showed uptake had grown by 300% since the announcement was made in February.

The company is growing exponentially – the dream of any start-up. It opens the ecosystem for a whole lot more for organisations and developers, enabling a full enterprise grade mobile DevOps life cycle.

  • Development with Xamarin Studio 6 & visual studio.
  • Source control & Continous integration with TFS
  • Test automation with Xamarin Test Cloud
  • Deployment and analytics with Hockey app

Xamarin’s offer of support across the entire application development life cycle was a key theme throughout the conference.

  1. New tools for ideations & documentation

Every corporate is trying to be agile and to adopt the start-up style of working. New tools for developers were introduced at Evolve, making it easier than ever for developers to work closer with businesses. Xamarin WorkBook is a console style application where you can write code and have it immediately deploy to an emulator. This is a great new tool for experimentation and learning certain features on the fly.

  1. New testing tools

During the keynote presentation we were shown live remote debugging of an application to a device hosted in Test Cloud. Now those annoying bugs which only occur on obscure android devices will be easy to track down and fix.

We were also shown real time recording of user interactions in an application which were immediately converted to a Xamarin UI test, so there’s now no excuse for not having automated UI tests.

The rest

Another key theme of the conference was “build awesome apps”. Technical Program Manager Nina Vyedin lead a session named “If you build it: Making apps for humans” – a fascinating and incredibly thought provoking session. Vyedin presented footage from her video project where she interviewed several people from very different backgrounds asking them what smartphones, apps and developers mean to them. It was really interesting to hear everyone’s perspective and thoughts on what is important to them about mobile and reminder that “building awesome apps” comes from understanding your users and doing right by them.

We were also lucky to attend a session lead by Grant Imahara, an engineer from the Discovery channel TV show, Mythbusters. Grant talked about his experience in engineering and how solid engineering principles and good team work are relevant for every industry. In particular, the principle that “failure is a design tool”. The Mythbusters motto is “failure is always an option”.

Imahara also mentioned about the two head engineers on the show and how their personalities and engineering style were completely opposite. They worked so well together, he said, because they understood their differences and left their own egos at the door. They were always prepared to take on new ideas, listen to feedback and understood that their way was not the only way.

In summary, it was a real treat to attend the conference and every attendee walked away with some new technical knowledge, excitement for the future, and some personal growth. We can’t wait to bring some of our learnings into our work with customers.

If you’re interested in learning more about Xamarin, our Auckland office runs regular meetups – you can keep an eye out for the next one here.

Cross-platform mobile app development with Xamarin

By Emily Wang

mobile innovation

There are many choices available for delivering a mobile solution across diverse platforms today. The right choice can depend on many factors: the required functionality, the target user, and the available budget.

Xamarin can be a good choice – this blog discusses why and when.

If you have not heard of it, Xamarin is a cross platform development tool for building native smartphone apps.

Why Xamarin?

There are many other alternatives, so why would we single out this technology?

I’m a member of Datacom’s Mobile Innovation team, so by nature I’m eager to learn things that would help us to provide optimal mobile solutions. I have a love and hate relationship with Xamarin, but let’s start with the happy journey.

“Native, native, native…”

1) Xamarin builds natives apps, 2) it gives native API access and 3) it leverages native performance. You may have notice that the keyword here is native. In an over-simplified way, it gives better user experience than other forms of cross platform approaches.

In my opinion though, where Xamarin really shines is beyond the build process, in its support for testing and monitoring, the ever-expanding ecosystem, and the business’ awesome team.

Farewell (kind of) to manual testing and costly device procurement

One of the obvious problems for any mobile app project is device procurement, especially for the Mobile Innovation team. We are all gadgets fans and would love to have all the devices on earth. However, it is also a double-edged sword as nobody wants to test manually on all devices. Plus, it’s costly given how quickly new devices come to the market.

Xamarin offers Xamarin Test Cloud, which allows automated app testing and run the tests on hundreds of real devices in the cloud. You could even save the screenshot or replay the testing video if you want. However there are still things that are not really suitable for automated testing, such as user experience. Additionally, one device can only run one test at a time, meaning that your test result may not be returned when you want it.

Why do my apps crash and who’s using them?

Once the apps are on the market, the next thing businesses care about is how to support and monitor the application’s performance. Xamarin offers Xamarin Insights which provides reporting and app usage details. There are similar, mature monitoring offerings on the market, but it is always nice to have a built-in feature.

Backers and Partners

One of the main reasons that we decided to attend the Xamarin Evolve event is their coverage of enterprise, Mobile Backend as a Service (MBaaS) and platform tracks.

It all sounds too good

Yes and no. It is good, but it is not a silver bullet. When deciding if you should use it, consider the following (this is not an exhaustive list):

Existing skill sets and technology stack

Our team has a strong native development background, which means we are very comfortable and efficient in building with the default, native development approach. However, if your team uses .NET most of the time, Xamarin would come much more naturally.

Community and support

It is always easier to find support and libraries with native development. This is one of the things we miss when we work with Xamarin. Xamarin has offerings to bind libraries but it is never that straightforward.

Limit on user interface (UI) Sharing

This is both a pro and con of using Xamarin. The fact that it respects each platform’s own design principle and allow separate implementation of UI is the right approach. However, it also constrains the extent of code reusability.

App features

It’s great that business logic can be reused on different apps. However, the app’s API should do all the heavy lifting, and therefore remove the unnecessary logic.

If your app requires a lot of logic computation when offline, then Xamarin would make much more sense. For example, if a client requires an app to be used on farms with limited signal, but needs to handle intensive logic on the fly.

Final note

I had the great opportunity to attend the Xamarin Evolve conference in Atlanta last month. There are lots of great sessions during the Xamarin Evolve event, if you are only going to watch one, make it the keynote. It is packed with fascinating technologies such as Xamarin Profiler, Sketches app and their own Android player.