Re: [IAEP] The Children's Library On OLPC project

2009-07-25 Thread Albert Cahalan
Jim Simmons writes:

 A Journal entry consists of a file plus metadata.  There is no real
 advantage in NOT storing the book in the Journal.  You can convert
 whatever book format you're reading into a zipped archive of same on
 reading it for the first time then mark the Journal entry with Read's
 activity id.  This would give the Journal entry Read's icon and make
 it resumable by Read.  I do something like this with Read Etexts when
 it reads a plain text file.  I'm not trying to save disk space in this
 case; I need to add a pickle file to the archive to store annotations,
 so I create a new Zip file and store the text and the pickle in it.

This encapsulation makes it more difficult for people to share
books with non-Sugar users. If a Sugar user provides a PDF to a
Windows user, Adobe Acrobat should recognize it. Likewise for
sharing with MacOS X and GNOME users.

Putting a bit of non-critical metadata on a file is not a reason
to be changing the file format. Normally an xattr would be used to
store this data. (hopefully the Journal is xattr compatible)

 The XO does not have enough disk space to hold hundreds of books as
 PDFs.  Plain text files would work, but kids like pictures and I don't
 blame them.  As I see it, the child should choose what books go on his
 computer for himself, and delete books when he has lost interest in
 them.

This all depends greatly on the PDF generation tool.
Most are not focused on producing small files.

Text should be stored as text. It should not have fancy kerning,
because this causes bloat from constantly specifying coordinates.
It should use a standard PDF font. The font should not be embedded.

The PDF should be compressed. (not just the images)

Images should be stored as JPEG with an appropriate compression
level. Computer-generated line art should be in vector format.

A recent PDF standard revision should be used.
___
IAEP -- It's An Education Project (not a laptop project!)
IAEP@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/iaep


Re: [IAEP] The Children's Library On OLPC project

2009-07-25 Thread Aleksey Lim
On Sat, Jul 25, 2009 at 04:37:07AM -0400, Albert Cahalan wrote:
 Jim Simmons writes:
 
  A Journal entry consists of a file plus metadata.  There is no real
  advantage in NOT storing the book in the Journal.  You can convert
  whatever book format you're reading into a zipped archive of same on
  reading it for the first time then mark the Journal entry with Read's
  activity id.  This would give the Journal entry Read's icon and make
  it resumable by Read.  I do something like this with Read Etexts when
  it reads a plain text file.  I'm not trying to save disk space in this
  case; I need to add a pickle file to the archive to store annotations,
  so I create a new Zip file and store the text and the pickle in it.
 
 This encapsulation makes it more difficult for people to share
 books with non-Sugar users. If a Sugar user provides a PDF to a
 Windows user, Adobe Acrobat should recognize it. Likewise for
 sharing with MacOS X and GNOME users.
 
 Putting a bit of non-critical metadata on a file is not a reason
 to be changing the file format. Normally an xattr would be used to
 store this data. (hopefully the Journal is xattr compatible)

But what about preview metadata field..

The current approach which was chosen in[1] is using object bundle if
we want to preserve sugar metadata and use raw files otherwise[2].
So, to library.sugarlabs.org[3] Browse will upload object bundles.
Moreover library.sl.o server could return .xo files if web client is
Browse and plain Journal entries otherwise(for non-sugar users).

[1] http://wiki.sugarlabs.org/go/Features/Object_Bundles
[2] http://wiki.sugarlabs.org/go/Features/Object_Bundles#User_Experience
[3] http://wiki.sugarlabs.org/go/Features/Server_Objects_Sharing

-- 
Aleksey
___
IAEP -- It's An Education Project (not a laptop project!)
IAEP@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/iaep


Re: [IAEP] The Children's Library On OLPC project

2009-07-24 Thread Tomeu Vizoso
On Fri, Jul 24, 2009 at 01:55, Samuel Kleinmeta...@gmail.com wrote:
 Hello,

 I imagine a final use case in which children do have hundreds of books on
 their XO, not two or three; they are stored compressed, and uncompressed for
 reading; and the Journal stores the record of reading a book, but not the
 uncompressed book itself.

