Threepress Consulting blog

Now blogging at Safari Books Online

by Liza Daly

Readers of this blog may want to start following the Safari Books Online tech and publishing blog, where we continue to write about digital publishing, EPUB, HTML5, and other topics of interest to us.

Threepress and Ibis Reader join Safari Books Online

by Liza Daly

I’m thrilled to announce that Safari Books Online has officially acquired Threepress Consulting and Ibis Reader. Keith, Chuck, Jonathan and I are joining Andrew Savikas and his team, with the same goal we’ve always had: to build great digital reading experiences.

Acquisition announcements can often strain credulity when explaining why the merger of company X and company Y makes sense. This one does not require any creative writing. Both companies have a mission to provide high-quality, cross-platform access to books in a model that benefits both readers and publishers. Safari provides us with an unparalleled reserve of content, sales team, marketing savvy, and publisher relationships. We’re bringing our focus on standards, accessibility, interactivity, and emerging technology. And both Keith and I have tremendous respect for Andrew and what he’s brought to digital publishing through his roles at O’Reilly, TOC, and now Safari Books Online.

The services and software that Threepress provides — this blog, the EPUB validator,, and others — will remain available for some time. If they do transition we’ll ensure that it’s smooth and non-disruptive.


When I started Threepress in 2008 I knew next to nothing about running a business. We would have had no success at all without kindness and support from many, many people (some of whom I have still yet to meet in person!) Our sincerest thanks to our clients, friends, and colleagues, most especially Adam, Brady, Brian, Colin, Dan, Elizabeth, Kat, Ned, Peter, Rupert, Tara, and Tom.

Announcement on the Safari blog

Review: The Play (HTML5) by Deirdra Kiai

by Liza Daly

This is the second in a series of reviews of interactive digital fiction. Other reviews: Meanwhile.

The Play

The Play is an interactive short story by Deirdra Kiai developed using the Undum web fiction game engine. It was entered into the 17th Annual Interactive Fiction Competition where it placed third (most of the entries are old-school text adventures).


The story concerns last-minute preparation for a community theater production. All sorts of things are breaking down around you, the director: missing cast members, collapsing set pieces, and unresolved interpersonal conflicts. The story is in the second person, as is common in interactive works. While author is female, and I am female, it took me a little while to realize that the protagonist is also female; I’m used to interactive works being written by and for men. The character’s gender is critical; the story is ultimately about how women succeed or fail when playing a leadership role.


The Play is written as a web application (using HTML5) with a story canvas that expands vertically as choices are unwrapped. The text sometimes can constrict as well, when the user has chosen a direction that can’t be reversed.

Design elements distinguish story narration from description. Text in a white box tells the reader what is currently happening on-stage:

Description of the opening

Choices are represented as hyperlinks. Some of the choices expand the narrative, providing background and context:

Text demonstrating that the game will provide hyperlinks to expand choices

If I click on “James Dough”, the hyperlink disappears and background information is inserted into the narrative.

Text showing the outcome of the previous selection

In other cases, you are presented with an obvious decision tree:

Text offering the player a number of choices

If I choose the last option, the entire block of text with the choices vanishes, and the narration continues as if no other option had been presented:

Text of the result

One thing I like about this approach is that the result is a complete, seamless story. If you scroll back through your play session, you can read it straight through as a traditional narrative.


There are right and wrong choices for you to make; you can end the story with a more or less successful dramatic production. Rather than points or achievements, your “score” is represented by the relative annoyance of the actors in your company:

The user's current score

Very often a choice that makes one of the members happy will fluster or annoy another; learning how to strike the correct balance is rewarding, though it means often not making the “right” choice (which is the point of the story — the player must make a lot of compromises).

Interactive fiction authors measure whether a particular game is “fair,” meaning whether a player can reasonably guess the outcome of a particular choice. A game in which you open a door and are instantly beheaded isn’t fair; it would be more “fair” to be stopped as you approach and notice a gleaming guillotine hanging above the doorframe. Though I read through The Play a number of times I never got to the most successful ending; I’d like the game to be somewhat more forgiving in helping readers navigate to the desirable conclusion, especially since it’s not always obvious whether a particular choice will have a positive or negative outcome. In that sense the story is somewhat unfair, but the consequence of a wrong choice is just having to replay, which only takes a few minutes.

Further reading

jiscPUB report: Digital publishing landscape, exemplars and recommendations

by Liza Daly

I was quite pleased to be asked to write a technical report for JISC. The paper provides background on the state of ebook publishing today, and concludes with a set of recommended projects that aim to improve digital scholarly publishing in the UK. The report is available online as Digital Monograph Technical Landscape: Exemplars and Recommendations under a Creative Commons license. Other formats, including EPUB and PDF, are available from the project blog. Warning, the paper is super-long!

