Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How to Build Stable, Market-Tested Apps That Users Love

DZone's Guide to

How to Build Stable, Market-Tested Apps That Users Love

We’re letting the app stores define the way we build and release apps. It’s a mistake that every team has made at some time and still one that’s plaguing the majority of mobile teams today. And we know exactly who’s to blame: the app stores.

· Mobile Zone
Free Resource

Launching an app doesn’t need to be daunting. Whether you’re just getting started or need a refresher on mobile app testing best practices, this guide is your resource! Brought to you in partnership with Perfecto

We’re letting the app stores define the way we build and release apps. It’s a mistake that every team has made at some time and still one that’s plaguing the majority of mobile teams today. And we know exactly who’s to blame: the app stores. While they’ve literally changed the world with smartphones, they’re still the biggest obstacle when it comes to developing on mobile.

Mobile is a market where users have a LOT of choice. Currently there are over 1.5 million apps in the Apple App Store and 1.6 million in Google Play. Switching costs are low, but expectations are higher than ever. Unfortunately, we don’t really know what users want. “Users find it challenging to effectively describe what a mobile app needs to do. As a result, the traditional practice of having a business analyst sit down with the mobile app end users- to define requirements for a new mobile application normally fails.” – Van Baker, VP of Research for Gartner.

appstores

With so many choices, there simply isn’t any room for apps who don’t do an amazing job serving ever-changing user needs. Since we don’t really know what user want, we have to rely on actual feedback and data from real customers to see how they respond. The problem is, the app marketplaces are a constant bottleneck, and the biggest hinderance to quickly adapting to serve customer needs.

“In mobile what do I do? I push a button, it goes to The App Store, the black hole that is Apple, and out comes, in some indeterminate amount of time, my binary. If I’ve made a mistake or if theres a fatal, or something silly in that app, its gone. That bullet has left the barrel, and I’m screwed.” – Facebook Release Director Chuck Rossi

On web, releases and updates can be done near instantly. Any mistakes can be quickly fixed or undone by a rollback to a previous state. Companies can stay agile by making small regular updates and gauging user reactions.

On mobile, the marketplace ecosystem is designed in a way that almost promotes outdated methods. Being forced to wait for an app approval is akin to producing and shipping boxed software, with similar side effects. The process is so much slower that we’ve reverted back to the 90’s waterfall methods, making big releases every few months.

“It’s like we’ve forgotten all the agile and rapid iteration stuff that we learned over the last 10 years.” – Andrew Chen

So What’s the Solution?

Top apps are avoiding this common pitfall with a two pronged approach. They speed up their release process to create fast iteration cycles and use testing to make smart, data-driven decisions. This approach allows you to still play by the rules that the app marketplaces have laid out, but still provide the best solutions for your users.

Create Fast Iteration Cycles

We looked at the top apps in the app store and found that the best ones are iterating 10x faster than the competition. Fast release cycles have huge competitive advantages over making large releases every few months, helping ensure that you make fewer mistakes and stay agile to adapt to user feedback. Facebook and Lyft both have cut down their cycles to a period of 1 week, and most top apps have done the same.

So why does it help avoid mistakes? Large, feature based shipments often lead to uncertain release dates, fully dependent on when teams finish dev. Not knowing when the next release will come, they often scramble to cram in other updates, features, and changes, even when they’re not 100% ready. This often results in buggy, unrefined code that can ruin the user experience.

An example of a 1 month release cycle

On web, this might not be such a big problem as teams can simply roll back to a previous version. On mobile however, you have to resubmit all over again or attempt for an expedited review. Either way, you’re still at the complete mercy of the app stores as you slowly bleed users.

With fast iteration cycles, there’s always the next train. There’s much less pressure to release something that isn’t 100% complete. As a result, teams are more focused on getting code right, rather than just getting it out. The other aspect is that teams become confident. When you’re pushing consistently, each release isn’t a big event, it’s just another day as normal. Your team gets more used to the process and feels more comfortable making releases.

The other big benefit is the ability to change quickly based on user behavior. Instead of waiting months in between releases trying to figure out how users are responding to your latest large release, you can see the effects and get user feedback and data quickly. Each small iterative change can help tell you how users are responding and give you deeper insights into how to best serve their needs. Even better, using A/B testing will show you exactly how a small sample of users are responding to a change and test on a small scale before deploying to your entire user base.

Use Testing Liberally

In combination with creating fast iteration cycles, testing and analytics will help you make informed, data-driven decisions about product development. One of the most important first steps is to create conversion funnels that track users through different stages of an app. This will show you exactly where you can improve in your app, as well as reveal changes in user behavior for each release or A/B test.

usertesting

Utilizing user testing will help you understand the qualitative aspects. You’ll be able to get insights into future features to put on the roadmap, as well as explanations as to why your users are behaving in a certain way. User testing is an invaluable tool that teams should utilize for any major release.

While user testing addresses the qualitative A/B testing gives you the the quantitative. It’ll show you exactly what is and isn’t working in your app, drawing direct correlations between changes and their effects on user behavior. When conversion funnels are set up, you’ll be able to see exactly where users are dropping off, and a holistic view of how a change is affecting your users throughout the app.

As you test, you’ll be able to quickly pivot based on your test results and by any changes in the increasingly competitive markets. Each small iteration you make will bring you closer and closer to the ideal product for your users, and using data gleaned from testing is the key.

Conclusion

A lot of the control is still held by Apple and Google, but there’s still a lot we can do when it comes to developing on mobile. We can adopt techniques and methodologies from giants like Facebook and Lyft, as well as utilize testing to gain deeper insights about your users. Teams don’t have to be chained down by the app stores, there are still ways to play by the rules while optimizing the processes.

NEXT POST: Defining Tracking Events On the Fly: Charity Miles Case Study

Keep up with the latest DevTest Jargon with the latest Mobile DevTest Dictionary. Brought to you in partnership with Perfecto.

Topics:
app stores ,app ,mobile

Published at DZone with permission of Kendrick Wang, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}