What I would like to see one day is all the $HOME contents exposed in
the object view, with or without hierarchical view. The actions
related with books would be exposed in the actions view: reading,
sharing, etc.

 When a stick or local library with thousands or tens of thousands of books
 is available, it could be searched; a collection of books to be copied to
 your XO identified and named; and this collection added to your XO (with the
 name you just gave your collection added as a tag).

 If the Journal could implement Calibre-style views, I don't see why it
 couldn't function as a library organizer.

Aleksey has done work in this direction and I expect it to land in the
Journal during the 0.88 timeframe.

Regards,

Tomeu

 SJ

 On Mon, Jul 20, 2009 at 4:07 PM, Jim Simmons nices...@gmail.com wrote:

 Scotty,

 I've been thinking about your project and have some ideas.  These may
 be similar to what Sayamindu has already proposed.

 You want to distribute a couple of thousand books from Internet
 Archive without using the Internet.

 As I have said before having over a thousand files on a USB drive
 isn't going to work.  The Journal isn't equipped to deal with that.
 You had mentioned (I think) the idea of creating content bundles for
 this stuff, but content bundles as they exist now aren't going to work
 either.  With a content bundle the entire contents of the bundle get
 unpacked and stored somewhere, and on the XO there isn't room for
 anything that isn't going to be used.  You don't want to install 818
 books about conduct of life on a kid's laptop.  You want to give him
 something that will let him browse through all of those books and pick
 one or two to install in his Journal.

 One way to make these files manageable would be to collect them by
 theme or topic and put the collected books in zip files.  The zip
 files would contain the books themselves, the GIF files showing book
 covers, and one file containing information about the books, possibly
 in the Dublin Core format, more likely in some subset thereof.  In the
 Internet Archive database there are a lot of fields that would be
 useful if filled in, but more often than not are not.

 If you had these collections prepared you could write an Activity to
 browse their contents (using the Dublin Core file and the images).
 The student would insert a thumb drive containing one or more of these
 collections into his XO and fire up an Activity that would read the
 Dublin file and create a scrolling list of the titles, including cover
 images, title, author, etc.  The student could sort this list by
 title, author, etc. then select a book he wants and create an entry
 for it in the Journal.  You could prepare sticks which had the
 collections on them as well as this Activity.  That way everything
 could be done through sneakernet.

 The Activity would be a lot like Get Internet Archive Books except it
 would work offline and would show the book covers.

 James Simmons

 On Sat, Jul 18, 2009 at 5:39 PM, scotty...@gmail.com wrote:
  Jim,
  I see all your points and they are good ones. I'm not sure if there's a
  target country at this point, but I think we got our list from OLPC.
  Not
  even positive about that. It's posted on our blog site,
  http://sixes.net/rdc2009/iacl-collection-for-xo. I'm pretty sure it's
  all
  English. It's a good idea to distribute a preconfigured server boot to
  linux
  CD and relatively easy. We should definately try to do that for
  US/Developed
  countries. Yes, PCs that could do this are in landfills, and using a
  system
  like this is a no brainer in any american or english classroom, probably
  in
  most developed countries there's at least an old pc w/ a network card
  laying
  about. However, my idea of using an XO was not to make it a permanent
  server. I just thought the teacher would have one most likely and that
  one
  could be configured to temporarily serve the library, then reboot back
  to
  sugar for other purposes when done. Probably a bad idea, but then again
  some
  of the OLPC folks have already looked into it at least somewhat - see
  http://wiki.laptop.org/go/XS-on-XO. Beauty of this is even in the bush
  our
  solution might still work.
  Scotty Auble
 ___
 IAEP -- It's An Education Project (not a laptop project!)
 IAEP@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/iaep


 ___
 IAEP -- It's An Education Project (not a laptop project!)
 IAEP@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/iaep

___
IAEP -- It's 

Re: [IAEP] The Children's Library On OLPC project

2009-07-24 Thread Jim Simmons
Sam,

Aleksey Lim's Library Activity supports organizing books that are
stored in the Journal.  It is supposed to eventually work on .82 but
for now only works on .84.  I tried it and it does what Calibre does
and more.  If you need an organized Journal you can use Library, and
the Journal function proper can be left alone.

