Introducing the Open Library and the AJAX Flipbook Viewer
Last night at the Internet Archive we released what we have been working on lately, an Open Library. It's an initiative to scan all of the world's books, starting with public domain ones. The Internet Archive team has created an entire pipeline and process to affordably scan books at ten cents a page, involving book scanning machines, workflow software to transform book images into text and high quality images, algorithms to correct page quality, systems to be able to store the petabytes of information for all these books, and finally a web-based AJAX system to view and fully search these books. I was brought on the last three weeks to finish the web-based AJAX book viewer, known as the Flipbook, before last night's launch. Huge amounts of work on the Flipbook viewer were also done by Jesse Crossen and Kevin Webb, including server-side work by Ralf Muehlen and Tracey Jaquith. Graphic design was done by the awesome Ronna Tanenbaum.
The Flipbook viewer is a full, web-based AJAX viewer for digital books, real books that were scanned using the Internet Archive's scanning machines. Jesse Crossen created an amazing page turning effect as you are reading the book. We've also added unique searching features; enter the word "history" in the book above, for example, and the Flipbook viewer queries the server in the background, which uses Optical Character Recognition information to find matches and the coordinates of every page in the book, and which returns the results to the client. The client then uses this information to highlight in place every matching word, positioning a transparent rectangle over all matching words. These are the kinds of cool things you can start doing when you bring books into the digital realm.
The main Open Library page, where we have fifteen scanned books on launch:
A screenshot viewing the International Episode using the Flipbook viewer, needing no plugins:
The Flipbook viewer after a search; notice the little yellow tabs where you can jump to search hits. If you hover over them, you will see the search result shown in place with other contextual words:
The Flipbook also has print on demand features, audio narration, keyboard navigation, full metadata in balloon popups that appear, and more. It's the beginnings of an AJAXian Dynabook.
The Flipbook viewer is a full, web-based AJAX viewer for digital books, real books that were scanned using the Internet Archive's scanning machines. Jesse Crossen created an amazing page turning effect as you are reading the book. We've also added unique searching features; enter the word "history" in the book above, for example, and the Flipbook viewer queries the server in the background, which uses Optical Character Recognition information to find matches and the coordinates of every page in the book, and which returns the results to the client. The client then uses this information to highlight in place every matching word, positioning a transparent rectangle over all matching words. These are the kinds of cool things you can start doing when you bring books into the digital realm.
The main Open Library page, where we have fifteen scanned books on launch:
A screenshot viewing the International Episode using the Flipbook viewer, needing no plugins:
The Flipbook viewer after a search; notice the little yellow tabs where you can jump to search hits. If you hover over them, you will see the search result shown in place with other contextual words:
The Flipbook also has print on demand features, audio narration, keyboard navigation, full metadata in balloon popups that appear, and more. It's the beginnings of an AJAXian Dynabook.
Comments
A current page number indicator would be useful as would total number of pages too somewhere. I know the thickness changes, its just not enough to show me where I am. The ability to jump to a certain number leaf is desireable should I want to return to reading at a certain point in the future too.
Also, if you click through and try skipping parts quickly it takes a lot of time to catch up.
Thanks
Krzysztof: We have OCRed data on the server side (that is how the search works). However, we don't expose it to the user yet. You're right that the Flipbook viewer is impossible for small devices, and that text would be better.
Craig: Lots of good ideas; thanks.
Tien: The plan is for this to be open source software under the GPL.
Thanks for such a quick response :)
One more question = when ? do you have a date in mind?
PS: btw, came to your blog via the ajax back button article. where were u 2 months ago :D
Thanks for the nice comments on the Really Simple History framework; did you have a project a few months ago that needed that functionality?
:) i ended up using the Mike Stenhouse's solution but I thought it's not as elegant and flexible as this (Mike's site I came to b/c of the CSS framework, who I found via reading Matt Raible's blog, who I found ... (i can really go on and on) :) really cool how this net thing works !
Anyway, have a nice day Brad :)
I'd start at the index page, adding a text entry somewhere in the page that (instantly!) lists which title is being hovered by the mouse in some large, readable font.
The image title attributes are a good start, but I know of no browser that shows them right away, and they are still better suited for adding a caption that further clarifies image content than carrying the primary means of identification, as here.
(I do realize this particular index is hardly meant to be useful, easily scanned for information or so -- but it would still measurably improve the impression of quality.)
Do the pictures were shown dynamically from the database?
Do you use the php web server and mysql database on the server side?
I also want to develop a web site like the Open Library.
I want to know some details about this effect with ajax.
Right now I have no direction :(
thanks a lot :)
Do the pictures were shown dynamically from the database?
Do you use the php web server and mysql database on the server side?
I also want to develop a web site like the Open Library.
I want to know some details about this effect with ajax.
Right now I have no direction :(
thanks a lot :)