Hi, On Tue, Jul 14, 2009 at 7:44 PM, Benjamin M. Schwartz<[email protected]> wrote: > Sayamindu Dasgupta wrote: >> This mail is a request/proposal to add webkitgtk as an external >> dependency for either Sugar or Read > > I object strongly either way. > > The last thing Sugar needs is a hard dependency on _both_ major browser > engines. Moreover, it's entirely unnecessary in this case. ePub is a > simple XML format. You can convert it to HTML (or PDF or ...) using > Calibre [1],
Calbre is QT based, and uses QTWebkit for rendering. > or view it directly through gecko using an extension like > OpenBerg Lector [2]. It might even be possible to view it using hulahop > without any fancy extensions, just by adding an appropriate stylesheet. > OpenBerg Lector works only for version 2.x of Firefox, and the last release happened two years back. I'm not sure if anyone is maintaining or not. I initially tried out whatever I wanted to do with Gecko, however, it looks like performance can be degraded quite a bit with larger books. To ensure proper pagination (the current form of Read depends on the document being properly and consistently broken up into pages), I need to pre-render the entire book beforehands to get an idea of the dimensions (under a predefined set of graphics settings, so that the dimensions come out in a device/screen independent manner). However, with large books like War and Peace (which consists of more than 350 XHTML files), the basic pre-rendering code takes around 18 seconds with Gecko (using Hulahop) and around 2 seconds with Webkit. This is on my desktop machine - I did not try the comparison on an XO-1. All the pages are quite simple, with no images, and minimalistic formatting. There are other methods to do "pagination", but I did not find any of them to be suitable. For example, AFAIK, Calibre uses character count. This will lead to very short pages for for books with images, equations and non-latin text like Indic or Arabic. I believe Stanza (a very popular iPhone application for reading Epubs) uses the concept of viewport as a page (I maybe wrong here - since I haven't used Stanza myself). Adobe's Digital Edition (which runs on Windows and OS X and the Sony PRS series of Ebook Reader) probably does similar to what my code does, or maybe something even fancier - but the pagecount for Read and Digital Editions is quite close for all the books I have tried. It is believed that Digital Edition also uses WebKit. WebkitGTK seems to fast gaining acceptance among application developers, and I don't think there are serious distro packaging issues to be addressed here. There is talk about WebkitGTK becoming a blessed external dependency for GNOME for the next major release (2.28). Already, Devhelp and Gwibber are two oft-used applications which are using webkitgtk, and Epiphany (the GNOME browser) will switch to it for its next major release. The Moblin folks are also using Webkit in their email client (Anjal) - though they are sticking to Gecko for their browser. I agree that there is a duplication of functionality here, but apart from an extra space requirement of around 15 MB, I do not see any harm being done :-). Thanks, Sayamindu -- Sayamindu Dasgupta [http://sayamindu.randomink.org/ramblings] _______________________________________________ Sugar-devel mailing list [email protected] http://lists.sugarlabs.org/listinfo/sugar-devel