A Journal entry consists of a file plus metadata.  There is no real
advantage in NOT storing the book in the Journal.  You can convert
whatever book format you're reading into a zipped archive of same on
reading it for the first time then mark the Journal entry with Read's
activity id.  This would give the Journal entry Read's icon and make
it resumable by Read.  I do something like this with Read Etexts when
it reads a plain text file.  I'm not trying to save disk space in this
case; I need to add a pickle file to the archive to store annotations,
so I create a new Zip file and store the text and the pickle in it.

The XO does not have enough disk space to hold hundreds of books as
PDFs.  Plain text files would work, but kids like pictures and I don't
blame them.  As I see it, the child should choose what books go on his
computer for himself, and delete books when he has lost interest in
them.

James Simmons


On Thu, Jul 23, 2009 at 6:55 PM, Samuel Kleinmeta...@gmail.com wrote:
 Hello,

 I imagine a final use case in which children do have hundreds of books on
 their XO, not two or three; they are stored compressed, and uncompressed for
 reading; and the Journal stores the record of reading a book, but not the
 uncompressed book itself.

 When a stick or local library with thousands or tens of thousands of books
 is available, it could be searched; a collection of books to be copied to
 your XO identified and named; and this collection added to your XO (with the
 name you just gave your collection added as a tag).

 If the Journal could implement Calibre-style views, I don't see why it
 couldn't function as a library organizer.

 SJ
___
IAEP -- It's An Education Project (not a laptop project!)
IAEP@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/iaep


Re: [IAEP] The Children's Library On OLPC project

2009-07-23 Thread Jim Simmons
Scotty,

I think there is a method where if you have a Journal entry you can
tell Sugar to open it with the default Activity for that entry.  I
haven't tried to do anything like that yet.  It is important to copy
the book to the Journal though.  You can open a book from the stick
directly, but it won't save the page you stopped reading on, or let
you change the title, or take a screenshot of the last page you looked
at, etc.  My big gripe with the Journal is even though it cannot do
these things on a stick, the user interface suggests that it will.

There are many ideas floating around for improving the Journal, but
getting them implemented and installed on all the XO's is a big
undertaking.  If you can accomplish 90% of what you want by making an
Activity then that's probably a better way to go.

Since Deja Vu support is lacking in .82, and PDFs perform poorly,
another possibility is the .cbz format using View Slides to read it.
That performs quite well on the XO.  The difficulty will be creating
CBZs from Internet Archive books.  It's possible, and I describe how
to do it on the web page for View Slides.  It would take some doing to
convert 2,000 books.  Ironically IA provides books in a flipbook
format that View Slides could use as is, but the page images are too
small to be readable.  If they were just a bit larger they'd be fine.

Try reading Jack and the Giants as a PDF with Read and as a CBZ with
View Slides on an XO and you'll see what I'm talking about.

