**GSoC Idea: ePubKit, an eReader built upon TkHtml3** %|||% &|Areas| HTML Rendering, Web Development |& &|Good if student knows | Tcl, Javascript, C, SQLite |& &|Priority| High |& &|Difficulty| Medium |& &|Benefits to the student| High-quality C/Tcl foundation, High-profile technologies (Javascript, eBooks)|& &|Benefits to Tcl| Maintenance of [TkHtml3], Conflation with emerging eReader technology|& &|Mentor| George Jempty, comp.lang.tcl |& **Project Description** An ebook reader incorporating the [TkHtml3] renderer, via the [Hv3] browser, and the DeskML platform (for devising desktop applications from web technologies). The name 'epubkit' (for which George Jempty has acquired the .com and .net domains) pays homage to the Starkit and TclKit technologies which are the additional pillars besides TkHtml3, and this will not be "just another" ePub reader. Rather epubKit will strive to innovate in a couple of important ways: 1. It will allow any epub file to be wrapped with an entire epub reader and distributed as an .exe (ergo "epubkit": an ebook and ereader wrapped together) 2. It will strive to "disrupt" the epub standard, currently built on [XHTML] 1.1, by supporting [Javascript] widgets within pages. Since epubKit will be built upon DeskML, it will essentially be a web application (albeit an .exe), therefore requiring Javascript, HTML, and CSS, as well as server-side Tcl. There will also be opportunity for contributing to C/Tcl foundation of TkHtml3, written by D. Richard Hipp (of [SQLite]) and Dan Kennedy, as well as the C-based Simple EcmaScript Engine (SEE) Please consider George Jempty's recent track record with "DeskML" (a rough equivalent of Adobe AIR prototyped within the past year or so), as evident from comp.lang.tcl, code.google.com, etc. **References** * http://en.wikipedia.org/wiki/EPUB * http://tkhtml.tcl.tk/ * http://tkhtml.tcl.tk/hv3.html * http://code.google.com/p/deskml/ * http://www.chess.com/download/view/stauntons-footsteps ("ebook" prototype using DeskML that incorporates Javascript "PGN" chess widget) * http://pgnview.edicypages.com/ (Javascript PGN viewer) * http://en.wikipedia.org/wiki/Portable_Game_Notation (PGN: Portable Game Notation) **Comments** The imagination is the only limit as to the applicability of scripting within ePubs, another idea besides chess for instance, being an in-page recipe converter for applying a ratio such as .75 or 2.0 to the quantities called for within cookbooks. **Partial/Tentative "RoadMap"** * Address TkHtml3 min-width issue: http://groups.google.com/group/tkhtml3/browse_thread/thread/38f10bfddc4312ac# * Ensure latest Hv3 change works in Linux: http://tkhtml.tcl.tk/fossil/info/4ee7aaa953 * Investigate Hv3 issue with "illegal characters" in URL (use Hv3 and visit pixeljoint.com) * Suppress Hv3 right-click context menu allowing re-enabling of GUI including location bar which is undesirable in DeskML * Address DeskML issue where title of initial page displays the default "Blank": http://code.google.com/p/deskml/issues/detail?id=5 * Consider "User Guide" as ebook theme: http://www.opendesigns.org/design/user-guide/ * Research existing Javascript-implemented eBook readers: http://blog.threepress.org/2010/02/06/three-javascript-epub-readers/ * Build out the necessary client-side framework including: * Consider setTimeout as "poor man's" DOM/readiness check: http://stackoverflow.com/questions/1381481/is-checking-for-the-readiness-of-the-dom-overkill * A "poor man's" console.log * Check code into (fossil) repository * Devise build system with make