Game of Phones — All Apps Must Thrive [INFOGRAPHIC]

Feeding off of our previous blog post, we were curious about the trends for mobile applications. Obviously, we know the mobile space is growing at a rapid pace with new apps continuously coming out, but what are the implications of this growth? How does performance impact apps and their users? What kind of revenue is on the line for ecommerce apps and how crucial is performance to their apps?

We researched and scoured the internet to find out the answers to these very questions, and with a little help, made this nifty infographic. Enjoy!

Protect your performance and cater to your end users, try out AppDynamics Mobile APM today!

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

Going live with a mobile app: Part 4 – Monitoring your mobile application

In the third part of this series I discussed preparing to launch a mobile application with load testing and beta testing and highlighted the differences between the iOS and Android ecosystems. In this post I will dive into monitoring your production mobile application.

Production consideration: Crash and Error Reporting

Crash and error reporting is a requirement not only for the development of your application, but also for testing and production. There are quite a few crash-reporting tools available including AppDynamics, Crashlytics, Crittercism, NewRelic, BugSense, HockeyApp, InstaBug, and TestFlight. All of these tools have are capable of reporting fatal errors in your application to help developers track down the root cause of bugs. The problem with crash and error reporting is that it only tracks issues after they have affected users. Both the Apple App Store and the Google Play Store provide basic crash reporting metrics.

The harsh reality is that mobile applications have a fickle audience that is heavily reliant on curated app stores and reviews. Reviews can make or break a mobile application, as can being featured in an app store. A common best practice is to allow in-app feedback to preempt negative reviews by engaging the user early on. There are a variety of services that make it easy to provide in-app feedback like Apptentive, Appboy, and Helpshift.

This is why being proactive with quality assurance and production monitoring has a significant impact on the success of an application. Not only must the application work as designed, but also the experience must be polished. The expectation in the mobile community is significantly higher than on the web.

Production consideration: Analytics & Instrumentation

Smart executives are data driven and mobile applications can be a plethora of business intelligence. When it comes to instrumentation the earlier you instrument and more metrics you track, the better informed you will be. Analytics and instrumentation are crucial for making informed and smart decisions about your business.

Who is your audience? What platforms and devices do they use? What user flows are the most common? Why do users abandon? Where are users located? What is the performance of your application?

appdynamics_mobile

Tracking important demographics of your audience like operating systems, devices, carriers, application versions, and geography of users is key. These metrics allow you to target your limited resources to where they are needed most. There are quite a few analytics platforms built for mobile including Google Analytics, Flurry, Amazon Analytics, FlightPath, MixPanel, KissMetrics, Localytics, and Kontagent.

All of these tools will give you better insights into your audience and enable you to make smarter decisions. There are important metrics to track like total # of installations, average session lifetime, engagement and growth, and geography of your users. Once you have basic user demographics you can use MixPanel or KissMetrics to track user activity with custom event tracking. The more instrumentation you add to your application the more metrics and customer intelligence you will have to work with.

Production consideration: Application Performance Monitoring

Application performance management tools enable you to discover the performance of your mobile and server-side applications in production. APM allows you to understand your application topology, third party dependencies, and the performance of your production application on both the client-side and the server-side. Modern application performance management solutions like AppDynamics track crashes and errors, the performance of the mobile application, and correlates performance to your backend platform, while providing rich user demographics and metrics on the end user experience. With modern business reporting tools you can evaluate the health of your application and be proactive when performance starts to deteriorate.

appdynamics_mobile_apm

End User Monitoring allows you to understand the application experience from the eyes of your real users. There are quite a few solutions to monitoring the end user experience in the market place. AppDynamics, Crittercism, New Relic, and Compuware allow you in instrument your application and gain visibility into production performance problems.

Business consideration: Real-time business metrics

Once you have launched a successful mobile experience you need to understand how that experience affects your business. If you have a business critical application like the Apple Store Checkout application or the Fedex Package Management application your business is dependent on performance and use of your application. You can gain valuable insight into your business if you track and correlate the right metrics. For example, how does performance affect revenue, or what is the average price for a checkout transaction. Understanding your core business metrics and correlate them to your mobile experience for maximum business impact.

appdynamics_business_metrics

Business consideration: Monetization

Your plan is to retire off this application, so you need to have a monetization strategy. The most common ways to make money from applications are Pay to play (charge a fee for your application), freemium (offer a free and pro upgrade), offer in-app purchases (like levels, tokens, and credit), and traditional advertising. There are many services to enable mobile advertising like Apple’s iAds, Google’s Admob, Amazon’s Mobile Ads, Flurry, inMobi, Millennial Media, and moPub. All of these strategies require precision execution, but some strategies work better for specific types of apps. Experiment with multiple strategies and do what works best for your business.