James Simmons

 Thu, Jul 23, 2009 at 12:49 PM, Scotty Aublescotty...@gmail.com wrote:
 Jim, thanks for the blow by blow. The idea is really taking shape into
 a vision of how it should work! If there's a way, it would be great to
 change the part where the child must open the book from within the
 journal as it feels like a lot of app hopping to get to reading the
 book. Is it possible to open journal entries without going to the
 journal? If so, maybe our activity could save links to those journal
 entries? What do you think?

 Also, got your copy of Gary's message, thanks. He does raise some good
 points re expanding journal capabilities to allow collection
 browsing without installing. If that were there, we wouldn't even
 need the activity we're talking about as it would be a done deal. We
 should explore working with Sugar development to aim in that direction
 rather than create an activity.

 Finally, I have not yet found any robust Read support for djvu in
 Sugar v.82. I did get a file to open and display a book cover, but
 that's it so far. It's ok to have to use PDF on Sugar .82, since it
 does work but the performance seems to really be lacking - 20 secs for
 a page load! I understand djvu is 5-10 times faster so that's the way
 to go IMHO.

 I will copy these emails the IAEP list as you suggest. Meantime if you
 have other thoughts let's keep in contact.
 Thanks
 Scotty

 On Wed, Jul 22, 2009 at 12:37 PM, Jim Simmonsnices...@gmail.com wrote:
 Scotty,

 The Journal entry that the Activity would create would be in the
 Journal proper, and would not point to or in any way require any files
 on the stick.  The Activity would work like this:

 1).  The child inserts one of your sticks.  Sugar mounts it.
 2).  The child uses the Journal to change views from the Journal
 proper to the stick.  He will see your bundled files, hopefully named
 something more appealing to a child than Conduct of Life.  He will
 also see the Activity.
 3).  The child will use the clipboard to copy the Activity to his
 Journal (unless he already has it).  He will then Resume one of your
 bundles using the Activity.
 4).  The Activity will show a scrollable list of books.  The entries
 in this table will be tall enough to hold the book cover thumbnail and
 information on each book, at minimum title and author.  The
 information about the books might be stored in a Dublin Core XML file
 which the Activity reads and parses.  The child will select an entry
 in this table and click a button in the toolbar of the Activity which
 will copy that book to the child's Journal.  This will work somewhat
 like Get Internet Archive Books does.  The child will see an
 information dialog when the Journal entry is created.  He may then
 choose another book to copy, as many times as he wishes, or exit the
 Activity.
 5).  The child unmounts the stick from the Journal and gives it back
 to the teacher.
 6).  The child opens one of his new books using the Read Activity.

 There was some talk about making Browse work with zipped up websites.
 If you had that, you could give your files meaningful names like:

 The Innocents Abroad by Mark Twain.djvu

 and maybe Browse could download them from the zip file into the
 Journal.  But if it did the Journal would have a really ugly name
 starting with file:// that the child would have to clean up.  You
 would not get any metadata either, just the filename as part of the
 title.  Plus Browse cannot do what I have described yet, although it
 has 

Re: [IAEP] The Children's Library On OLPC project

2009-07-23 Thread Samuel Klein
Hello,

I imagine a final use case in which children do have hundreds of books on
their XO, not two or three; they are stored compressed, and uncompressed for
reading; and the Journal stores the record of reading a book, but not the
uncompressed book itself.

When a stick or local library with thousands or tens of thousands of books
is available, it could be searched; a collection of books to be copied to
your XO identified and named; and this collection added to your XO (with the
name you just gave your collection added as a tag).

If the Journal could implement Calibre-style views, I don't see why it
couldn't function as a library organizer.

SJ

On Mon, Jul 20, 2009 at 4:07 PM, Jim Simmons nices...@gmail.com wrote:

 Scotty,

 I've been thinking about your project and have some ideas.  These may
 be similar to what Sayamindu has already proposed.

 You want to distribute a couple of thousand books from Internet
 Archive without using the Internet.

 As I have said before having over a thousand files on a USB drive
 isn't going to work.  The Journal isn't equipped to deal with that.
 You had mentioned (I think) the idea of creating content bundles for
 this stuff, but content bundles as they exist now aren't going to work
 either.  With a content bundle the entire contents of the bundle get
 unpacked and stored somewhere, and on the XO there isn't room for
 anything that isn't going to be used.  You don't want to install 818
 books about conduct of life on a kid's laptop.  You want to give him
 something that will let him browse through all of those books and pick
 one or two to install in his Journal.

 One way to make these files manageable would be to collect them by
 theme or topic and put the collected books in zip files.  The zip
 files would contain the books themselves, the GIF files showing book
 covers, and one file containing information about the books, possibly
 in the Dublin Core format, more likely in some subset thereof.  In the
 Internet Archive database there are a lot of fields that would be
 useful if filled in, but more often than not are not.

 If you had these collections prepared you could write an Activity to
 browse their contents (using the Dublin Core file and the images).
 The student would insert a thumb drive containing one or more of these
 collections into his XO and fire up an Activity that would read the
 Dublin file and create a scrolling list of the titles, including cover
 images, title, author, etc.  The student could sort this list by
 title, author, etc. then select a book he wants and create an entry
 for it in the Journal.  You could prepare sticks which had the
 collections on them as well as this Activity.  That way everything
 could be done through sneakernet.

 The Activity would be a lot like Get Internet Archive Books except it
 would work offline and would show the book covers.

 James Simmons

 On Sat, Jul 18, 2009 at 5:39 PM, scotty...@gmail.com wrote:
  Jim,
  I see all your points and they are good ones. I'm not sure if there's a
  target country at this point, but I think we got our list from OLPC.
 Not
  even positive about that. It's posted on our blog site,
  http://sixes.net/rdc2009/iacl-collection-for-xo. I'm pretty sure it's
 all
  English. It's a good idea to distribute a preconfigured server boot to
 linux
  CD and relatively easy. We should definately try to do that for
 US/Developed
  countries. Yes, PCs that could do this are in landfills, and using a
 system
  like this is a no brainer in any american or english classroom, probably
 in
  most developed countries there's at least an old pc w/ a network card
 laying
  about. However, my idea of using an XO was not to make it a permanent
  server. I just thought the teacher would have one most likely and that
 one
  could be configured to temporarily serve the library, then reboot back to
  sugar for other purposes when done. Probably a bad idea, but then again
 some
  of the OLPC folks have already looked into it at least somewhat - see
  http://wiki.laptop.org/go/XS-on-XO. Beauty of this is even in the bush
 our
  solution might still work.
  Scotty Auble
 ___
 IAEP -- It's An Education Project (not a laptop project!)
 IAEP@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/iaep

