HockeyApp is a service that allows developers to recruit and manage testers, distribute apps, and collect crash reports, among other things. It started out as a way to install beta apps on iOS devices, a process that Apple calls “ad hoc” distribution, or installing apps outside of the official App Store. From the words ad hoc, it was named Hockey. The open-source Hockey was so popular that the team behind it decided to keep the name Hockey and simply added “app” at the end.
In the latter part of 2014, Microsoft acquired HockeyApp, which had already become a known tool among app developers for distributing apps on Windows Phone, iOS, and Android. Microsoft integrated HockeyApp services into their Visual Studio Online’s Application Insights service.
How It Works
The cross-platform tool works with Android, Windows Phone, and iOS devices, making it possible to deliver the same user experience no matter the user’s OS. It is also used for:
- Crash reporting
- Distribution of apps
- User feedback
- User metrics
HockeyApp provides fast and accurate crash reporting of the apps it is used on. It is very easy to integrate with any app that you’re developing, and it provides rich analysis into crash reports. It’s also very easy to integrate with bug tracking systems and workflows already in use.
Microsoft has come out with open-source software development kits (SDKs) for Mac OS X, Android, and Windows, making it possible for your apps to send crash reports directly from your app to HockeyApp without having to write a single line of code.
These crash reports are then processed and tagged on the HockeyApp servers, giving you access to stack traces that include methods, accurate line numbers, and class names. All you need to do is upload your app and HockeyApp will take care of everything that it needs to symbolicate crash reports. It will also group together similar crashes to let you see which ones are negatively impacting the user experience and should be prioritized.
Furthermore, HockeyApp easily integrates with your workflow. It has search tools that make it easier to find the cause of a bug as well as enable the use of your own bug tracking system. You also have full manual control. If you get a crash report elsewhere, like a tester sending you an e-mail, you only need to upload it and let the service symbolicate it for you.
Distribution of Apps
You can now distribute your app on beta, giving testers an early peek into your app, as well as getting their feedback on what could be better and what works. HockeyApp allows your testers to download and install your apps on their devices, while you retain full control over who can download your app.
It’s kind of like having your own mobile app store for testing your app, with all of your apps available in the same place. You can access the dashboard on mobile or desktop computers. You can also communicate with your testers and keep them updated when you roll out updates and release new versions. And if you want, you can roll out a compulsory update that your testers would need to download.
Distribution of your beta versions is also very easy. HockeyApp will do all the grunt work. The HockeyApp will gather all data about your different versions and all you have to do is upload your new version. HockeyApp will do the rest, including identifying the app, what version it is, the build number and other information that it will use for crash reports. Lastly, device, user registration and subsequent management are also made easier. HockeyApp will let you group the testers, collect device identification information, and even restrict access to some groups. HockeyApp can also help you create a recruitment page to invite new testers into the project.
Getting feedback is easier with HockeyApp. It gives you a way to open communication lines with your testers, so that they could tell you what features they want you to include or even which ones your app could do without. They can also use the feedback feature to report bugs, suggest features and ask for support. In turn, you can e-mail your testers or manage the discussions using a Web interface. All of these discussions are fully searchable and you can easily tag them as “completed” or create a ticket for them for further development or discussion.
Managing Your Team and Testers
Some developers would have more than one app and each app would have their own set of testers. It also makes sense to test your apps with as many testers as possible. HockeyApp helps you manage all of these testers, granting or restricting access individually or as a group.
Image source: https://hockeyapp.net/images/features/teams-teams.png
Moreover, you can assign roles to each of your testers or team members. For instance, you as the owner will have full control of HockeyApp, while developers are only able to upload versions of your app into the platform. Members can help you collate data and participate in the discussion, while testers are limited to downloading and installing your apps.
You can get more insights into user behavior for the testers of your app. You can see basic user metrics, gauge customer engagements and even check your app’s reliability throughout the day. More than that, you can drill down on the users that have experienced a particular crash type or a crash that happened during a specific time period. This will help you know if the crash has affected a lot of people over a cross section of your users or if there are specific groups of people who experience the same type of crashes repeatedly.
Additional Resources and Tutorials
To learn more, visit the following resources and tutorials:
- iOS App Distribution Using Hockey App Tutorial
- Beta Test with HockeyApp
- Integrate Hockey App In Xamarin Android Application
- Xamarin Mobile Apps Continuous Integration and Delivery with Jenkins and HockeyApp
Getting started with HockeyApp is very easy; simply download and integrate the SDK and then upload your beta app. The tool is popular among app developers across a variety of platforms and can be used as an extension to enhance the functionality of Visual Studio Team Services.
It’s also often used as part of a continuous deployment toolkit – as it distributes your beta app to testers and automatically reports crashes, or as part of a continuous integration suite, as described in this tutorial. For a breakdown of the main differences between continuous delivery, continuous deployment, and continuous integration, check out this post. Looking for other types of CI tools? We’ve rounded up 51 of the best here.