Towards a Better App Store

For the last month I have been doing a series of episodes on Developing Perspective trying to unpack practical, actionable improvements that could be made to the App Store. I didn’t want to just whine about its shortcomings, I wanted to think of realistic ways to improve it.

This ended up being a five part series (Part 1, Part 2, Part 3, Part 4, Part 5). This article is an attempt to summarize the recommendations I made, if you want more background on any point the relevant podcast episode should provide that.

If you just want to see the recommendation list, you can jump to the tl;dr at the end.

The Goal

It is perhaps a bit glib to assume that the App Store is in need of fixing. It is perhaps the most successful software marketplace in history. It has facilitated billions of app downloads. It removed a tremendous amount of friction and hassle with software distribution. It has allowed the creation of a new way for customers to think about software.

But I think it can be better. I have genuine, personal affection for the App Store. It has allowed me personally to do things I never thought possible. But (to quote myself):

I want to believe that the App Store is a special place. I want for it to be the singularly best venue for customers to come and find innovative, well designed, quality software. Software that pushes the boundaries of what is possible and continually amazes and delights its customers. I want for there to be an aspirational pull upwards on my own development. I want to feel like I need to work extra hard to make sure my apps meet the high standards my customers have been trained to expect.

I don’t think the App Store in its current form lives up to these goals, but I think it could.

When trying to think of the areas and ways in which the App Store could be improved it is likely not productive to think from a developer’s point of view. In all cases for the App Store to be successful it needs to be customer oriented. I need a target towards which to aim. With this in mind I started out with the goal making an app store that:

Helps customers easily find quality apps to satisfy their current need.

That need could be specific (I need to listen to a podcast) or general (I’m bored, What fun apps have come out recently). In either case the goal of the App Store should be to help customers find a robust, quality app in as few taps as possible. Stated in the converse it would minimize customer confusion, disappointment and regret.

I ended up with fourteen recommendations within six categories: Catalog Size, Search, Business Models, Ratings, Editorial and Categories.

Catalog Size

The size of the App Store’s catalog is often thrown around as a valuable, useful metric for judging the health and vitality of the ecosystem. That may have been true when it was starting out. There is value in having a diverse and deep inventory that meets every need but beyond a certain point it completely loses relevance. Duplication, ‘spamming’ and decay of older apps hurts the store more than helps it. In many ways the incredible volume of the Store is at the core of many of the other challenges it faces. App Review takes longer than developers would like. Search becomes tricky. Editorially curating new arrivals becomes daunting.

It isn’t an easy problem to solve. How do you determine which apps should be allowed in which should not. Just how many Flappy clones should be allowed to exist in the Store? 5, 10, 1000? It isn’t just the overall size that is a problem though, the rate of increase is also increasing. Also, how many of the apps on the App Store are being actively maintained. I’d guess the number is pretty low but the old apps still stay there. Buoying the numbers but not actually providing quality experiences to customers.

#1: Apps should be required to pass approval on an ongoing basis.

I had initially gone down the road of trying to work out ways to make judgments about which apps are the ‘good’ ones and which ‘deserved’ to be in the Store. It very quickly became clear that this was nearly impossible to do. While I (personally) can look at apps on the store and say which I think don’t belong, based on my own tastes. This never generalized. The App Store would be worse off if it were filtered with too harsh an opinion. I had also thought of applying other external limits on the number of apps. Things like raising the cost per submission or number of new apps per developer per year. These would only really affect the current trend of re-skinned apps (which can be better addressed directly), I’d rather have things simple for the majority than to punish everyone for a few bad apples.

I’m reminded of a parenting adage. Have few rules but strictly enforce them. I think this would do much to improve the situation on the Store. The App Review Guidelines are a pretty solid set of rules. They have evolved and adapted to the times but overall they do a pretty good job of keeping out the stuff that is objectively ‘junk’. There are of course grey areas, as there should be, but I don’t have too many complaints with the guidelines we have today. The area that I think we could do much better on is the way in which they are enforced. Specifically, when they are enforced. As best I can tell, other than in exceptional cases once an app is approved it is always approved.

