An Intentional (?) Bug In Apple Safari

To read eBooks offline (without internet connection), the Web APP is superior to traditional APPs. Unfortunately, there is substantial evidence indicating that Apple discourages the development of Web APP. One developer commmented, "I wanted to quickly share my feelings on this as Apple has consistently made my life as a developer unnecessarily complicated, frustrating, and dejecting." Another also complained, "It's very sad to see the direction Apple is heading with the Web; making it harder and harder for Web APPs to run." (reference). I totally agree with them as Apple's Safari does not implement an important feature in HTML5 standard for offline reading.

For a Web APP (e.g., BSON Books Viewer) to work offline, the book contents must be stored in a local database known as "indexedDB". The most convenient data type in the database is called "blob". Currently, all major browsers support blob in indexedDB, except Apple's Safari on mobile devices (reference). The Safari on some versions of iOS 13 did implement this feature, but possibly for monetary reason, blob support was removed in the Safari on iOS 14. Without this feature, the BSON Books Viewer cannot read eBooks offline. Although there is a way to work around this problem, it would be "unnecessarily complicated" and will compromise performance.

From the monetary point of view, it is easy to understand why Apple does not like Web APPs. By selling traditional APPs, Apple can make money from their APP Store. In the case of eBook APPs, Apple can get 30 percent cut from the sale of eBooks. To avoid the extra cost, Kobo and Barnes & Noble attempted to develop a Web APP for reading the popular EPUB format in 2012, but the project was abandoned in 2016 (reference). Recently, Kobo and Spotify have filed complaint to the European Commission, alleging that Apple's commission rate is anti-competitive and stifle innovation at the expense of the user experience (reference).

Would Steve Jobs hamper Web APPs to make more money from the APP Store? Probably not. In 2007, he said (reference):

The full Safari engine is inside of iPhone. And so, you can write amazing Web 2.0 and Ajax apps that look exactly and behave exactly like apps on the iPhone. And these apps can integrate perfectly with iPhone services. They can make a call, they can send an email, they can look up a location on Google Maps.

And .... they can read ebooks offline!


Author: Frank Lee

Last updated: April 2, 2021