Though I was the principal author of the paper, I’d like to thank the other members of the JISC team for their support, edits, and encouragement: Theo Andrew, Peter Sefton, Emma Tonkin, and David Flanders. Many other deliverables were produced as a part of this project, including digital publishing toolkits and usability studies; please check them out on the jiscPUB blog.

Executive summary

…This report aims to describe some historical perspective on electronic publishing, leading up to why the “ebook revolution” has happened in the 2010s when it had failed to take hold before. We will describe some of the details of how digital books are authored, both in a scholarly context and in general ebook production terms. We have included in-depth coverage of the unexpected outcomes of ebook distribution, including issues of rights, royalties, copyright, academic impact, and the implications of limiting access to and reproduction of digital books. Finally, we review findings from a number of ebook pilot programs conducted in U.S. universities, and draw from the work done by the rest of the “JISCpub” team in uncovering possible future work that could be actionable and relevant to a scholarly publishing audience, with a goal towards providing better tooling for both authors and readers of scholarly works.

Recommendations in brief

  1. Rich full-text semantic search tools for scholarly ebook collections.
  2. Tools for generating or traversing highly-specific stable citations.
  3. Development of a pilot to produce student theses with high-engagement linked-data content.
  4. Plugins or add-ons to provide simple, ebook output for popular word processing tools.
  5. Improved workflows for authoring attractive, accessible, standards-based mathematical notation in ebooks.
  6. Development of an ereading system with an emphasis on scholarly annotation and research-gathering.
  7. Provisions to train and share scholars interested in digital publishing.
  8. Aggregate ebook services for authors and university presses.
  9. Maximize use of orphan works.
  10. Community resources for institutions with digital collection.
  11. Read the complete report.

Review: Meanwhile for iOS, by Jason Shiga & Andrew Plotkin

by Liza Daly

Screenshot of Meanwhile for iOS

Meanwhile is a branched-storyline comic written and illustrated by Jason Shiga, originally published as a printed book. Interactive game developer Andrew Plotkin designed and coded the iOS version, available on the iOS App Store [iTunes link]. While I’ve seen the print edition, my first experience of the story was via the iOS app, as it will be for most readers.


Meanwhile is about a boy named Jimmy who buys some ice cream. Then things get complicated.


The comic is an infinite canvas; the app pans across the storyboard following the branching pathways. There’s a subtle rhythm in how the panels are laid out; sequences which happen quickly or follow naturally are clustered together in a single viewport. Surprise reveals, or shifts in time and place, are often in panels located far from their antecedent; the app reinforces this shift by swiftly panning across the story world. There’s an ever-present tension between this sense of place, and knowing that the canvas itself is too hopelessly tangled to really follow.

Screenshot of Meanwhile for iOS


There was a moment in my first readthrough where I laughed out loud in surprise; the mechanics and the story clicked perfectly. An interactive narrative may begin life as a purely conceptual idea about form (“I’d like to tell a choose-your-own-adventure story as a comic book”). If it’s successful, it will just appear to have been the natural way to tell that story. Interactivity isn’t an add-on or an enhancement — it’s a genre in its own right, not substitutable with another method of expression.

Screenshot of Meanwhile for iOS

Meanwhile is expertly paced — one of the hardest things to control in an interactive work. There’s a gentle opener (certainly a comic book should not need instructions), some set-up with intriguing foreshadowing, and then quickly “goes wide”, providing branch points which clearly lead to a variety of outcomes.

There are even a few puzzles to solve, a feat given the fact that the entire story is plainly visible. Puzzles mean the story isn’t simply about tapping through all the branches until you’ve exhausted the narrative tree. Problem-solving provides narrative drive and consequences for failure; as a reader, I was motivated to succeed. (And discovering the “one path [that] will lead you to happiness and success” was particularly satisfying.)

Tech notes

Requires iOS 4.2+, 28.3MB

Meanwhile is available for iPhone/iPod as well as iPad. I played on my iPhone, which feels more “right” to me than the larger viewport available on the iPad. Unfortunately the artwork is not high-res and looks a little grainy on a Retina screen; I’d love to see an update with new art. There are subtle sound effects which I didn’t notice until a later playthrough; they aren’t necessary for the story and I happen to prefer my interactive works to be silent, so this is purely optional.


The application is also accessible with VoiceOver. Each panel has textual description of the depicted events and dialog, making it fully playable for visually-impaired users. Hooray!

Screenshot of Meanwhile for iOS

Conclusion: Highly recommended and well-worth $4.99 USD.

Caveman: An HTML5 cache manifest validator

by Liza Daly

Over on his own blog, Ned Batchelder has written up his HTML5 appcache validator tool he whipped together while working on Ibis Reader:

The result is Caveman, a Python tool to validate HTML5 cache manifests. It scrapes the HTML page you specify, finding resources, then compares them to the cache manifest and reports problems.

