3 Steps to Build the Next Great App

Progress bars inching forward ever so slowly. Confusing application layouts. Downloader’s remorse.

These are a few of my least favorite things, and I’m sure your customers share similar sentiments. In our digital-centric world, applications have become the modern storefront for nearly every business. They’re expected to provide convenient services, perfectly and right now. This is especially true for consumers with a mission to accomplish and limited time to get it done — whether “it” is paying bills, ordering fresh groceries or purchasing event tickets. Applications that don’t nail expectations are quickly abandoned.

In fact, consumers take app perfection so seriously, nearly two-thirds of users who responded to our AppDynamics App Attention Index 2017 said they will delete an app or abandon a website altogether due to performance problems after just one attempt due. An overall poor digital experience has led one-third of respondents to take their business elsewhere. And one-quarter of those surveyed said they’d be less likely to use a service in the future.

Clearly, businesses offering digital services have a lot on the line. Poor performance could cost companies billions per year, and a bad UX can forever tarnish relationships with customers.

My time in the trenches of app development for the NFL, Google, Tapjoy and AppDynamics has helped me refine three top strategies to escape the fate of app abandonment and built a product users actually like.

1. Climb the user-first design pyramid.

I’ve been asked one question countless times throughout my career: “I have a great idea for an application. Where do I start?” I always start my answer with a drawing that at first glance looks like the standard food pyramid. Instead of layers of grains and vegetables, though, it contains four building blocks: performance, utility, functionality and delight.

Performance is the base of the pyramid. At the end of the day, no one will use an app that doesn’t work. Performance must be a holistic part of your application so you can measure how well each layer above is operating. Unfortunately, performance often is overlooked or taken for granted. To get it right, you have to deploy the proper tools and infrastructure. Otherwise, you run the risk of crashes, bugs and unhappy end-users.

Utility focuses on how useful your application is and whether it maps back to what your intended audience actually wants. For example, I’m a huge football fan, and I always want to know when the Bears play. Based on utility alone, an app that simply lists all my team’s matchups would meet this need. Delivering value to your customers should be the sole reason your application exists. Concentrate on value, avoid unnecessary clutter and allow your users to find exactly what they’re looking for as quickly as possible.

Functionality encompasses features that make your application easier to use, such as filtering, good UX design or streamlined processes. In my Bears schedule example, consider a default view that shows only upcoming Bears matchups and filters out games already played. Good functionality provides a clear and easy path to fulfill the needs that consumers value most highly.

Delight is the cherry on the top. It’s the small things that make your users smile. That might be the added ability to watch game previews, a slick pull-to-refresh interaction or a Bears-themed loading screen. I’ve seen what happens when developers jump straight to this stage without providing utility first. In the best-case scenario, your user will spend a few seconds trying to find value and then abandon the application (maybe forever).

2. Pay attention to retention rates, not customer complaints.

Once your application is off the ground, start paying close attention to metrics that indicate whether users are sticking around. For many mobile applications, the number of daily active users is a good metric to watch. Specifically, at what rate are daily active users converting to monthly active users? This will help establish a standard number or baseline for how sticky your application is.

People often rely on ratings or customer reviews, but be careful: It’s been shown that 96 percent of unhappy customers don’t complain — they’ll simply leave and never come back. Setting key performance indicators (KPIs) that reflect retention can help you keep a good pulse on how your application is performing with your users. Any deviation from your baseline should be a red flag that causes you to dig deeper into what’s happening. It could be a sign of natural user attrition or a clue to bigger performance issues.

3. Don’t let the tyranny of the urgent take over.

Figure out what defines a great customer experience for your application and use it as a north star to set priorities. Let it guide what you’ll fix or improve first. Floods of bugs or customer complaints might come in on any given day, causing you to play whack-a-mole. Developers need to stay focused on the problems that are most strongly tied to the excellent experience they strive to maintain. In the long run, aligning priorities with customers’ leading values will uncover opportunities to build stronger, lasting relationships.

Consumers’ preferences are dynamic and ever-changing, so getting an application right is a continuous process. Building the next great application involves regularly putting yourself in the mindset of your end-users. Test for yourself whether your product’s evolution parallels what users want and how they expect to experience it. An application built on user-first design and guided by the proper metrics has a good chance of standing the test of time and ensuring you stay hyper-focused on building great products your customers won’t ditch.

This article was originally published on Entreprenuer.com. 

Copyright © 2017 Entrepreneur.com. All rights reserved. Reprinted with permission from Entrepreneur.com.

3 Mobile App Performance Issues You Can’t Ignore

With the mobile era upon us, the way we conduct business or communicate with our friends and family has changed significantly. Thanks to smartphones and tablets, we rely on mobile apps more and more. Because of this, mobile apps are big business. In fact, in 2016 alone the estimated global mobile app revenue was $88.3 billion. Whether we use apps to stay on top of projects, communicate with our team members, or relax while playing a game, there is an app for almost everything.

The Apple App store boasts close to 2 million apps, while Google Play has more than 2.2 million apps. With so much competition, if you focus on downloads or sales rather than performance, pretty soon you won’t have a chance to worry about either. While an appealing interface and a smooth user experience are important, they won’t matter much if your mobile app isn’t performing well. That’s why the surface level metrics shouldn’t be the only thing you pay attention to. If you want a successful app, there are a few other vital performance metrics you need to monitor.


End-to-End Latency

When it comes to mobile apps, speed is the absolute most crucial factor. It can make or break your business. If your app is slow, people will delete it; research shows that 59 percent of users dislike a slow launch and expect apps to open within two seconds.

