In Progress

449755 Enhance Javascript ebook reader Monocle (open-source)

Job description


Enhance open source Javascript reader of HTML-based ebooks [Monocle][] to support additional features as seen on [[url removed, login to view]][] (developers of Monocle, with custom features added) for Webkit-based iPhone app:

[Monocle]: [url removed, login to view]

[[url removed, login to view]]: [url removed, login to view]

- Add touch-scrollable Table of contents when list of chapters is longer than vertical screen size.

Monocle already comes with [[url removed, login to view]]([url removed, login to view]), which creates an onscreen tappable widget which brings up a TOC's pop-up. When the TOC is longer than its popup, though, overflowing chapters are not accessible, since the list is only scrollable on a regular browser, not on iPhone/iPad's touch-based Webkit. [url removed, login to view]'s version is scrollable on the iPhone.

- Add bookmarking system, which the reader can use to return to specific reading points at any moment. Bookmarks should be kept after after quit/reopen.

- Add variable font sizing that stays after quit/reopen. Monocle comes with [[url removed, login to view]]([url removed, login to view]) to alternate between two fixed CSS font sizes (100%, 115%). Turn it into controls that make the current font-size "bigger" or "smaller", instead of fixed values.

- Add cover animation based on CSS 3D Transforms (this one is not required but definitely a plus).

- Add state saving so that reading point is restored upon quit/reopen (via Monocle's [[url removed, login to view]]([url removed, login to view]), or cookies, or persistent storage or any trick you provide).

All these features are already implemented in [url removed, login to view]'s enhanced version of Monocle. I.e. This [Monocle sample book][] does not have them, while this [[url removed, login to view] sample book][] does (and then some others that I do not need).

[Monocle sample book]: [url removed, login to view]

[[url removed, login to view] sample book]: [url removed, login to view]


- Integrate [[url removed, login to view]]([url removed, login to view]), which will dinamically re-hyphenate text on change of line length (because of font-size, orientation and screen size). I.e. the hyphenating engine is already implemented, you just need to make Monocle load the script. See Monocle's main developer [hint]([url removed, login to view]) on possible approach.

- Change lateral tap/click behaviour to not slide page to tapped/clicked coordinates while on hold (it causes jerky motion on slower iPhones), while keeping the on-release effect of sliding to next/previous page by touch-based gestures of lateral tapping or sliding to move to next/previous page.

Required skills (do not apply if you do not master them)


- High profiency in Javascript programming.

- Experience implementing DOM Touch events targetting Mobile Safari for iOS (see <> if you think you can learn that up and master it **before** applying).

- Having had a deep look at Monocle's code and see how it works (uncompressed it is barely 100KB).

- Need to have an iPhone or iPod touch or iPad, since even if web-based, those are the intended platforms.

Not required but definitely a plus:

- Experience implementing CSS 3D Transforms targetting Mobile Safari (in order to deck up some transitions between pages, such as that of [url removed, login to view] cover and backcover).

- Experience with web-to-native app frameworks such as PhoneGap, NimbleKit, Appcelerator Titanium or others that will allow to wrap the web project inside an iOS App.

Skills: AJAX, Animation, Anything Goes, CSS, HTML, iPad, iPhone, Javascript, Mobile App Development, PHP

See more: javascript ebook source, javascript ebook reader, web for learn php programming, web developers job description, web developers and app developers required required, web developer php job description, web developer ebook, web developer book, web developer at apple, web css frameworks, web browser developers, vertical screen, tree in order, titanium mobile app developer, script text reader in php, s.a.p. experience, sample look book, safari books, quit job, quit a job, programming javascript, programming in javascript, programming ebooks, programming books, php web developer job description

About the Employer:
( 1 review ) Barcelona, Spain

Project ID: #2195638