The development of #jsonbook


What you are seeing in this video is a paragraph being clicked and an editable space for user comments on that chapter opening. If a citation is clicked then a list of references cited in the paragraph opens, if a note referent is clicked the notes referred to in the paragraph open.

All of this is dynamic and doesn't require additional markup to the XML. Citations are auto-detected by their text format - (author, date: pages) - and notes will similarly be identified (in the final versions of the code) using a combination of regular expressions and walking through XML nodes with PHP and/or JavaScript.

It is still in the early stages of development (mainly in PHP/jQuery, iOS will be second), but there is steady progress being made with the json-book project, more details of which you can find on GitHub - be sure to also read the Wiki.

The implementation isn't set in stone, it's an example of one possible way of parsing the JSON, and is an organic first-pass at finding an interface approach that will serve mouse and touch input in an uncluttered way without too many menus or clicks to arrive at where the user needs to be.

Visual elements are functional at present but will be styled more closely as time goes on.

How does this interface differ from something like iBooks?

  • In place user comments mean that multiple comments can be seen at a time, just like a real book with margin notes, you don't need to close one to open another as you do in iBooks
  • EPUB 3 books in iBooks can now have popover notes but you see one at a time and often you need to cross refer to notes, so being able to see multiple notes from multiple paragraphs saves time
  • References in iBooks do not link dynamically to citations, so you need to consult the full list of references to find which corresponds to each citation. But parsers for json-book can pair references with citations in paragraphs and display them in place.
Thanks for taking the time to read this through, here's another video. This time tweeting in-place comments:

 

Endorse  on Coderwall

Comments