How Apple Set the Internet Back 15 Years

The mobile app stores are fundamentally broken and they are stifling the ecosystem. Everyone has a story of that one friend’s brother who built an app in a week, got millions of downloads and now never has to work a day in his life again. But that’s not how it usually works and that type of success story is one in a million . Most developers will launch products and be lucky to break 1,000 downloads before giving up a few months later. It’s very, very rare to do well building mobile app software and developers are starting to realize it.

Why is it like this? How can this situation be possible when billions of people use their smartphones for many hours throughout the day? While there certainly are a lot of bug riddled or poorly designed apps in the stores, tons more have been meticulously crafted and planned with absolutely no users. The more great products that never see substantial user numbers, the more great developers will abandon the platform.

Blame the Install

For some reason, when Apple launched the iPhone in 2007 they decided to take the world back 15 years and create a software application store. Although browser-based, software as a service models in the desktop world were beginning to upset the bundled, packaged software of the prior decades, Apple decided to proceed with this historical model. They wanted to control distribution so they forced developers to submit their applications for review and to be ultimately placed on the store shelves for display, similar to the plastic wrapped cardboard boxes of the 90’s and early 2000’s.

Nowadays a user has to browse preview screenshots, read the description and reviews, and only begins an install process after careful consideration. To raise the commitment bar, Apple forces users to enter a password before installing an app, so users have to type in their password of at least 1 uppercase, 1 lowercase, 1 number and 1 character on that awful, little, smartphone keyboard. Even worse, the app downloads in the background with no additional completion notification, making it easy to forget that you even installed it in the first place.

Let’s run a thought experiment. Imagine the app install experience but as if you were browsing on Chrome on your laptop. You open up an email from a friend with a YouTube link to the latest cat video. You love cat videos , and can’t wait to see what hijinx the cats are up to this time. You click the link to be taken to the ‘Internet Website Store’, with a preview of a page called YouTube. From the screenshots, you can see it’s a site that let’s you play videos. Hmm, only 2.5 stars out of 5. It seems that some people don’t like the video quality. Oh well. You click install anyway because you love cats. The password prompt comes up and you struggle to enter your 15 digit, multi case password. Gah! Password incorrect. Second time’s the charm and the YouTube page begins to load. You patiently wait 30 seconds for the install to complete, and press ‘Open’. You are immediately presented with four splash screens telling you about the website and how it works. After clicking through the splash screens, you are prompted to register. Where is this cat video?! You give this mysterious app your name and personal email, only to be taken to some sort of generic feed of random videos. No cats. You type ‘F’ in the URL bar to go back to Facebook.

This is the world that we’ve all come to accept because of the install process. It raises the energy requirement for a user to try a new app and ends up stifling app discovery because of the ridiculous number of steps required. It’s no wonder companies are shelling out $5 to $10 just to get a new user to install an app through app install ads. To top it all off, even if the user remembers to open the app after all of that, you have to show the user a generic onboarding flow because there is no way to pass campaign parameters through the install.

The First Step to Fixing It

Mobile software development has become an obsession of mine over the last few years and I’ve now built close to 10 apps for both platforms. Some were featured by Google and Apple, some were shut down within a week. I’m captivated by the possibilities when everyone has a pocket sized computer, jam packed with sensors, no more than a foot away from themselves at any given time. It is an incredible time to be software developer. This is why I’ve made it a personal mission to fix the install and do what I can to help the ecosystem.

The first step in reducing the install barrier and make apps more accessible like the web is to make links work through the install. If a user comes to the app by clicking on a shared link or an app banner on mobile web, at least show them the content they’re expecting to see after the install process. Imagine if LinkedIn had a ‘View In App’ button on every mobile web profile. When you click that link and don’t have the app, wouldn’t it be nice if you saw the same profile post-install?

I’ve helped build the Branch deep linking tool kit ( branch.io ) so companies can do exactly that. A Branch link can be used to transfer data across app install for any purpose and our partners have already started with links for shares, invites, referrals, mobile web banners, sms forms and more. The link redirects to the app store if the user does not have the app, making custom data or campaign parameters available right after a user installs the app from a link. It’s the first step towards eliminating the pain associated with the install process. Best of all, the service is free.

If you’re a mobile app developer, the app ecosystem needs your help. When you start to build your next weekend project or big business idea, build outside the bounds of the install. Make sure that a user sees the item in your app that drove them to click install in the first place. Branch is the first step.


Alex is the CEO of Branch Metrics , a full service, deeplinking solution for mobile apps. Branch links have the power to deeplink through app install and open, allowing the app developer to deliver a personalized post-install experience.