___
IAEP -- It's An Education Project (not a laptop project!)
IAEP@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/iaep

Re: [IAEP] The Children's Library On OLPC project

2009-07-22 Thread Jim Simmons
Scotty,

The Journal entry that the Activity would create would be in the
Journal proper, and would not point to or in any way require any files
on the stick.  The Activity would work like this:

1).  The child inserts one of your sticks.  Sugar mounts it.
2).  The child uses the Journal to change views from the Journal
proper to the stick.  He will see your bundled files, hopefully named
something more appealing to a child than Conduct of Life.  He will
also see the Activity.
3).  The child will use the clipboard to copy the Activity to his
Journal (unless he already has it).  He will then Resume one of your
bundles using the Activity.
4).  The Activity will show a scrollable list of books.  The entries
in this table will be tall enough to hold the book cover thumbnail and
information on each book, at minimum title and author.  The
information about the books might be stored in a Dublin Core XML file
which the Activity reads and parses.  The child will select an entry
in this table and click a button in the toolbar of the Activity which
will copy that book to the child's Journal.  This will work somewhat
like Get Internet Archive Books does.  The child will see an
information dialog when the Journal entry is created.  He may then
choose another book to copy, as many times as he wishes, or exit the
Activity.
5).  The child unmounts the stick from the Journal and gives it back
to the teacher.
6).  The child opens one of his new books using the Read Activity.

There was some talk about making Browse work with zipped up websites.
If you had that, you could give your files meaningful names like:

The Innocents Abroad by Mark Twain.djvu

and maybe Browse could download them from the zip file into the
Journal.  But if it did the Journal would have a really ugly name
starting with file:// that the child would have to clean up.  You
would not get any metadata either, just the filename as part of the
title.  Plus Browse cannot do what I have described yet, although it
has been talked about as a future feature.

The Activity I have described could be written so it would work on
Sugar .82, a big plus.  Of course you still have to verify good
support for Deja Vu in .82.  Or use PDF.

I would recommend copying these emails to the IAEP list.  I am by no
means a Sugar expert and you may find others will have something
worthwhile to add to these discussions.

James Simmons