The purpose of having app review and rules about what constitutes an acceptable app is to form and direct the content of the store in the customer’s favor. This applies to things like avoiding crashing, malware ridden software. It equally applies to establishing a baseline of design and development standards that everyone must meet. Having things like the Human Interface Guidelines (HIG) as a requirement for submissions establishes a bare minimum for quality for all apps. However, the App Store is a vibrant, ever moving ecosystem. What was acceptable a few years ago is likely not today, at least not without any adaptations. This applies most concretely to supporting new versions of iOS. Since February 1st all new submissions must be built against the latest SDK and be “optimized for iOS 7”. If that applies on the front end, it should be reapplied to the back-catalog as well.

Exactly how this would be applied doesn’t really matter. It could be applied on a monthly, quarterly or (honestly) even annual basis. The important thing is that it would create a Store where any app a customer purchases would be assured of meeting and complying with the current set of guidelines. The stated goal of the Guidelines is to “ensure [apps] are reliable, perform as expected, and are free of offensive material.” I believe every app on the store should meet those criteria.

If older apps no longer meet the stated guidelines for what an app should be they should be de-listed (still available to re-download if already purchased). Leaving space on the virtual shelves for apps that provide the best possible experience for customers. This would constitute a lot of work for the App Review team, but I think it is hard to argue that the result wouldn’t be worth it for customers.

With a Store of over a million apps search is likely the most vital tool for promoting broad discovery. The current interface doesn’t scale well to the variety and volume of the Store.

#2: Make the cards interface for search optional (if not eliminated).

The cards interface (which shows a single app on screen at a time) severely limits your visibility if you aren’t the first or second result for a given search. This narrows the user’s ability to fully explore their options. If the store instead provided an optional toggle for a list search mode you could far more effectively browse the results.

#3: While still algorithmically based, periodically vet the most popular keywords to ensure good relevance.

The way the current search ranking system works punishes newer applications compared to older applications. This is especially noticeable when an application releases a new version as a separate paid update. The classic example is a search for “Twitter” on the App Store. Many of the apps that (subjectively) would seem to be highly relevant (Tweetbot, Twitteriffic,…) are buried far down the list. This type of adaptation would likely require some level of human intervention to curate.

#4: Power Search: Add the ability to filter and manage search results to more finely tune the results.

When I search Amazon for a toaster I am initially offered 17,575 choices, however, with a few clicks (Prime Eligible, 4 slot, silver) I can trivially this down to 25 to choose from. The power of having a multi-level search filter is incredible. You can easily narrow in on exactly what you are looking for. I think the App Store should collect or mine additional meta-data to facilitate this type of advanced filtering.

Business Models

Refunds

I really don’t understand why Apple makes the refund process so opaque and awkward. I know from my own experience in physical stores that a clear and easy refund policy helps drive sales. It is far better than a ‘trial-mode’ because it sustains the value of the app (rather than giving it away for free then asking for money later). However, it still maintains that escape hatch for purchasers unsure of whether they really want the app.

I’d love two things, neither of which are actually policy changes.

#5: Educate App Store customers about what the policy is and ideally phrase it in clear terms.

I’m sure there is an internal policy within Apple customer support, but I haven’t been able to find a clear explanation of it. The legalese Terms and Conditions for the App Store states that “All sales and rentals of products are final” but that is clearly not the actual policy since people get refunds all the time. Whatever the policy is this should be clear to customers. The strange disconnect between “all sales being final” and common refunds creates an even worse situation.

#6: Make the process of applying for a refund clear and straightforward.

Right now you go to reportaproblem.apple.com and then fill in a form. I’d love to see this integrated into the App Store app itself. Perhaps even into the Purchased Apps area.

In-App Purchases

Building on a blog post I wrote last year I would love to see the App Store better inform its customers about how in-app purchases will affect their experience of an app.

#7: Present a typical overall cost for an app in the App Store description.

