Re: [IAEP] The Children's Library On OLPC project
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
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
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
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
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
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
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
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