Moving forward

It is no longer enough just to have a presence on the web. In fact more and more companies are going mobile first. The mobile landscape is constantly evolving and the mobile market is seeing continued growth year over year.

Want to start monitoring your iOS or Android application today? Sign up for our beta program to get the full power of AppDynamics for your mobile apps. Take five minutes to get complete visibility into the performance of your production applications with AppDynamics Pro today.

As always, please feel free to comment if you think I have missed something or if you have a request for content in an upcoming post.

Going live with a mobile app: Part 3 – Launching a mobile application

In the second part of this series I discussed developing a mobile application and choosing a backend platform and building for various network conditions. In this post I will dive into some considerations when launching a mobile application.

Mobile app audiences are a notoriously fickle bunch and a poor first impression often results in a very harsh app store review that will negatively impact your apps growth. When an app store rating can make or break your application you have to be diligent in making sure every user has a stellar experience. The best way to do this is thoroughly test your mobile experience and load testing your backend to ensure you can handle peak traffic.

The key to a successful launch is great planning and testing. Launching mobile applications are significantly more difficult than the common web application. Not only is the audience more fickle, but you also have to adhere to third-party processes and procedures. Thorough quality assurance, crash and error reporting, load testing, and proactive production monitoring are essential to launching a successful mobile application.

Launch consideration: Testing native applications across mobile devices

Testing mobile applications is notoriously difficult due to the vast number of devices. There are a few services that make this easier for engineers. I have seen a few strategies for testing mobile devices – usually you go to Amazon and buy the top twenty devices for Android and iOS and manually test your application across every device manually. Mobile device labs of this sort are quite expensive to setup and maintain and often require some level of automation to be productive. Alternatives to setting up your own mobile lab is to use a mobile app testing platform like TheBetaFamily. They offer an easy way to test your native application across many different devices and audiences with ease.

Launch consideration: Capacity planning and load testing

Capacity planning is key to the successful launch of any web application (or mobile backend). If you want to understand what can go wrong look no further than the failure to launch of healthcare.gov. Understanding your limits and potential capacity is a requirement for planning how much traffic you can handle. Making an educated assumption about potential growth and you can come up with a plan for how many concurrent users you might need to support.

mobile_distributed_app

Once you understand your maximum concurrent users you can test your backend infrastructure to be sure your mobile experience doesn’t suffer. There are quite a few tools available to help you load test and evaluate the scalability of your backend platform. Apica, Soasta, and Blazemeter offer services that allow you to simulate your mobile application being used at high levels of concurrency.

Launch consideration: Beta testing

Beta testing is the last quality assurance step before you can make your app generally available. Testflight, HockeyApp, and Ubertesters allow you to distribute your application for testing to a select group of users. When it comes to beta testing the more users you can convince to give feedback and the larger distribution of devices the better. These beta testing and distribution tools enable you to easily gather feedback early on about what isn’t working in your application and save you from the embarrassment of negative app store reviews due to obvious problems. A/B testing is also a great way to find out which flows work best as part of your beta testing experience. This is an essential step to a successful launch – the more beta testers you can find the better.

Launch consideration: Hard launch or Soft launch?

Once you have beta tested and decided you have a great application that is battle tested for production you need to decide how to launch. The real question is hard launch or soft launch. The traditional hard launch is straightforward. Your app is approved in the app store and you go live. There are a few different strategies for soft launches of major applications. The most common is to soft launch outside of your primary market. If you are planning to release in the USA you can easily pick another region with similar characteristics like Canada, Australia, or the United Kingdom. The benefit of soft launching in a secondary market means you can validate assumptions earlier and beta testing your key audience. Soft launching can validate product/market fit, app experience, usability, and app/game/social mechanics. The result is your first experience with your key demographic will be based on the data you learned from your sample audience. The end result will be a much more polished and proven app experience.

Launch consideration: App store submission process

The application submission process varies greatly depending on the app store. This is where you get to sell your application with a marketing description, search keywords, and screenshots of your app in action. You can specify pricing and what regions/markets you want your app to be available in.

ios_app_submission

With Apple it is customary to wait up to two weeks for Apple to review your application and approve it for production. Apple routinely rejects applications for being low quality, using unsupported APIs, and for not following design guidelines. Google on the other hand offers a streamlined release process that takes less than one hour, but doesn’t offer the first line of protection that Apple provides by not allowing apps with obvious flaws.