Make it clear that when you are downloading an app that says ‘free’ next to it that you may not actually be making the less expensive choice. Also, this provides a clear expectation about the type of app the user is about to interact with.

#8: Show how much you have spent on the app with each new purchase.

Be upfront with the user about how much money they have spent. Allowing them to make a more informed (and less manipulated) decision.

#9: Drop or reframe the Top Grossing Chart

The Top Grossing chart was ostensibly added to help improve the visibility of higher paid apps within the store, at least that is how it appeared to me externally. If that is the goal it entirely fails to do that. Either drop the list or perhaps change it to only include paid apps, or at least exclude consumable in-app purchases from the ‘app revenue’ number.

Ratings

The star rating of an application is the most important aspect of the sale experience that is outside of the developer’s direct control. It is displayed on every page and instance where your app is shown and gives the customer a general cue about the quality of your app. As such, developers tend to take whatever actions they can to increase it. If this were just a question of improving the quality of their apps that would be fine but that isn’t where most developers stop off. Not to reopen the tempest about prompt dialogs, but there are a lot of potentially dubious and tricky things developers can do to try and ‘artificially’ boost their ratings. There are also some really solid, thoughtful ways to accomplish the same goal.

#10: Define a clear policy about where, how, and when applications may prompt for reviews.

Much of the discussion around the dialog prompts stemmed from a feeling that ‘everyone was doing it’ so ‘I need to too’. The best way to reward earnest developers who are trying to optimize for their users’ experience is to level the playing field by establishing exactly what is permitted.

#11: Make the rating scale a rolling, weighted average rather than just current version, at least soon after updates.

I remember when Apple changed the review score from a global average to only the current version. This was an attempt to make sure that a single buggy version didn’t forever hang around your neck. It also makes the reviews perhaps more reflective of the experience the customer should expect. The challenge though is that immediately after submitting your update your reviews all go to zero which gives the customer a very different perspective about your app. It makes it look unused or low quality. This discourages updates and encourages annoying your users with review prompts immediately after updates. Either show the overall average or a rolling, weighted average, even if only recently after update.

Editorial

While the role and scope of editorial (feature) coverage of the Store has been steadily improving over the years I think there is still a massive amount of work to be done here. Apart from the top lists, the featured area is probably the most visible place your app can be found. Building an app with the goal of being featured incentivizes quality, thoughtful and relevant app creation. Which is great but means that the value of being featured should be less abrupt.

#12: Expand the scope and frequency of editorial coverage in the Store.

It seems very odd that features are only ever updated once a week (typically thursday afternoon). New apps are added to the store constantly, updates are submitted constantly, it seems like features should be updated constantly too. I’d love to see things like ‘daily picks’/promotions or similar. Things that could potentially drive user engagement with the App Store app, checking in on what is new and interesting.

#13: Make an app’s featured status visible after their initial feature.

If an app is featured I’d love to see some kind of badge or notation on its App Store page promoting its selection. Apple has already taken the time and effort to identify apps that are worth the user’s attention, why not communicate that to user’s on the actual product page for the app. Similarly I’d love to see the curated lists that Apple puts together show up as search results. For example, if you search for ‘accounting’ the featured list for “Managing your Money” would seem like a great place to present the user with some apps that might be worth initially considering. This has the added benefit of improving the quality of search results.

Categories

#14: Expand the diversity of categories associated with each app.

Lastly I’d love to see the variety and specificity of categories you could assign to an app be expanded. The current metadata assignment into one of only 24 categories seems paltry when trying to catalog over a million individual apps. I’m sure based on the search data that Apple has at its disposal they could subdivide of the existing categories into several useful sub-categories (much like how games are treated). This would also help improve the relevance of the top charts. Being the top app in a more niche sub-category might be genuinely useful for developers and customers alike.

Conclusions

