Find Jobs
Hire Freelancers

449755 Enhance Javascript ebook reader Monocle (open-source)

N/A

In Progress
Posted over 13 years ago

N/A

Paid on delivery
Job description --------------- Enhance open source Javascript reader of HTML-based ebooks [Monocle][] to support additional features as seen on [[login to view URL]][] (developers of Monocle, with custom features added) for Webkit-based iPhone app: [Monocle]: [login to view URL] [[login to view URL]]: [login to view URL] - Add touch-scrollable Table of contents when list of chapters is longer than vertical screen size. Monocle already comes with [[login to view URL]]([login to view URL]), 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. [login to view URL]'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 [[login to view URL]]([login to view URL]) 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 [[login to view URL]]([login to view URL]), or cookies, or persistent storage or any trick you provide). All these features are already implemented in [login to view URL]'s enhanced version of Monocle. I.e. This [Monocle sample book][] does not have them, while this [[login to view URL] sample book][] does (and then some others that I do not need). [Monocle sample book]: [login to view URL] [[login to view URL] sample book]: [login to view URL] Plus: - Integrate [[login to view URL]]([login to view URL]), 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]([login to view URL]) 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 <http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariJSRef/_index.html> 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 [login to view URL] 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.
Project ID: 2195638

About the project

Remote project
Active 12 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

About the client

Flag of SPAIN
Barcelona, Spain
5.0
1
Member since Oct 19, 2010

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.