Designing an eBook Reader for Mobile Platforms

Designing an eBook Reader for Mobile Platforms
By Ji Ho Oh

Are there key elements to consider when creating an eReader for mobile devices? What even is an eBook, and how are they formatted? What are the pros and cons of HTML and EPUB, and what are the additional considerations for creating an eReader mobile application? If you’ve ever pondered these technical questions, this one is for you.

An eBook is a book published digitally, but one that cannot be edited. It is also reflowable, meaning any text and images should be formatted and resized to fit on the device on which the eBook is being read. An eBook on a mobile device must be just as readable as it is on a laptop (Wahl, 2018).

Formats

eBooks come in many different file formats, though there are a couple that are the most widely distributed: .azw, .pdf, and .epub. AZW is a file type created by Amazon to only be read by the Amazon Kindle and the Kindle apps. PDFs are a special case; they are not technically eBooks because they are not reflowable. However, because they are so widely used for publishing books, they have become an “unofficial” eBook file format (Wahl, 2018). Electronic Publication (EPUB, for short) is the most popular format and can be read on a wide range of devices. So why is EPUB such a popular file format for eBooks?

EPUB has a couple of advantages that attract book publishers or writers. The first is that EPUBs wrap a digital rights management (DRM) around the container. DRM is a copyright protection which prevents unauthorized redistribution of digital media (The Editors of Encyclopaedia Britannica, 2020). The second is standardization. An EPUB standardizes a multitude of factors such as: the manifest, a data structure that details its resources; the metadata which contains information regarding publication and its components; core formatting such as how media types are displayed as well as the minimum styling required for reflowability; and many more. This means that any existing EPUB readers would be able to read any new books published because they share the same readable format.

However, there are disadvantages to EPUBs as well. Creating an EPUB requires knowledge in XML and XHTML (Ferrara, 2020), a big hurdle for people who are unfamiliar with mark-up languages. Also, EPUB does not support extensibility or modifications—once published, it is incredibly difficult to modify it so that everyone would have the updated copy. EPUBs are technologically limited; their readers are mini browsers without customizable JavaScript support. Conventional web browsers are more powerful and versatile.

Web Books

Instead of having to deal with the different file formats, one can instead create an eBook using HTML, CSS, and JavaScript, just like a website. Though it sounds strange to use the same language used to build websites to create an eBook, EPUBs are essentially an archive that contains a website. When you’re reading an EPUB using a reader, it is converting the website, with all HTML, CSS, images, and other assets, into a book (McCoy, 2018). This allows for skipping the EPUB step altogether, making it easy to use and able to be extended. HTML’s flexibility allows for easier and more advanced features to be added. A website can also be updated, and its changes are reflected in everyone’s browser. A lot more people are familiar with the classic web development set (HTML, CSS, and JavaScript) than with EPUB, making it cheaper to develop.

However, all features, such as making the book reflowable or read-along, must be made from scratch. There would be no DRM system so another system would be needed to prevent unwanted access. Another disadvantage is that HTML books could render differently based on different browsers and browser versions, and on clients who do not have JavaScript enabled. Not all browsers support the same HTML.

Data Management

Once you have chosen which eBook format you are using, decide how your mobile application will store it: online or offline. Storing your books on a centralized web server would mean setting up a client server architecture where only the metadata is stored locally, and all content is fetched from the central server. This means that any updates to content would be automatically pushed to all users and keep them up to date. It would also mean the mobile app will have a much smaller file size.

On the other hand, offline storage is a much quicker and more reliable method of accessing books because it does not rely on the user having internet access. However, file size will be problematic. Our recommendation here depends on the number of books that the client would need to access. If there isn’t an abundance of books, offline storage would be ideal. There could even be the option to download books to the device.

Cross-Platform Tools

Now, the developer would need to decide how they are going to design and build the application: using native methods or cross-platform tools. The native method means applications are developed exclusively for one platform. For iOS apps, this means using XCode and Swift/Objective C. For Android, developers would use Android Studio and Java/Kotlin (Dennis, 2018). On the other hand, using cross-platform tools converts a website into a mobile application for both iOS and Android. This is done by wrapping it into a web view that the device can show.

Native applications have access to features that cross-platform applications do not have. Cross-platform apps have limited access to the API and developers try not to make assumptions about the available features. Some cross-platform tools have plugins that can replicate or force access to these features but there is a risk in using a plugin that someone else has created. Native applications also boast better performance, up-to-date security, and a more familiar design (Klubnikin, 2017). When it comes to the application itself, a native method will be superior to the cross-platform method. So why are cross-platform applications even created?

The advantages of cross-platforms come from their ability to be easily created on both iOS and Android at the same time. It is much easier to create a pseudoapplication using HTML, CSS, and JavaScript which will run on both platforms than it is to create a native application for each, not to mention that it is more cost-effective to hire a single web developer than to hire two separate developers for Android and iOS. This also decreases the time spent in production; an average mobile application takes 4 to 6 months to create (Yarmosh, 2016). If we were to create the mobile application sequentially, it would take almost a year to launch them both without considering the maintenance afterwards.

Overall, take your time to consider the options when creating a mobile eBook reader or even an application in general. When it comes to the eBook side of the matter, the first step is to decide how it’s going to be formatted. While an established eBook format, such as EPUB, will allow for easy standardization and basic copyright protection, the web development kit (HTML, CSS, and JavaScript) will allow for a more flexible eBook. Then, on to storage options, and finally onto the benefits of native approach versus cross-platform tools. Considering of all these factors is key in creating a successful mobile application.

Check out our online reading tools at onestoryaday.ca or find the DC Canada app on your mobile device! Discover our physical books on our website and find your favourites on Amazon as eBooks.

References

  • Dennis, M. (2018, December 21). Native vs. Cross – Platform Apps – You’ll Be the Winner . Retrieved from Zeomag: https://www.zeolearn.com/magazine/nativevs-cross-platform-apps-youll-be-the-winner
  • Ferrara, D. (2020, February 24). The Pros and Cons for E – Publi shing: EPUB vs. PDF . Retrieved from Lifewire: https://www.lifewire.com/epub-vs-pdf-3467286
  • Gardiner, Eileen, & Musto, R. G. (2010). The Electronic Book. In M. F. Suarez, & H. R. Woudhuysen, The Oxford Companion to the Book (p. 164). Oxford: Oxford University Press.
  • Klubnikin, A. (2017, May 24). Cross – platform vs Native Mobile App Development: Choosing the Right Development Tools for Your Project . Retrieved from Medium: https://medium.com/all-technology-feeds/cross-platform-vs-nativemobile-app-development-choosing-the-right-dev-tools-for-your-app-project47d0abafee81
  • McCoy, B. (2018, April 18). Understanding EPUB 3 . Retrieved from ePub Zone: http://www.epubzone.org/epub-3-overview/understanding-epub-3/
  • The Editors of Encyclopaedia Britannica. (2020, January 24). Digital rights management . Retrieved from Encyclopædia Britannica: https://www.britannica.com/topic/digital-rights-management
  • Wahl, J. (2018, July 19). What is an eBook? Understanding Why They Work and How to Make Your Own . Retrieved from Learning Hub: https://learn.g2.com/what-is-an-ebook
  • Yarmosh, K. (2016, January 6). How Long Does it Take to Make an App? Retrieved from Savvy Apps: https://savvyapps.com/blog/how-long-does-it-take-to-makean-app