|An Intentional "Bug" In Apple Safari|
To read eBooks offline (without internet connection), the Web APP is superior to traditional APPs. Unfortunately, Apple seems to discourage the development of Web APP. They refuse to implement an important feature in HTML5 standard for offline reading. The reason, in my view, is simply to make more money, at the expense of user convenience.
By using traditional APPs, Appple can get 30 percent cut from the sale of eBooks via their APP store. In order 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).
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, but it will increase the burden of developers and compromise performance. I am not planning to write a computer program exclusively for Apple's Safari. There are other excellent browsers on iphones such as Google's Chrome, Firefox and Microsoft's Edge, which all support blob in indexedDB. A few years ago, the Microsoft's Internet Explorer (IE) did not follow the standard when it dominated the browser world. Developers had to write different codes exclusively for IE. Thanks God, IE has become obsolete, and the new browser, Edge, abides by the standard faithfully.
Author: Frank Lee
Last updated: January 18, 2021
(2021-01-28) Facebook reportedly considers hitting Apple with antitrust suit.