Sponsored Tutorial: Improving Your App’s Performance with Pulse.io
Learn how you can use Pulse.io to notify you of low frame rates, app stalls and more. Let us walk you through all the features in this Pulse.io tutorial. By Adam Eberbach.
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more!
Create accountAlready a member of Kodeco? Sign in
Contents
Sponsored Tutorial: Improving Your App’s Performance with Pulse.io
35 mins
- Getting Started
- Integrating Pulse.io Into Your App
- Generating Initial Test Data
- Instrumenting Custom Classes and Methods
- Customizing Action Names
- Analyzing Data
- Evaluating Spinner Times
- Evaluating Frame Rate
- Network Details
- Memory
- Fixing the Issues
- Correcting the Image Loading
- Fixing Routing Performance
- Fixing the Frame Rate
- Verifying Your Improvements
- Verifying Network and Memory
- Verifying Spinners
- Verifying Frame Rate
- Where To Go From Here?
Verifying Frame Rate
The small change you made to reuse annotation views has resulted in some performance gains, as shown below:
The recorded low frame rate time descending from Providing Annotation Views has dropped to around four seconds. That's not a bad improvement in the context of this tutorial, but you should be shooting for no recorded instances at all. On modern hardware, with some code tweaks appropriate to your app, this goal is well within your reach.
Where To Go From Here?
Here's the final version of the sample project that implements the changes discussed in this tutorial. If you use this version of the project, remember to set your own Pulse.io key, Flickr key and secret!
By adding Pulse.io reporting to this sample app, you've learned how an app that seems to work well enough on your simulator and test devices can fail to impress your users; in fact, it can lead to a really poor user experience. With Pulse.io in your toolbox, you can gather information about user experience issues on many fronts:
- Excessive memory usage
- Spinner time
- Low frame rates
- Network issues
It's incredibly important to gather metrics and identify fixes for you app before you start seeing these issues mentioned in the reviews of your app. Additionally, you won't waste time improving areas that, in actual fact, aren't causing any problems for your users.
Pulse.io is undergoing rapid development and improvement. While there's an impressive level of detail in the product already, the team is anything but idle. The Pulse.io team recently introduced the Weekly Performance Report as shown below:
This shows you the changes in app usage from week to week. There isn't much data here with just one user (i.e. the author) and an app still in the development stage, but you can see how useful this would be when your users number in the thousands.
Support for Swift is on the horizon, so keep an eye out for updated versions of the Pulse.io SDK and instructions on integrating Pulse.io into your Swift projects soon.
Have you used Pulse.io in your own apps and found any interesting performance issues or tuning tips? Share your experiences with us in the comments below!