e-Book reader

Samuel Klein sj at laptop.org
Mon Jul 9 20:17:03 EDT 2007


Moving the discussion devel; this is an interesting thread for other 
people there.  --SJ


On Mon, 9 Jul 2007, Ian Bicking wrote:

> Yoric wrote:
>> On Mon, 2007-07-09 at 12:28 -0500, Ian Bicking wrote:
>>> Hi Yoric.  I like the concept.  A few basic questions:
>>> 
>>> I've installed the extension, but invoking it is a bit confusing.
>>> 
>>> I tried downloading 
>>> http://superb-east.dl.sourceforge.net/sourceforge/openberg/Sganarelle.obz 
>>> but it only works if I first download it locally. 
>> 
>> Hmmm... that's strange. For me, it works directly from that URL. Can you
>> try with the latest release of Lector ?
>
> I downloaded the version linked to from the Lector homepage, version 5, 
> 2007.07.08.  Is that the wrong version?  It still just opens a blank page (it 
> doesn't ask if I want to download, so it must be doing something, I'm just 
> not sure what).
>
>>> There's a noticeable delay before the keys start working, which made me 
>>> think the whole thing was broken at first. 
>> 
>> Actually, the delay is enforced artificially. We need to tweak it a
>> little.
>>
>>>   Also on pages with only a single screen of content (e.g., the title 
>>> page) you have to hit page down twice.  Is there a way to get to an index 
>>> or table of contents?
>> 
>> That's our next feature. We should have this by end of August, with any
>> luck.
>> 
>>> Besides being a bit confused by the UI, I feel like this is generally a 
>>> good direction.  Deployment remains a bit of a mystery to me, but maybe 
>>> not to other people.  Yoric: what do you use to implement this? 
>> 
>> Er... all the ob*.js files depend on XPCom/XPConnect and a number of
>> XPCom components, all of which should be available in Firefox, XulRunner
>> and . The other .js/.xul files depend on Firefox itself but should be
>> relatively easy to replace.
>
> I think those are all fine, the only issue is how to actually deploy the 
> extensions.  That is, .xpi files don't work, but all the underlying pieces 
> are the same.
>
>>> Though maybe that's just an already existing feature whenever you link to 
>>> target="_search"?
>> 
>> Indeed. We might rewrite it to get the notes to appear on the right, but
>> the left-side panel is built-in Mozilla/Firefox.
>> 
>>> On the OLPC currently we aren't using Firefox, and so there's no clear 
>>> extension mechanism.  Which is what makes me wonder how much of an 
>>> extension mechanism do we need to make something like this possible? I'm 
>>> wondering if something like Greasemonkey plus a little extra would be 
>>> sufficient.
>> 
>> Oh, I thought Firefox 2 was included (as per
>> http://wiki.laptop.org/go/Firefox2 , Jim Gettys' previous mail, etc),
>> which sounded coherent with the references to PyXPCom. As for
>> Greasemonkey, afaik, it's a Firefox extension, so I assume you're using
>> something else underneath. What kind of "something else" ?
>
> I might be out of the loop, I'm not sure.  Is it planned to ship Firefox 2? 
> The page just looks like instructions on how to install it.  The Web activity 
> that I'm aware of uses Gecko and PyXPCOM, and I believe has all the other 
> components but a different wrapper.  I guess what Firefox is to Gecko, 
> Web.activity is to Gecko but with a Sugar/OLPC UI.
>
> And for the particular case of book reading, maybe it doesn't need to be an 
> extension at all, because it's something we want on every computer.
>
> For instance, should we just make Page Down scroll to the next page *always*, 
> when a next page is defined?  (You define next page in HTML with <link 
> rel="next" href="next-page">, so that's already well defined)
>
> It seems like there's already lots of preprocessing necessary to get a book 
> into the right format for Lector, so adding a little more preprocessing to 
> define the structure directly in the HTML files might be fine.
>
>>> The library protocol seems a bit odd to me.  I think I understand the 
>>> reasoning, but it opens up a lot of questions.  What happens when two 
>>> resources claim to have the same id?  (Maybe maliciously, or maybe just 
>>> the content is forked and someone forgot to update the id, or maybe they 
>>> can't agree on which is the "real" version.) 
>> 
>> Latest opened/added reference wins.
>>
>>>  If you have a link to library:something, and you've never seen that book 
>>> before, how do you attain the book? 
>> 
>> If there's no reference to the book in the database, an error page shows
>> up, asking the user to please locate the book using File:Open and try
>> again.
>>
>>>  If you want to move or discontinue a book, how can you do that? 
>> 
>> If the reference to the book in the db is obsolete, the same error page
>> shows up.
>>
>>>  E.g., a book is forked under a new id, maintained, and the original isn't 
>>> maintained and goes out of date. 
>> 
>> A book with meta-data can have several IDs. So if your fork keeps being
>> maintained and the original goes out of date, you can hijack the ID of
>> the original and add it to your collection of IDs. 
>>> I'd rather hijack http: for the same thing you are doing, but I get the 
>>> impression creating a new protocol is relatively simple in comparison.
>> Well, this library: is closer to file: than to http:, not to mention
>> that a new protocol makes for a faster and less ambiguous result. 
>> If you have any question/suggestion, I'll be happy to answer. Note that
>> I'll be away from mail for about one week, though.
>
> With library: you are keying books off ids.  http: is just keying books off 
> the URI, which is a string just like the id is a string.  It's okay to just 
> treat it as a string.
>
> This article was influential in my personal desire to use http: for naming 
> things: http://norman.walsh.name/2006/07/25/namesAndAddresses
>
>
> -- 
> Ian Bicking : ianb at colorstudy.com : http://blog.ianbicking.org
>            : Write code, do good : http://topp.openplans.org/careers



More information about the Devel mailing list