Full blog post and complete documentation on Caveman.

What We Can Do with ‘Books’ – from Book: A Futurist’s Manifesto

by Liza Daly

Book: A Futurist's Manifesto

I was thrilled to be able to contribute a chapter to Book: A Futurist’s Manifesto, a compilation of essays edited by Hugh McGuire and Brian O’Leary. (Incidently, it was great to see how much the text was improved by their editorial work.)

In the essay, I highlight some advantages and affordances unique to digital books. The conversation is too often about the deficiencies of the electronic form, as if parity was the best that ebooks could hope for.

Generally, digital books can’t be lent or resold. You can’t curl up with them and smell them, nor can you pass them on to grandchildren.

Many of these limitations have nothing to do with the intrinsic qualities of a digital book, but are instead a reflection of the difficult transition between an old, established medium and a new, to-date undeveloped one. We compare the physical to the digital and quickly spot the differences: digital’s shortcomings.

Ebooks do not have to be mere simulacra of printed works. What are the unique qualities that being digital, especially born-digital, add to the reading experience? In what way is literature being transformed? What can we do with these new kinds of books?

You can read What We Can Do with ‘Books’ online, or buy the DRM-free EPUB version from O’Reilly.

Bookstream: powered by Ibis Reader

by Liza Daly

We’re very excited by the public launch of the second ereading product based on Ibis Reader technology: Bookstream by Don Johnston Incorporated.

“From all perspectives of our development team (project managers, programmers, testers, etc.) the Threepress team has been fantastic to work with on the Bookstream project. It’s not everyday that a project meets timelines and exceeds all our expectations.”

– Don Johnston Inc.

Don Johnston came to us with their vision of providing highly-accessible etextbooks and reading material to students. A key requirement was that the technology stack had to be both amenable to screen-readers (no Flash) and usable on mobile devices (no Flash!). Our purely web-based reading system was a natural fit.

Transforming the base Ibis Reader product into Bookstream was a highly collaborative process involving multiple development teams and many months. We integrated our reading environment with Don Johnston’s user management system and tools for custom reporting and analytics, and added features to support classroom use. It was great to work with a team so dedicated to accessibility and that is experienced with systems that model the way teachers, administrators, and students actually interact. We’re extremely pleased with the result and happy to welcome Ibis Reader into schools.

For more information on licensing Ibis Reader, see our resources for partners.

HTML5 drag and drop support now in Ibis Reader

by Liza Daly

HTML5 is a wild grab-bag of technologies. One of the lesser-known bits at the bottom of the bag is the drag and drop API. This allows you to physically drag files from your computer into a browser page, and have the browser do something with the file (typically upload it).

If you’re logged in to Ibis Reader from a computer (not the mobile interface), you can now upload one or even many EPUB files at a time just by dragging. Here’s how it looks in Chrome:

Dragging a file into the Ibis Reader window produces a dialog box inviting the user to let go and drop the file

This menu will open up on a “drag” event, meaning that you’ve moved some file from your desktop onto the Ibis Reader window.

When you “drop” the file into that space, a progress bar appears showing the upload time:

Dropping the file will show a progress bar

This uses the HTML5 <progress> element on supported browsers.

When complete, you’ll be taken to your personal library of books and the new book will be at the top.

If there’s an error, you’ll see it on the upload dialog:

Trying to upload a non-EPUB file by dragging will show an error message

Try it with multiple files simultaneously!


This should work in Firefox 5+ and recent versions of Chrome. It doesn’t currently work in Safari 5.x.

For browsers which don’t support drag and drop yet we also improved the normal file upload method (in which you click “Add a Book” to upload by selecting a file from your computer). The “Add a Book” feature now supports multiple file upload, so if you select multiple files from the dialog, it will upload them in succession.

The file upload dialog now supports multiple files

This will work on Safari as well as other browsers which support multi-file upload.

In any scenario, if you upload multiple files and one has an error, the upload process will stop at that file (other files that came before will successfully be added to your library).


Tech details

Safari 5 currently has a bug that prevents the <progress> element from being nested inside of a block-level element like a <div> (This was a WebKit bug whose fix just hasn’t made it into Safari yet.) In Safari you may not see the progress bar because of this.

I would have preferred to let you drop the files anywhere on the site, rather than just in that big box, but Chrome requires that the drop point for file uploads be inside of a <form>. You’ll see the same paradigm if you use Gmail’s drag and drop support for attachments (did you know you could do that?)

Better support for Unicode characters in EPUB validator

by Liza Daly

We’ve fixed a long-standing limitation in the online EPUB validator that prevented files with non-ASCII characters from being validated. (The bug was actually not in our code but at a lower level; I’ve posted a fix that simply works around it.)

If you had problems before receiving “Site error” when uploading an EPUB with accented characters, you should now be able to validate successfully.