A well-developed API can greatly improve the performance of your app in terms of speed, but measuring the API latency is not enough to get the full picture.

You also need to track the end-to-end response time for applications that power the APIs used. Generally, you’ll want to aim for a one-second response time and ensure you use standardized APIs to minimize the risk of increased latency. Run any needed updates as soon as possible so you can leverage potential improvements.

User Sessions

User sessions refer to the time, from the moment it’s opened to when it’s closed, that each user spends using the app. The average time a user spends in an app varies between from 7.55 minutes in gaming apps to 2.61 minutes in technology apps. The goal should be to aim for longer session lengths, but you can and should also monitor session intervals between each use of the app (which shows how often your app is used).

While user sessions aren’t exactly a performance problem, they can affect performance. If their location is too far away from the server or if they have a poor network connection, it can negatively affect app latency.

This metric can also give you insight on user engagement and help you identify ways to improve the frequency with which users interact with your app. According to AppsFlyer, only 3.3 percent of Android apps and 3.2 percent of iOS apps still had active users after a 30-day period. A great way to increase the number of user sessions is to create a reason for the app to become a part of people’s daily routines.

Contextual push notifications can help encourage users to come back to the app sooner rather than later. You can also develop a compelling offer or discount and updates on new features via email to encourage users to come back to the app. To promote a sense of urgency, create a time limit for the availability of discounts and special offers.

Crash Handling

Crashes drive users away, so keeping track of how often your app crashes is essential to improve its performance and ensure a smooth user experience.

Crash rate is measured as the average crashes every time an app launches. It’s usually somewhere between 1 to 2 percent; however, a number of factors—such as type of app, its usage, and maturity—can influence the crash rate.

In order to fully understand why a crash happened, you need to know what the user was doing when the app crashed, how many individual users were affected by the crash, and how different types of crashes impact your app.

Of course you should try to keep crashes to a minimum. Only 16 percent of users will try a failing app twice. The best way to achieve this is to continually test your app during development to identify potential problems. Start with a small group of testers and increase it so you can catch as many problems as possible before the launch. You can continue to test the app even after you launch, especially when more features are added or updated.

Don’t forget to prioritize the crashes so you can respond to the ones that need critical resolution first.

Improve Your App’s Chances of Success

In today’s world, it only takes a few moments before your users decide whether they enjoy your app or not. Monitor the performance of your app and ensure you have a proper way of collecting data so you can provide users with the best possible experience. Then you’ll be well on your way to success.

Lifting the Lid on the App Economy [INFOGRAPHIC]

Here at AppDynamics we know just how much everybody hates when their mobile apps crash. So we created an infographic to highlight just how frustrating it can be!  We surveyed 1,000 mobile app users in the UK on what happens when their apps aren’t performing as they should. If an app crashes, stalls, or just takes too long, when are your users likely to give up?

AppDynamics aims to eradicate all user frustration due to poor app performance which is why we’re now offering a Mobile APM solution. AppDynamics is the only complete application performance management solution for optimizing the end-to-end performance of mobile apps and websites across devices, mobile operating systems, application versions, carrier networks, databases and servers. The new AppDynamics Mobile Application Monitoring solution enables organizations to deliver a reliable, consistent mobile experience and protect increasingly important mobile device revenue streams and customer interactions, even under the most demanding situations.

End user frustration by improving your mobile app performance, try out AppDynamics Mobile APM today!

For a introduction to AppDynamics Mobile End-User Experience Management, watch our On-Demand Webinar now.

Going Mobile with AppDynamics REST API

Its always great when customers want to build their own applications on top of your data and platform. A few weeks back one of our customers in Europe decided to build their own mobile application, so they could monitor the performance of their mission-critical business transactions from any smart phone or mobile device. Here is the unedited story we received of how this customer went mobile with AppDynamics:

I looked into AppDynamics’ REST API and was very keen to use that data but was unsure of how I could visualize the it. Since all data per monitoring point was available in either XML or JSON format, it seemed the ideal choice to go with a Javascript user interface. After searching around I found the Dojo Gauges and started to code up a simple webapp using AppDynamics’ REST API and data we collect everyday.

Technology Stack

Here is a quick overview of the architecture and technologies used in the mobile application. 

The Mobile Application

Our application is hosted within Django so I can use django’s powerful dynamic admin interface for a backend. Though this is not implemented yet so for now I am just using it to serve some Static content and proxy AJAX calls to AppDynamics.

The core application consists of:

  • index.html
  • dojo + jquery
  • views.js + settings.js
  • widget-glossygauge.js
  • widget-jira.js
  • images

Functionally, the webapp serves the basic static page layout to the browser on the client device and then instantiates the Dojo GlossyGauges which I have extended to include their own embedded self-update timers. The update timers update the gauge values by making REST calls to AppDynamics through the proxy module. The proxy module is necessary as the browser will block cross domain ajax requests. You probably don’t need it if you host the application on the same server as AppDynamics and use apache + mod_proxy.

Here is a screenshot of our mobile application:

The gauges update themselves in real-time so there is no need to refresh the page.

Adding new gauges is as simple as exporting the Information Point REST-URL from AppDynamics and adding it to my settings.js file and then creating a view for it in views.js. This manual process will be replaced by simply adding it to the Django admin interface at a later stage and then dynamically generating views.js and settings.js via a django view.

It was also simple enough to extend the interface to get current open cases from JIRA and retrieve current events from our CMS systems.

It is also possible to show our performance data by location on a map layout as shown below:

If you would like to share any applications, plugins or custom reports that utilize AppDynamics data then drop me an email at: appman @ appdynamics (.) com.