Mobile insights with AppDynamics

With AppDynamics for Mobile, you get complete visibility into the end user experience across mobile and web with the end user experience dashboard. Get a better understanding of your audience and where to focus development efforts with analytics on device, carriers, OS, and application versions:

AppDynamics For Mobile

AppDynamics For Mobile

Want to start monitoring your iOS or Android application today? Sign up for our beta program to get the full power of AppDynamics for your mobile apps.

Mobile APM

In the next post in this series I will dive into monitoring a production mobile app and the various tools that are available. As always, please feel free to comment if you think I have missed something or if you have a request for content in an upcoming post.

Take five minutes to get complete visibility into the performance of your production applications with AppDynamics Pro today.

Going live with a mobile app: Part 2 – Developing a mobile application

In the first part of this series I discussed planning your mobile application and how to decide between HTML5 vs Native, iOS vs Android, and how to get started going live with a mobile app. In this post I will dive into some considerations when developing a mobile application.

With a large and mature developer ecosystem there are ample development resources available. With mature open source frameworks for both iOS and Android it is easy to have a solid foundation by standing on the shoulders of giants. Github is your friend when it comes to discovering the open source communities that power so many iOS and Android applications. While iOS is developed closed source, there are many libraries available like AFNetworking, SSToolkit, PonyDebugger, and KIF. Android is a primarily open source operating system with many libraries available like GreenDAO ORM, Picasso, and OkHttp.

Development consideration: PaaS vs IaaS vs SaaS

When undertaking a new mobile application you must decide to integrate your existing backend or build a new one. In the case of building a new backend for your mobile application you must consider whether to use an existing mobile cloud like Parse, Stackmob, Kinvey, Helios, or Cloudmine. These mobile cloud platforms allow you to develop new applications quicker with APIs for writing custom application code, storing user and application data, managing push notifications, and instrumenting with analytics. Mobile cloud platforms as a service are the fastest way to get to market if you don’t have existing server side APIs. More often than not you will need to integrate your existing application data to your mobile experience. When you choose infrastructure as a service, or platform as a service, you are really deciding which problem set to focus on. Either you can focus 100% on your application, or have more flexibility (and ongoing maintenance) by using a lower level provider that gives your infrastructure as a service.

iaas_vs_paas

Development consideration: Degrade gracefully for a smooth online and offline experience

When designing a modern mobile application you must plan for a variety of conditions from high-speed, low-latency Wi-Fi connections to low-speed, high-latency 2g/3g/4g connections to even being offline altogether. Adapting to the sheer variety in devices, form factors, CPU speeds, and memory variability is a daunting task. It’s important to be able to support online interactions and gracefully fail back to offline while maintaining state and a consistent user experience.

Mobile insights with AppDynamics

With AppDynamics for Mobile, you get complete visibility into the end user experience across mobile and web with the end user experience dashboard. Get a better understanding of your audience and where to focus development efforts with analytics on device, carriers, OS, and application versions:

AppDynamics For Mobile

AppDynamics For Mobile

Want to start monitoring your iOS or Android application today? Sign up for our beta program to get the full power of AppDynamics for your mobile apps.

Mobile APM

In the next post in this series I will dive into launching a mobile app in the app stores. As always, please feel free to comment if you think I have missed something or if you have a request for content in an upcoming post.

Take five minutes to get complete visibility into the performance of your production applications with AppDynamics Pro today.

Going live with a mobile app: Part 1 – Planning a mobile app

There are many concerns when going live with a modern mobile application, from project planning, to development, to quality assurance and managing a successful launch. In this series we will dive into what it takes to go live with a mobile application on iOS and Android.

Whether you are a brick-and-mortar retailer or an eCommerce web site, the need to go mobile is greater than ever. With mobile market share growing year over year, mobile applications are the new web site. If you don’t have one available you are missing a major market. According to a report from Kleiner Perkins, mobile applications now account for 15% of all Internet traffic, with 1.5 billion users worldwide. Mobile adoption has accelerated like never before:

The path to 50 million users

As of May 2013, 91% of American adults own a cell phone and 56% of American adults own a smartphone according to a recent survey by Pew Internet. So you want to launch a mobile application and skyrocket to your first 50 million users. Here is what you need to know to get started.

Planning a mobile application

Planning a major mobile application is the one of the most difficult parts of the project to execute. Which platforms should you build for and which devices should you support? Do you build your own backend or use a Platform-as-a-Service (PaaS)? Do you build a native mobile application or a web-based HTML5 application? All of these questions and more will come up and you need to understand the market to make decisions you won’t soon regret.

