Apple is killing Web?. This is Part Two of the series on…
By: Prathik S Shetty
Tags: Pwa, JavaScript, Apple, iOS, Mobile

This is Part Two of the series on Installing Apps on Apple and Why Apple is crippling Web but it shouldn’t. If you want to read about that go visit Part 1.

Apple, over the last few years, has treated Web App as a second or third class citizen. Some of you would blame Google for adding so many features to its browser at breakneck speed and that's partly true but that doesn’t shift the blame from Apple.

Apple recently declined to ship/develop NFC, Bluetooth and 14 other features in name of privacy. Unlike others, I do think they really mean it when they say they aren’t developing something because of privacy reasons. Most of these are really 5% features which only 5% of the Apps need. So let’s ignore it for now.

Let’s talk about other ways it has crippled the Web App experience. Apple was the first to bring Add to Home Screen. Which is adding any Website on the Home Screen. With the right meta tags user won’t even know it was a website. But over the years, with so many issues in this experience, it has become a pathetic experience to say least with things improving a bit in the last two years.

First, it was these Apps suddenly losing the App icon. Second, Apple randomly or aggressively removing these Apps from a cache. Third, The App would entirely reload if went to the background.

A lot of these were fixed in the last two years but the destination is still far.

Some time back Apple announced if a Web App wasn’t used in the last 7 days it will be removed from the cache which means all the files (CSS, JS, Images etc) will not be available post 7 days of inactivity and if the user happens to click on your Web App he needs to wait for all of this to get downloaded again. This is a smaller problem. The bigger one is that your app can’t be used offline. Anything that you think is a good offline scenario now has to be a Native or Hybrid App and not Web App like casual games or some utility apps.

Let’s come to Add To Home Screen button. To access that you need to open the Share Sheet and click Add to Home Screen button. It works on any website. Great right. In theory yes but in practice it isn’t. First your browser address bar and toolbar is hidden. You/your user needs to swipe up(some action like this) to show the toolbar. From there he clicks on the Share icon to open the Share Sheet. Next, you need to hunt/swipe through the icons to find Add to Home Screen. Unless you are a developer or a tech enthusiast you won’t have any clue which icon is that. Now that you have found it, click on it. And voila you have installed the Web App. As long as you have added the right meta tags your users won’t know its in a browser. Although he will pretty soon encounter one of the above issues and abandon your App.

The process is also cumbersome on Chrome on Android. But Chrome circumvents this by providing an install banner/popup. The great part you can delay this and trigger it when you want. You users wont have to go hunting for where to find the install option. The banner greatly reduces frictions and makes it seamless for user to install your PWA/Web App.

Android Install PWA Banner

Apple refused to implement this. To be fair even Mozilla refused to implement this but in their case, they provide an install button in the address bar itself, if your App meets the PWA criteria. We are fine if Apple follows the same but they may not. The reason they gave for the popup is that it isn’t an explicit user action. What makes it strange is that if you have a native app you can showcase it via a banner. Safari will show an install banner, which they call as Smart Banner if you add the right meta tags informing your App. Why not let the same thing for a Web App or take the Mozilla route and show a button in the address bar.

Example smart banner

Let’s hope they rectify this situation soon. iOS has the fastest mobile browser, if they fix the handicaps of the web app it will be the best system to use a PWA/Web App.