Scripted EPUB 3 in 2025

I recently stumbled upon this slide deck by Jim McKeeth from September 2012. It provides an  illustration of how the EPUB 3 platform has (and hasn't) changed in the last decade and I'm here for it.

Hacking iBooks and EPUB with JavaScript by Jim McKeeth

Here's Jim's slide #4. 

I had some strong reactions reading this list, then on further reflection found a couple of connections to work I've made in the last year. 

My 2025 responses in brackets.

  • Provide updated data to go along with book topic ( Write the material and then publish it.)
  • Allow real time collaboration between readers / students ( A book is not an app or website.)
  • Create interactive story books ( Write the story.)
  • Customize story to the reader (✅ Well, ok. See Dynamic Content in EPUB 3)
  • Collect quiz responses ( A book is not an app or a web site.)
  • Interesting animation effects (✅ Informative rather than interesting, but yes. See Vakhtanguri Practice Materials)
  • Add games & bonuses ( It's still a book, it's not a game.)
  • Engage your readers ( With words and ideas - not interactivity.)
  • Track readers ( Hard no.)
  • Gather feedback (❌ Not here. Somewhere else maybe.)
  • Sky's the limit! (Qualified ✅)

The other scripts that have arisen from recent investigations are these;

  • audio-player.js - timecode-based playback of audio clips from Constant Bit Rate (CBR) encoded mp3 files (see also Vakhtanguri Practice Materials)
  • responsive.js - apply a classname to the body element (narrow, wide, full) on changes to font size, to give layout responsiveness based on font size and page width settings (see Simple Script for Responsive Layout
  • animation.js - script that starts playback of lottie animations, or SVG animations on page load (see Animation in EPUB 3

I guess I'd characterize these as scripted elements that improve the reading experience of EPUB 3. Nothing to do with games or quizzes. 

Previous Post
No Comment
Add Comment
comment url