Design consideration: Native or HTML5?

The promise of HTML5 has always been to write once and run everywhere. This promise comes at the expense of the features and user experience. While HTML5 mobile applications are a good start, they will never have the fluid user experience of native applications. The best application experience comes from a native integration.

HTML5 does have some strategic benefits:

• Cost to deploy cross platforms
• Immediate updates and control of distribution
• Faster time to market since it is easier to hire from a large talent pool
• Device compatibility

Native applications have some benefits as well:

• Richer user experience
• Better performance
• Native integrations that enable better monetization

There are several intermediary solutions available to take your HTML5 app and convert it to a native application available for iOS and Android. Appcelerator Titanium, AppGyver, PhoneGap, and Sencha Touch have all claimed to provide a native experience without having to write a native application. In my experience all of these solutions fall short in delivering a truly compelling mobile experience. If your only metric is time to market then these solutions provide a good result, but if you care about the user experience native is the only mobile strategy to pursue.

Several high-profile companies have regretted pursuing an HTML5 mobile strategy. Most famously, Mark Zuckerberg, CEO of Facebook, has publicly stated, “On iOS and Android, you can do so much better by doing native work…” and that focusing on HTML5 was a mistake in the long run.

Design consideration: Apple App Store vs Google Play communities

In 2013 if you want the most downloads you build for Android first, but if you want the most revenue you build iOS first. The reality is you are building a business with your mobile application, and the money mostly exists in the iOS App Store community. Apple apps make more money even though the Android market is larger. Apple owns only 18 percent of the app universe, but it banks almost 500 percent more than Google, pulling in a sweet $5.1 million in revenue every day. Meanwhile, Google owns 75 percent of all app downloads, but it only takes in $1.1 million per day.

flurry

The Apple App Store and Google Play app ecosystems have distinct communities with Apple having stricter regulations and a manual review process for releases, compared to the much more agile and developer-friendly Android community. Google has a top price of $200 compared to the high end of Apple of $999 with much more variance in pricing than the Google Play market.

The biggest difference between the app store markets is the regulations enforced on app developers. Apple, while the biggest earner, is also the strictest with functionality requirements (and restrictions) and quality standards that ensure it’s the highest quality market, but also the most censored. While the Google Play Store is more developer-friendly, with a straightforward app submission and distribution process with better developer tooling and business reporting. Both markets have more than 100 million devices and over a billion app downloads.

Due to the constraints and expectations of the venture capital markets that so many app developers are constricted by it doesn’t make sense to choose Android as a launch platform. The expectation for traction and revenue means Apple iOS is the better business bet when you have limited time and mobile resources. It’s the fastest platform to prove an app concept and the viability of a business. The harsh reality of the mobile app ecosystem means that for every top-earning app there are 10,000 failures.

A look at the current state of the mobile device market share:

device_marketshare

Once you decide which platform to focus your mobile engineering resources on, you need to figure out what devices and versions you are going to support. As of October 2013, iOS 7.x market share accounts for 64.9% of all iOS devices:

ios_marketshare

As of October 2013, Android 4.x market share accounts for 48.6% of all Android devices:

android_marketshare

Based on market share it makes business sense to offer compatibility with Android 2.3.3+ and iOS 5.1+ devices.

Design consideration: Tablet or phone?

As PC shipments declines to 8.4%, tablets are expected to grow 53.4% according to an October 2013 Gartner Forecast. There is a clear shift from traditional desktops to tablet and smart phones. One of the design considerations you must factor in is the variety of form factors in mobile devices. Crafting an application experience that adapts to both landscape and horizontal modes and that works across standard and high definition screens from three to eleven inches is an impressive feat, especially when having to balance between high-speed low-latency Wi-Fi connections and low-speed high-latency 2g/3g/4g connections.

gartner_marketshare

Mobile insights with AppDynamics

With AppDynamics for Mobile, you get complete visibility into the end user experience across mobile and web with the end user experience dashboard. Get a better understanding of your audience and where to focus development efforts with analytics on device, carriers, OS, and application versions:

AppDynamics For Mobile

Want to start monitoring your iOS or Android application today? Sign up for our beta program to get the full power of AppDynamics for your mobile apps.

Mobile APM

In the next post in this series I will dive into developing a mobile app and the various approaches that are available. As always, please feel free to comment if you think I have missed something or if you have a request for content in an upcoming post.

Take five minutes to get complete visibility into the performance of your production applications with AppDynamics Pro today.