On Wed, Jul 22, 2009 at 11:57 AM, Scotty Aublescotty...@gmail.com wrote:
 Hi Jim,
 Thanks for this input. I'm going to share our conversations with the
 team today and I'll be sure we all take a close look at this idea. We
 had already suspected that xo bundles might break something with the
 size of the data, so were considering rebundling in collections to
 allow for smaller size collections. One thing I know we want is to
 allow inserting the stick, browsing, then downloading and saving
 whatever looks interesting so you could take it home, etc without
 having the stick. If I understand your solution you are suggesting
 that the created Journal entry would point to a book on the stick? We
 could probably modify that download the book from the book bundle
 and  install it to the laptop. We'd have to provided an easy way to
 clean up, too, since as you say storage on the XO is precious.

 What we were thinking of doing is a web page that would allow the book
 files or mini bundles to be visible to the web browser as links, but
 not to the journal. Then, when you click the link it is downloaded and
 installed so that locally you have the book file and it's meta
 information in the Journal. I think the Journal displays an icon for
 the entries in one view? Anyway, what do you think of this? It seems
 easier than writing a new activity but then I haven't done that so I
 don't know. Looking forward to our next communication.
 Scotty Auble.

 On Mon, Jul 20, 2009 at 1:07 PM, Jim Simmonsnices...@gmail.com wrote:
 Scotty,

 I've been thinking about your project and have some ideas.  These may
 be similar to what Sayamindu has already proposed.

 You want to distribute a couple of thousand books from Internet
 Archive without using the Internet.

 As I have said before having over a thousand files on a USB drive
 isn't going to work.  The Journal isn't equipped to deal with that.
 You had mentioned (I think) the idea of creating content bundles for
 this stuff, but content bundles as they exist now aren't going to work
 either.  With a content bundle the entire contents of the bundle get
 unpacked and stored somewhere, and on the XO there isn't room for
 anything that isn't going to be used.  You don't want to install 818
 books about conduct of life on a kid's laptop.  You want to give him
 something that will let him browse through all of those books and pick
 one or two to install in his Journal.

 One way to make these files manageable would be to collect them by
 theme or topic and put the collected books in zip files.  The zip
 files would contain the 

Re: [IAEP] The Children's Library On OLPC project

2009-07-20 Thread Jim Simmons
Scotty,

I've been thinking about your project and have some ideas.  These may
be similar to what Sayamindu has already proposed.

You want to distribute a couple of thousand books from Internet
Archive without using the Internet.

As I have said before having over a thousand files on a USB drive
isn't going to work.  The Journal isn't equipped to deal with that.
You had mentioned (I think) the idea of creating content bundles for
this stuff, but content bundles as they exist now aren't going to work
either.  With a content bundle the entire contents of the bundle get
unpacked and stored somewhere, and on the XO there isn't room for
anything that isn't going to be used.  You don't want to install 818
books about conduct of life on a kid's laptop.  You want to give him
something that will let him browse through all of those books and pick
one or two to install in his Journal.

One way to make these files manageable would be to collect them by
theme or topic and put the collected books in zip files.  The zip
files would contain the books themselves, the GIF files showing book
covers, and one file containing information about the books, possibly
in the Dublin Core format, more likely in some subset thereof.  In the
Internet Archive database there are a lot of fields that would be
useful if filled in, but more often than not are not.

If you had these collections prepared you could write an Activity to
browse their contents (using the Dublin Core file and the images).
The student would insert a thumb drive containing one or more of these
collections into his XO and fire up an Activity that would read the
Dublin file and create a scrolling list of the titles, including cover
images, title, author, etc.  The student could sort this list by
title, author, etc. then select a book he wants and create an entry
for it in the Journal.  You could prepare sticks which had the
collections on them as well as this Activity.  That way everything
could be done through sneakernet.

The Activity would be a lot like Get Internet Archive Books except it
would work offline and would show the book covers.

James Simmons

On Sat, Jul 18, 2009 at 5:39 PM, scotty...@gmail.com wrote:
 Jim,
 I see all your points and they are good ones. I'm not sure if there's a
 target country at this point, but I think we got our list from OLPC. Not
 even positive about that. It's posted on our blog site,
 http://sixes.net/rdc2009/iacl-collection-for-xo. I'm pretty sure it's all
 English. It's a good idea to distribute a preconfigured server boot to linux
 CD and relatively easy. We should definately try to do that for US/Developed
 countries. Yes, PCs that could do this are in landfills, and using a system
 like this is a no brainer in any american or english classroom, probably in
 most developed countries there's at least an old pc w/ a network card laying
 about. However, my idea of using an XO was not to make it a permanent
 server. I just thought the teacher would have one most likely and that one
 could be configured to temporarily serve the library, then reboot back to
 sugar for other purposes when done. Probably a bad idea, but then again some
 of the OLPC folks have already looked into it at least somewhat - see
 http://wiki.laptop.org/go/XS-on-XO. Beauty of this is even in the bush our
 solution might still work.
 Scotty Auble
___
IAEP -- It's An Education Project (not a laptop project!)
IAEP@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/iaep