joseph / Monocle

A silky, tactile browser-based ebook JavaScript library.
http://monocle.inventivelabs.com.au
MIT License
743 stars 200 forks source link

Roadmap: 2.2 release #55

Closed joseph closed 12 years ago

joseph commented 12 years ago

The 2.2 release of Monocle is due any day now. My work is taking place in the 'ios5-unstable' branch on Github.

Goals:

Questions and feedback much appreciated.

joseph commented 12 years ago

Carbon-copying some of you folks with active forks: @aronwoost @monospaced @timdream @jprudent @phuphighter @rchampourlier

rchampourlier commented 12 years ago

Thanks a lot Joseph for the cc! I look forward into testing this new release and giving you some feedback. Hope to have some time soon!

aronwoost commented 12 years ago
quangvu3 commented 12 years ago

I've tried this version, it looks good in iOS5. One problem: the first page was reloaded 3 times, every new component was loaded 2 times according to server log:

[I 110916 13:50:29 web:1313] 200 GET /e11ccab56a27b4064cad1a44bf55d0f9/welcome.html (127.0.0.1) 0.56ms [I 110916 13:50:29 web:1313] 304 GET /e11ccab56a27b4064cad1a44bf55d0f9/welcome.html (127.0.0.1) 0.40ms [I 110916 13:50:30 web:1313] 304 GET /e11ccab56a27b4064cad1a44bf55d0f9/welcome.html (127.0.0.1) 0.40ms [I 110916 13:50:30 web:1313] 200 GET /e11ccab56a27b4064cad1a44bf55d0f9/toc.html (127.0.0.1) 0.57ms [I 110916 13:50:32 web:1313] 304 GET /e11ccab56a27b4064cad1a44bf55d0f9/toc.html (127.0.0.1) 0.46ms [I 110916 13:50:32 web:1313] 200 GET /e11ccab56a27b4064cad1a44bf55d0f9/1.html (127.0.0.1) 3.47ms [I 110916 13:50:33 web:1313] 304 GET /e11ccab56a27b4064cad1a44bf55d0f9/1.html (127.0.0.1) 0.84ms Did I do sth wrong?

joseph commented 12 years ago

I'm not sure why the first component would load 3 times, but if you're using the slider flipper, you can expect 2 requests of each component. The slider flipper is implemented as two separate iframes stacked on top of each other — each iframe needs to load the content separately.

I must admit I don't see these dupes in my server log for iOS5 devices though, presumably because they're caching locally.

quangvu3 commented 12 years ago

So, it appears normal behavior to load the same content multiple times. Though all are cached and responses are great on my server it would be still a concern in production under high load, I think.

joseph commented 12 years ago

In that case, you can tweak your book data object to cache the response. You'll see examples in several tests of 'getViaAjax' methods in the book data object — these do exactly that. If your getComponent is just returning urls, then browser behaviour is to contact the server each time it loads one.

joseph commented 12 years ago

The ios5-unstable branch is now at least as stable as the master branch, and all of the above bullets have been addressed. I'm planning to fold this branch into master tomorrow, and tag and release it as version 2.2.

So speak now or... file an issue later, I guess. :)

joseph commented 12 years ago

All these changes are now merged into master and tagged v2.2.0. The release is also available from the downloads page. Onwards to 3.0!