I’m genuinely hopeful that we will see several improvements to the App Store introduced this summer alongside iOS 8. The App Store has (in part) driven the wild success of the iPhone. Having a great user App Store experience helps everyone. It helps Apple sell more iPhones. It helps customers enjoy their iPhones. It helps developers sustain their development. These are just my thoughts, but I hope they can serve as a useful jumping off point for discussions both within Apple and in the broader developer community.

tl;dr

A better App Store in fourteen steps.

#1: Apps should be required to pass approval on an ongoing basis.

#2: Make the cards interface for search optional (if not eliminated).

#3: While still algorithmically based periodically vet the most popular keywords to ensure good relevance.

#4: Power Search: Add the ability to filter and manage search results to more finely tune the results.

#5: Educate App Store customers about what the policy is and ideally phrase it in clear terms.

#6: Make the process of applying for a refund clear and straightforward.

#7: Present a typical overall cost for an app in the App Store description.

#8: Show how much you have spent on the app with each new purchase.

#9: Drop or reframe the Top Grossing Chart

#10: Define a clear policy about where, how, and when applications may prompt for reviews.

#11: Make the rating scale a rolling, weighted average rather than just current version, at least soon after updates.

#12: Expand the scope and frequency of editorial coverage in the Store.

#13: Make an app’s featured status visible after their initial feature.

#14: Expand the diversity of categories associated with each app.

David Smith




» Can You Get Private SSL Keys Using Heartbleed?

The Heartbleed bug is a nightmare for anyone who hosts or manages any server infrastructure. I have spent a good portion of this week patching and then verifying that all the various servers I maintain are fixed. The nature of the issue is potentially catastrophic from a security perspective but the actual real-world impacts are harder to estimate.

I found this article by CloudFlare to be a really solid overview of the lower level technical details of the exploit. It also (somewhat reassuringly) describes the practical implications of how a hacker could actually abuse this issue. Thankfully the news is better than I had initially feared, though of course that doesn’t change my approach to making sure all my servers are 100%. Constant vigilance.

David Smith




» The Invention of the AeroPress

It struck Adler that he could use air pressure to shorten this process. After a few weeks in his garage, he’d already created a prototype: a plastic tube that used plunger-like action to compress the flavors quickly out of the grounds. He brewed his first cup with the invention, and knew he’d made something special. Immediately, he called his business manager Alex Tennant.

Tennant tasted the brew, and stepped back. “Alan,” he said, “I can sell a ton of these.”

Delightful backstory on one of the most beloved objects in my home.

David Smith




Please Don’t Push Me

First run experiences are important. They set the tone for your customer’s experience with your app. I know lots of developers who spend days and weeks carefully crafting every detail of the first time you open their app. It should invite you in and make you feel at home.

The opposite of a great first run experience is a trend I’ve started seeing more and more within the App Store. Upon first run of the app I’m immediately greeted with one of these:

I have just sorted through the App Store and settled on trying out your app. I open it up and you immediately ask if you can send me Push Notifications? I have no context about what these are going to be used for or why they might be useful to me.

I haven’t even seen your app yet!

Throwing up a modal blocker that prevents me from doing anything else (including closing your app) until I respond is not a great experience. If Push Notifications are an important part of your application, explain why. Or even better, request this permission when I proactively enable Push within the app.

Otherwise I’ll assume you are asking for this so that you can send me spam.

David Smith




Expansion Followed By Consolidation

There is a word independent app developers should start getting familiar with, conglomerate.

Yesterday’s announcement that Facebook was purchasing WhatsApp provides a delightfully focused confirmation of an observation I’ve been developing recently.

The mobile market has matured out of its wild growth phase and is now entering its consolidation phase.

This cycle of rapid growth followed by consolidation can be seen across countless industries. I think of examples like banking, cable, media and food. It is the natural consequence of how business works. As an industry matures out of a period of innovation and growth, the logical next step is to move towards consolidation. I expect we’ll see more and more of this over the coming year.

It is too early for me to predict how my own apps and business will get caught up in this. I wouldn’t be surprised, however, if the pressures of remaining a small, independent fish in this Big Fish Pond became untenable or undesirable at some point.

Should be an interesting year.

David Smith