Twenty years ago this month, Tim Berners-Lee published his proposal for the World Wide Web. Since then, web browsers and web programming languages have come a long way. A few of us on the Chrome team decided to write an online guide for everyday users who are curious about the basics of how browsers and the web work, and how their evolution has changed the way we work and play online. Called "20 Things I Learned about Browsers and the Web," this online guidebook is illustrated by Christoph Niemann, and built in HTML5, JavaScript and CSS3, with our friends at Fi.
In building an online book app, HTML5, JavaScript and CSS3 gave us the ability to bring to life features that hearken back to what we love about books with the best aspects of the open web: the app works everywhere, and on any device with a modern browser. Here are a few features of the book experience that we’re particularly excited about:
- After the app has been visited once, you can also take the experience with you offline, thanks to the Application Cache API.
- You can resume reading where you had left off as the book remembers your progress using the Local Storage API. We also mark the chapters that have previously been read by folding the top right corner of the page in the navigation.
- The app utilizes the History API to provide a clutter-free URL structure that can be indexed by search engines.
- The HTML5 canvas element is used to enhance the experience with transitions between the hard cover and soft pages of the book. The page flips, including all shadows and highlights, are generated procedurally through JavaScript and drawn on canvas.
- The canvas element is also used to animate some of the illustrations in the book.
- CSS3 features such as web fonts, animations, gradients and shadows are used to enhance the visual appeal of the app.
This illustrated guidebook is best experienced in Chrome or any up-to-date, HTML5-compliant modern browser. We hope you enjoy the read as much as we did creating it, at www.20thingsilearned.com or goo.gl/20things.
Wow, you guys. That's awesome. But: no spiffy page flip on my iPhone?
ReplyDeleteIs this book tech available somewhere under a reusable license or for sale? I am very interested in this sort of presentation.
ReplyDeleteGreat stuff! So goo.gl indeed supports custom urls! :)
ReplyDeleteAwesomesauce.
ReplyDeleteAwesome!
ReplyDeleteWhat is the license behind the book html/js - OpenSource/Apache? Is there a code.google.com project?
Any chance to get my hands on the source code, especially the page flip? My boss got a bit excited about HTML5 :)
ReplyDeleteWow, this is amazing
ReplyDeleteamazing, I love it. Though there are some issues http://qcfailed.tumblr.com/post/1617379916/http-www-20thingsilearned-com-page-curl-issue
ReplyDeleteSimply wonderful!
ReplyDeleteEducators need the capability to do this. Fantastic!
ReplyDeleteReally Great work
ReplyDeleteAwesome article
ReplyDeleteI love this stuff!
ReplyDeletei love my kushi
ReplyDeletei think its gonna come up next week year.. :D
ReplyDeleteVery nice, I went through the whole book.
ReplyDeleteI like Page Flips, Drop Down Ribbon on the left side of the page and Graphics
Good Work.
cheers
Basharat
Google has left the Javascript source unobfusticated – there's learning to be done.[1]
ReplyDeleteThe source contains a minified jQuery library – the Google code starts after the string "A.jQuery=A.$=c;})(window);". Shove that into a beautifier [2] to find out what powers the book. 3500 lines of code!
[1] http://www.20thingsilearned.com/js/twentythings.min.js
[2] http://jsbeautifier.org/
The use of the new HTML5 history API (window.history.pushState) is my favorite part. I hadn't seen that -- shows you how often I use Flickr. :)
ReplyDeleteThis is pretty amazing...
ReplyDelete@Nephron - They already provided the not minified version. just remove the ".min" inhttp://www.20thingsilearned.com/js/twentythings.min.js
ReplyDeleteIs there news for a open Source license (html / js) ?
ReplyDeleteRegards,
Hello,
ReplyDeleteHave you got some news about the license of your work ? Can we you it for a open source project ?
Regards,
Any news regarding the code?
ReplyDeleteIt's very cool. I like to test it.
ReplyDeleteVery nice. I would like to test it.
ReplyDeleteI've studied the engine, and have made some
ReplyDeletemodification to support multiple books management.
I'm concerned about the licence though, since
I wanna use this engine to build my digital books
public project.
Any comments? suggestions?
Any updates on open sourcing it?
ReplyDelete