Three JavaScript ePub Readers
by Keith Fahlgren
The last few weeks have seen a tremendous increase in interest about ePub. Many new blog posts have been written trying to explain the format. We’ve also seen a big jump in the number of publishers coming to Threepress for help with tricky ePub problems or just asking for guidance about the format. While I’d like to pretend that the growth is due, in part, to a long-anticipated awareness about the benefits of open standards among consumers, publishers, and suppliers, I think it’s more likely that it was Steve Jobs’ explicit mention of ePub support in iBooks on the iPad that drove most of the excitement. What makes me most excited about this groundswell is the sudden interest in ePub from a number of clever developers.
Just in the last few days, details emerged of two new JavaScript ePub readers, rePublish from Blaine Cook (@blaine) and JSEpub (screenshot) from August Lilleaas (@augustl). These two new readers join @liza’s epubjs, which will be a year old on Tuesday. An improved version of epubjs powers the ePub Zen Garden, which helps “dispel the myth that digital books can’t also be crafted works of visual design.”
Why are JavaScript ePub readers interesting? They’re interesting to me for three reasons:
- JavaScript is the most popular programming language in the world and it might be the best way to get more developers interested in creating and tweaking ePub readers.
- JavaScript ePub readers start challenging publishers, developers, and book readers to start thinking about what’s most important in delivering a compelling reading experience in a browser. We’ve spent a lot of time thinking about these choices while developing Ibis Reader, which will launch later this month, so I’m eager to see more opinions.
- Building a pure-JavaScript ePub reader requires unzipping in JavaScript, which had no open source implementations until just recently. August has written about and open sourced his critical breakthrough for unzipping files in JavaScript. [Edit: Oops! I was wrong about this one. See the comments for more details.]
Colin Hazlehurst has also published some impressive introductions, tutorials, and code for the .NET/C# crowd at his InsideEpub project and on his blog.
Do you know of other techies making waves with ePub? Please let us know!
(And if you’re one of those publishers who is looking for help, contact us.)
Comments
Maybe I’m wrong about the unzipping in JavaScript bit, as I just found this with the comment
* LastModified: Dec 25 1999(!): http://www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txtI just got an email reminding me that BookGlutton’s unbound reader is another JavaScript-based ePub reader (not open source, unlike the above).
JSUnzip has been written by yours truly from scratch. JSUnzip does not uncompress files, though. JSInflate can inflate the most common Zip compression format, deflate, and is based on (read: copied from) the inflate lib you’re linking to (http://www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txt). Just FYI ;)
keith said:
> start challenging publishers, developers, and book readers
> to start thinking about what’s most important in
> delivering a compelling reading experience in a browser
hey guys, i’m glad you got around to “start” thinking about this.
here’s something i wrote up on that very subject, back in 2004:
> http://onlinebooks.library.upenn.edu/webbin/bparchive?year=2004&post=2004-01-08,3
might wanna take a look at that, see how your apps stack up…
-bowerbird
Here’s another approach to the epub, not quite javascript originated but might be interesting to the reader:
http://www.lovelyreader.com
It reflows contents into multiple short columns no matter how large the text is zoomed in or out, which makes it much easier on the eyes when reading long paragraph on the screen.
Vic.
Founder, lovelyreader.com
still haven’t decided whether i like air or not,
but lovelyreader certainly has a lot going for it.
at the same time, there’s a bug in there that
runstogether words, presumably at line-end
where the linebreak was a stand-in for a space.
given that so much attention must have been
paid to those other details, it’s curious how
something this basic and fundamental to the
process of _reading_ has been overlooked…
in a similar vein, republish puts odd pages
(recto) on the _left_ side of the page-spread
and even pages on the _right_. how can one
miss something so deeply embedded into the
bedrock of the way that books look? i wonder.
at any rate, lovelyreader looks like one to watch,
and best wishes to republish and the other apps
that are being written out there at this time…
-bowerbird
[...] Three JavaScript ePub Readers : Threepress Consulting blog – Why Javascript epub readers are important, from @abdelazer: #ebooks [...]
[...] Consulting blog (Three JavaScript ePub Readers) сообщает о наличии ТРЁХ программ чтения е-книг в [...]
[...] Threepress Consulting discusses several new JavaScript Epub readers. Why JavaScript? * JavaScript is the most popular programming language in the world and it might be the best way to get more developers interested in creating and tweaking ePub readers. [...]
[...] Three JavaScript ePub Readers : Threepress Consulting blog Share and [...]
[...] eBooks have gone mainstream, and right now the open ePub format is getting a lot of attention, being the iPad’s book format of choice. Often overlooked in gadget-centric media is the fact that ePub is based on web standards, and therefore amenable to being rendered in the browser, sans plugins. Pure Javascript ePub readers are starting to crop up, and Keith Fahlgren has written about several of them: [...]
about JS and zipping : you mean it’s possible to zip/unzip stuff from JS ? From the browser or only server-side ?
if I want to pack several images present in the DOM, is it possible or is it just with texts ?
@jpvincent August’s work on described above is for inflating the contents of ZIPs. You may want to look at Masanao Izumo’s other work.
As a newcomer to your site and motivated originally, as you correctly surmise, by the support for the ePub format in the Apple iPad, I am impressed by the work and credentials for Threpress in this field. However, one forms impressions based on many factors; and unnecessarily gratuitous, probably misleading and largely irrelevant statements do little to enhance a reputation.
I refer to your statement that “JavaScript is the most popular programming language in the world”. There are at least three points to make about this. This is an interesting, but largely irrelevant issue. The destination that it links to is of little help. Is there any evidence that is it true?
Firstly, it is not made clear why it is important that “the most popular programming language in the world” should be used. Surely the most important criterion is whether it is the best choice of programming language for the required purpose? This assessment might be based on a combination of its: suitability for the task; availability in the environments (development and deployment) of interest; and, yes, popularity. In this case, please note, I am not questioning that JavaScript is your choice or the best choice of language for this purpose.
Secondly, the destination of the link states that “JavaScript has become the World’s Most Popular Programming Language”, but provides no evidence for that.
Thirdly, a well regarded guide to the popularity of programming languages ,”The TIOBE Programming Community index” (See: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html), which claims that it “gives an indication of the popularity of programming languages” currently (2010.02.17) has JavaScript in tenth place.
Maybe you are confusing this claim for JavaScript with one for Java which the TIOBE index currently rates in first place and more than six times more popular that JavaScript? But I doubt it.
Why make such a statement?
Keep up the good work!
John
With JavaScript ePub readers , we can easy to know about JS. It’s helpful.
about the unzipping in JavaScript ?
[...] Amazing JavaScript Who knew there were three JavaScript-based ePub readers out there? What’s more, you can use JavaScript to unzip files. [...]
[...] hacked together an experimental epub in minutes. I’ve been playing with epub files since. I found three javascript files that allow readers to view my epub file on the web (work in Firefox not IE). Quick to start, these [...]
Hello, do you mind if I use some of your content on http://www.basicwebdesign.co.cc ? The credit stays with you along with a link back to your site! Thanks