How is Apple Encouraging Progressive Web Apps on iOS 13
Recent activities by Apple provide signals businesses should consider using Progressive Web Applications instead of native apps for iOS 13.
These actions include purging existing apps from the store and blocking access to other, corporate applications. At the same time they have begun adding support for service workers and the web manifest specification to iOS Safari.
Apple has been aggressively dumping apps from the iOS App Store because they use app generation or template based services. Apple cites section 4.2.6 of their App Store review guidelines. as an excuse to remove these apps.
"4.2.6 Apps created from a commercialized template or app generation service will be rejected."
The crackdown started at the 2017 Apple Developer Conference. That is when they announced the section 4.2.6 changes to their review guidelines.
Since the conference Apple used the 4.2.6 rule as cause to cleanse the App Store They have removed a large amount of apps considered to be clones, copies, fraudulent, abandoned or not 64-bit compatible. This action is not considered something that would affect legitimate business trying to engage customers. It is merely an act of cleaning house of bad clutter.
But here is the problem.
Apple used very generic terms. They have left the definition of what an app generation service is open ended.
This is intentional so Apple can use this clause and several others in their review guidelines to reject any app they simply do not want.
You're probably wondering:
"Is Apple about to dump apps built with frameworks like Ionic, React Native or Cordova?"
The answer is probably yes!
A more recent post by the Apple developer team emphasizes that all code in an iOS app must be self contained and not use external application code.
Apps that provide core features and functionality dynamically with web technology like HTML5 are best delivered to everyone in Safari, rather than through the curated App Store.
If you read their submission guidelines they are clearly within their rights to dump your Cordova app. All they have to do is cite the 'repackaged web site' clause.
"Your app should include features, content, and UI that elevate it beyond a repackaged website."
Just my opinion, but probably 90% or more of the apps in the iOS App Store could be affected by this clause. Not because they are hybrid apps or created with React Native, but because they are not app-like.
If you read further in their latest updates they are not saying being a hybrid app will get you tossed or excluded, yet, but they are certainly tightening the allowed range.
Are You 'App-Like'?
The Apple app guidelines go on to require your app to be 'app-like'.
"If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store."
What does that mean?
I struggled to find a formal definition of app-like. But let me speculate.
I mean the Apple guidelines are vague, so why not just make up a definition?
In the eyes of Apple a web site just provides information, maybe a few input forms, not much else. An app has application like features. Again ambiguous.
One of the many apps now being rejected is one from Neo Gourmet. They were rejected twice and Apple suggested it would was more appropriate to be a web app instead.
And as I read the description of the Neo Gourmet app it should be a web app, a progressive web app. It allowed online ordering and delivery tracking for customers. It also utilized messaging to place orders via voice communication. All these features the web supports.
It also has a 'private' app for the delivery drivers. Again something the web can do well.
I mean we use administrative and line of business web apps every day.
Maybe Safari is not the best platform for these features, but they can all be done through Safari.
Applications tend to be tools, something used to accomplish one or more tasks. Software like spreadsheets and word processes are obvious examples. As Microsoft and Google have shown, these office productivity tools can do quite well on the web.
Reading through the guidelines Apple is looking for applications that are not what they consider replication of a web site and also offer some form of unique value. Again a subjective attribute.
To borrow from their language about what is offensive, you know an app when you see it.
But it gets worse:
Apple continues with vague definitions as reasons to reject applications:
"If your App doesn't provide some sort of lasting entertainment value, or is just plain creepy, it may not be accepted."
How does Apple determine what is entertaining. I mean I find a lot of things very entertaining shows and movies my wife thinks are stupid, like the History Channel's Ancient Aliens series. To be fair she has shows I don't find entertaining, so we are even.
The point here is what I and my target audience find entertaining, the Apple censors may not. In fact these guidelines are just vague enough they could dump any app they don't like. Or maybe they think it might compete with their own apps, just a thought.
Apple Blocks Enterprise Apps
Recently Apple revoked certificates for both Google and Facebook that caused their internal, enterprise applications to stop working. In both cases Google and Facebook had explicitly broken the rules for Apple's enterprise and developer program, so they deserved to be revoke.
For clarity, the terms of the program prohibit the distributions of iOS applications outside the store to general consumers. Both companies had done this with special marketing apps they were using with a select set of 'customers'.
I don't fault Apple in this scenario, they did nothing wrong. But it demonstrates how outsourcing control of your business applications to a third party like Apple can be unreliable.
One of the many reasons why I trust the web over native apps.
Google Is Also Rejecting Apps
Google has been busy rejecting and removing apps from the play store too. Their reasons are slightly different. They are fighting malware, which is a good thing.
"The number of rejected app submissions increased by more than 55 percent, and we increased app suspensions by more than 66 percent."
This is good because it means you have less competition for the few eyes available for your app.
This is not exactly what Apple has been doing and should not affect legitimate businesses.
Should You Even Have An App?
Before your blood pressure rises think.
Does your online presence need to be an app?
The web can handle many advanced user experience expectations. Spreadsheets, word processors and other productivity tools are available as web applications, like Office 365 and Google Docs.
The general market segment this affects are small businesses that have fallen victim to the 'we must have a mobile app' mania.
Developing a native app is expensive and small businesses and individuals cannot afford the financial investment. Compound this expense by three, iPhone, iPad and Android and the barrier to entry is high.
Native application development and maintenance costs vary wildly, based on your quality expectations and requirements. And yes the same can be said about the web.
Estimates I have seen range from a few thousand to millions of dollars. Most of your development and overheads are consumed by your back-end or server-side infrastructure. The mobile apps are just a portion.
But it does not stop there. More fees are just around the corner.
You must also pay the stores to be included.
Apple charges $99 a year, Google charges a one time $25 fee. But the stores also take 30% of your pre-tax app revenue.
This makes app generation services that charge a few hundred dollars a year to have a simple, informational app with a form or two very attractive small businesses. The niches often cited are restaurants, fitness gyms, Realtors, churches and other more locally focus businesses.
A recent TechCrunch article agrees these restrictions affect small businesses the most:
"What's unfortunate about the expanded policy enforcement is that these app makers specifically target the small business market. They build apps for businesses that don't have the internal resources to build their own apps or can't afford to hire a custom shop to design a new iOS app from scratch."
This action has attracted the attention of a California congressman, Ted Lieu, who has sent a request to Apple to reconsider their decision.
Companies that generate these applications are also starting to shut down. Shoutem has already closed down due to the Apple policy changes.
Others, like AppMachine, have announced they are halting their services while they figure out a new strategy.
"Even through all these changes, we started seeing rejections of apps that we consider to be perfectly in line with the Apple guidelines, especially apps that are being built in specific categories such as Restaurant/Cafe, Sport and Brochure apps, amongst others."
Developing an application is just the start. You must meet a minimum 'standard' to be considered entry to the App Store Think about the review guidelines like a bouncer outside the hot night club. If you are not on the list or not 'hot enough' you can't get past the velvet rope.
Your app could be rejected just because the app store reviewer feels like there are already enough apps in your category. You may have the best app, but no one would ever have a chance to know.
Once in the store life may not be as exciting as they imagined. Attracting customers is very difficult. In fact 8 out of 10 apps never make any money.
This is primarily due to app fatigue. Basically everyone is tired of downloading apps. In fact no one does anymore.
According to ComScore the average mobile user downloads zero apps in a given month. In fact its about 48% that download an app.
I perform anecdotal surveys of my 'normal' (non-techie) friends. They almost always tell me they have not downloaded an app in a while. Many cannot recall the last time they downloaded an app.
Most app download activity is restricted to their kids downloading free games to play.
Even if you can get someone to download your app, less than 10% of those will use your app more than once. Typically after three months, collecting dust on their device's home screen, most apps are deleted.
App Discovery Issues
Since the introduction of the App Store, discovery has been a major issue. Apple never did a respectable job building search capabilities in the platform. This makes finding applications that are not already popular difficult.
This has lead to increased advertising costs to coax users to download mobile apps. Estimates tell us you need to spend between $2.50-$15 for a single app download. When you consider 10% will use your app after it is downloaded, that means a true customer acquisition costs rages from $25-$150.
Compare that to the pennies or sometimes fraction of pennies it costs me to drive traffic to web content. Plus the free traffic I earn through organic search listings. And that is the key phrase, organic search listings. There is not true app store SEO.
App Stores have not developed formal search engine capabilities. Often apps returned are already 'popular' Meaning they have many downloads, reviews and ratings. While these signals are good indicators of app popularity, it does not mean they are good. It also makes launching a new application tough.
And yes, earning organic search engine placement for a new web page or site is not easy. It can be done and for much less effort.
This paints a very bleak story for businesses seeking a coveted spot on customer phones.
But what if there is a better way?
Progressive Web Apps Provide Businesses Affordable Mobile Presence
The web is a rich platform, providing capabilities on par with native apps. yet they retain their ability to be found and share deep content links. This means you can add a new page to your site and drive targeted traffic directly to that content.
The web is a fantastic application platform. It always has been. But today it is better than it ever was.
Today, the web has added many great new features you may not know about. For example native push notifications.
Push, offline caching and other new features are enabled by service workers, which run in the background and offer a new extension to provide 'disconnected' capabilities.
Progressive web applications (PWA) are a newer class of web site. They are fast, reliable, secure and engaging. Behind the scenes they are served using HTTPS, have a valid web manifest file and a registered service worker. These are the core technical requirements.
But the real definition of a progressive web app is a web site that leverages the best platform features to deliver the best user experience. Ultimately this experience is on par with native apps.
Part of that experience is the ability of your site to earn a place on the customer's home screen. When launched from the home screen these web sites run just like a native applications. No browser chrome necessary.
But here is the real value PWAs offer:
The ability to cheaply engage customers without the friction and censorship inherent with native apps. You can publish anything you want, anytime and the public is free to determine if you are worthy of their trust, not an arbitrary person at Apple, Google or Microsoft.
The next great thing about progressive web apps is they are much more affordable to develop. If you already have a web site you can be a progressive web application easier than you think. You wont need to create anything new, just add some capabilities. In fact you could upgrade in as little 15 minutes.
But here's the thing.
I see Apple doing businesses a favor by rejecting apps that should be progressive web apps. I think this is a business move on their part.
It is expensive for them to host and manage these applications. Even though they charge an annual fee it is not a high enough margin to make the service attractive enough for Apple.
Plus I think they are finally admitting what I have been saying for years, the majority of mobile apps are just web sites or should be a web site.
Today Apple is finally doing the right thing.
They are eliminating the presence of web apps from the App Store. I think they also see where progressive web apps are going. They will replace just about all native apps in the near future.
Apple Safari's recent activity of shipping service worker and web manifest support in iOS 11.3 and Safari 13 is another positive signal that Apple is embracing Progressive Web Apps.
Microsoft is encouraging businesses to submit their progressive web app to the Microsoft store. Doing so gives your application full access to the Windows platform APIs.
Android now instantly makes PWAs webapks when added to the home screen. A webapk is a native Android app without going through the store or being compiled to an executable. It is similar to a hybrid app made by Cordova.
Now you can take it one step further and submit your PWA to the Android Play Store, giving you yet another distribution channel.
The only difference with the Microsoft strategy and webapks is they don't have access to the platform APIs... Yet.
They are executed like a native Android application.
But Apple Does Not Support Progressive Web Apps...Or Does It?
Recent changes on iOS and Safari made PWAs a natural fit on Apple's mobile platforms. In early 2018 Apple shipped support for basic service workers and caching. Service workers combined with the traditional mobile web app capabilities made iOS a fine progressive web app platform.
If you need more storage you can build an intelligent caching system to leverage IndexedDB, which can give you 500MB or more of additional storage, which is available to service workers.
There are some drawbacks. You cannot do native push notifications. You can do web notifications and use SMS notifications. In fact I have read some studies that show SMS has 3 times the engagement rates push messages have, so maybe they should be the primary notification channel.
Even though Apple does not fully support the web manifest they have always supported web app features and an add to home screen story. In fact this was the original way Apple recommended apps be created for iPhones. That plumbing still works to this day. In fact I have been using it to create an add to home screen experience for over 7 years now.
PWAs on iOS Work Great and in Browsers Without Service Workers
Progressive web applications are about delivering great user experiences that progressively utilize platform features as they are supported. If you follow web development best practices your web experience delivers impressive KPI values.
Many businesses that have already shipped progressive web application solutions are reporting impressive returns on iOS. These include higher sales, more customers and higher customer engagement stats.
AliExpress reported an 82% increase in iOS conversions. The Washington Post increased user engagements nearly 5x.
I don't want to portray PWAs as a panacea on iOS, they are not perfect. And that is really Apple's fault.
Up to this point they have delivered a rather crippled PWA experience. This includes minimal cache capacity, purging 'unused apps' and not really supporting a strong add to homescreen story.
Apple Has PWA Support
In August 2018 Apple started work on service worker support. Production support followed that December. They also started work on web manifest support, which we can see initial usage when a PWA is added to the homescreen. Now, instead of bookmarking the current page you should see a homescreen PWA launch from the manifest start_url.
The two key missing PWA features in Safari were service workers and manifest. We still don't have 100% coverage for both, per se. Push notifications are not yet supported and we don't 100% know if the web manifest file is being used yet.
Apple also chose to limit service worker cache capacity to 50MB and not the sliding scale other browsers have adopted. This does not mean service worker cache is not usable, instead you have a vast storage channel in IndexedDB.
While we don't know they will ship support, we know they will. We also don't know what their add to home screen experience will look like or if they will include push notifications in the first release. But I will take what I can get.
If you architect your site correctly it will just naturally take advantages of these features when they are available. You won't have to change your code.
If you have a web site you have all you need to be the app you think you want. If you have not already upgraded to HTTPS go ahead and do so. Add a web manifest file to your site. Then create and register a service worker. The service worker does not even need to do anything at first, just create one and see where things go.
Are you a business that wants to upgrade to a progressive web app, been considering an app in the App Store or maybe you are in jeopardy of being rejected or removed, contact us for a free consultation. We would be more than happy to help you start your journey as a progressive web application.
Before you go down the road to the App Store, stop and ask yourself if you can be a progressive web app today without the getting hassled by Apple.