Posted on December 2, 2015
Building better apps with Xamarin Insights
Last week Xamarin announced the release of Xamarin 4. The release brings new features to almost every Xamarin product and adds new apps (in preview) to make our lives easier. One aspect of the 4.0 release that I thought especially awesome was that Xamarin Insights has been made available to all Xamarin platform subscribers at no cost! Xamarin Insights is an amazing tool for mobile developers using Xamarin and .NET developers building apps for Windows. It enables us to track user events, crashes, usage patterns and even what devices are most popular with the user base, which allows us to prioritise our testing with Test Cloud to devices being used.
As a usability engineer, Insights is going to make my life much easier for a number of reasons which I’ll be detailing below.
In an ideal world, a usability engineer working for a software development company would be involved in the development process of a new feature or product from the beginning. This includes working with designers, creating wireframes based on use cases, working closely with developers on the implementation of the wireframes and also managing the usability testing to ensure it meets the requirements. Even for a small project, usability testing can be an expensive and time consuming process.
To really understand some of the pain points associated with usability testing, let’s take a look at what needs to be done in order to test a simple app.
Find some test subjects
To have representable test results, it’s extremely important to have a large enough group of people testing the product. This brings about one of my least favourite tasks as a usability engineer: finding test subjects. The problem with finding test subjects is how to convince them to give time out of their busy day, to sit in a lab in front of an eye-tracking device to test an app they likely don’t care much about.
Xamarin Insights solves this problem as all of our existing users can be our test subjects. We no longer have to be in the same room as them to see how they interact with our app, instead we can ship it and wait for the information to flow in.
Creating the test sequence
To be able to make a comparison between two test runs, a set of test sequences needs to be defined. This limits the chances to find potential issues and is not representative of the way most users would interact with the app.
With Xamarin.Insights, we can track all events in a user’s session over time. Each user is given an unique id which allows us to track the user’s events over multiple sessions. An overview shows us exactly how long every user spends on any particular view and every action they took within each view.
Usability testing can be a costly affair – paying all of the test subjects and hiring the lab facilities are just two of the many expenses. After the results of the tests come in, if we’re lucky, and we’ve the ability to iterate, we can run another set of tests, but this is very rarely the case. In the mobile business, very few developers can afford the luxury to test an app in this way. The end result is poor quality apps shipped to the App store, which is exactly what we want to avoid.
Here is where Xamarin Insights really shines. It gives us so much more information about our mobile apps at a much lower cost. It gives us (almost) everything we’d normally get with usability testing but instead of collecting the data once, we can collect the data all the time. We can iterate quickly to build better products and see instantly how our users are using the new features. That really is a no-brainer.. Investing in better apps will always pay up and Xamarin Insights makes this easier than it’s ever been.
The gift that keeps on giving
With all the Insight-full (pun intended) information gained from the usability test, it’s one easy step to start using this data to create automated UI tests for using in Xamarin’s Test Cloud. With the tests replicating how real world users are using the apps, we can upload this to Xamarin Test Cloud and run it on thousands of physical devices, ensuring that our app performs consistently across devices and platforms. With the free device hours every Xamarin platform subscription gets, there is no reason not to use this data with Test Cloud!
Xamarin.Insight helps mobile developers and usability engineers gain a deeper understanding of how users interact with their mobile apps, giving them an unique insight into how their users are using the apps. This kind of information is no longer reserved for those that can afford testing labs and lengthy processes but it’s available to all Xamarin developers. If you’re a Xamarin subscriber, I highly recommend you take the opportunity to learn about Insights and how it can help you improve the quality of your mobile apps.