Talk:Library: Difference between revisions

From OLPC
Jump to navigation Jump to search
(+2)
 
(69 intermediate revisions by 12 users not shown)
Line 1: Line 1:
I started a discussion page for library software adn content delivery - If I have put this in the wrong spot please move it to the right place. Thanks - Stephen
A discussion page for library software and content delivery.

----
For related meeting notes, see [[content meetings]]. For older notes, see the [[/Archive|archive]]. Below, the most recent discussions are first.
== Library Tools ==


== Library tools ==
The [[http://www.greenstone.org/ Greenstone Digital Library]] system provides a lightweight digital library in terms of application and collection size if properly configured. Greenstone can deliver collections on very old 16 bit hardware with much lower specs than the the OLPC laptop.
The [[http://www.greenstone.org/ Greenstone Digital Library]] system provides a lightweight digital library in terms of application and collection size if properly configured. Greenstone can deliver collections on very old 16 bit hardware with much lower specs than the the OLPC laptop.
: A slightly different [more limited?]notion of library than the one we have in mind.
: A slightly different [more limited?]notion of library than the one we have in mind.


=== Stephen's Suggestions ===
=== Stephen's suggestions ===
Application configuration;
Application configuration;
* Only include the cgi library interface
* Only include the cgi library interface
Line 17: Line 20:
* The most efficient ways of including content is to store/compress it as either plain text or html (if linking or lightweight images are needed). This facility already exists in Greenstone.
* The most efficient ways of including content is to store/compress it as either plain text or html (if linking or lightweight images are needed). This facility already exists in Greenstone.


Stephen De Gabrielle
- ''Stephen De Gabrielle''




== Some specific thoughts ==
== Some definitions ==


=== Definitions ===
=== Terms ===


;Library Activity: -- A way to interface to content on the XOs and school servers. Eventually this may become its own activity; currently this will be a browser interface.
;Library Activity: -- A way to interface to content on the XOs and school servers. Eventually this may become its own activity; currently this will be a browser interface.
Line 30: Line 33:
;School library: -- the library of materials on a school server.
;School library: -- the library of materials on a school server.


;Regional library: -- the library of materials on a regional or country server.


=== Interface ===
=== Interface ===
Line 53: Line 57:
Many of the above will be loadable by browsing to them; some will require more technical know-how.
Many of the above will be loadable by browsing to them; some will require more technical know-how.


** once a database is set up to store and search through metadata. there can be simple
* once a database is set up to store and search through metadata. there can be
implementations before the full object store is in place.
simple implementations before the full object store is in place.
*** assuming a media streamer is working
** assuming a media streamer is working




Line 76: Line 80:
Subsidiary browsing pages: at least one for each of the sections listed above. One for each large collection [encyclopedia, dictionary if present, atlas, periodic table]. A variation of each portal for every core language [ideal portals have no text at all, or at branch tiers, text in every language].
Subsidiary browsing pages: at least one for each of the sections listed above. One for each large collection [encyclopedia, dictionary if present, atlas, periodic table]. A variation of each portal for every core language [ideal portals have no text at all, or at branch tiers, text in every language].


=== Milestones ===
== Milestones ==
- get a number of draft sketches of possible main and secondary browsing pages
- get a number of draft sketches of possible main and secondary browsing pages
- define what the design and layout will be like
- define what the design and layout will be like
Line 103: Line 107:
- testing on a server
- testing on a server


=== Resources ===
=== Resources needed ===


* Mozilla expert to help perfect the interface via the browser
* Mozilla expert to help perfect the interface via the browser
Line 112: Line 116:




== Library design ==
== design criteria ==


A good library should be beautiful, should hint at overabundance and accessibility, and its use should be inspiring.
=== Thoughts ===
A good library should be beautiful, its use inspiring. Specific design ideas:


Libraries use librarians to help people to navigate collections with complicated relationships between sub-collections. The Library would be easier to navigate if it offered the following interfaces:

* a dynamically generated view of available materials, local and regional, that updates when collections are installed or removed, and presents different views when isolated and when connected to a friend or local network.
* a way to search through the system of available collections, and an api that allows a collection author to design its own search interface
* a set of ways for collections to interact with users, either directly reacting to user input or storing and reading back state and data over time.

Some related interactions that it would be useful to provide to other activities as services include:
* web browsing; to navigate/display local html pages and media, such as help pages for each activity
* a way to edit in a distributed way a set of notes, inculding pervasive talk pages associated with each bundle and component, which can be updated and shared en masse or page by page (cf. [[MikMik]])

=== loading and running scripts ===

Some of the above, including customizable interfaces for searching and tracking previous interactions, can be implemented as scripts that come with a collection and interface. If there were a way to limit the power and extent of what such scripts could do (as Javascript attempts to, for instance), one could let the creator of an otherwise static bundle define precisely the dynamic interfaces it wants.
: Limitations on Javascript, in the absence of a state-service such as Google Gears and in the absence of a way to read public elements in the datastore, prevents some of this from being realized.

One option is to make a webservice available that will execute python scripts [as the web user?]

An alternative is to make every collection available as its own executable bundle, which embeds browser-like activities for rendering and explicitly requests script privileges so that it can access and process published files and materials.



=== similar activities and interactions ===

There are other content-browsing activities which want to navigate quantities of data (effectively interfacing with a local database) and could potentially be served by a similar system :applications, such as a javascript spreadsheet
* Gmail with an offline component (caching mail & responses)
* editable google maps : a local database of geolocations and comments/media, (and an optional input of one's own location from a usb gps) combined, when connected to a tilecache, with map tiles.

Activities that build on and display available data would like to access
:- data publicly available as part of our build images,
:- data installed as part of public bundles, such as the current help files or talk pages associated with a bundle
:- data published by the user.
:- statistics published by the system, including the time and its overall use

Finally, common libraries for managing many of these interactions and activities run as javascript, java, or flash; and rely on the browser and html/css to render the resutls [automatically handling zooming, bookmarking, screen rotation, and the like].


=== library look and feel ===
1) The overall HTML framework should replicate some of the look of the
1) The overall HTML framework should replicate some of the look of the
Journal, perhaps with a main view and layout similar to the upcoming journal redesign: clusters of icons as top-level navigation, with no other body content (focus on navigation, or on a topic, not both). Little other structure. No wasted space on any leaf page; a single link back to the overall library navigation. This is really how I'd like to see journal navigatino to work as well. --[[User:Sj|Sj]]&nbsp;[[User talk:Sj|<font color="fc9" style="font-size:70%">leave me a message</font>]]
Journal, notably the topmost bar. Images + JS; implements whatever
search is available.


2) The main portal page - Megan suggested a circular / annular theme to
2) A main portal page - Megan suggested a circular / annular theme to
match the desktop. A central circle containing
match the desktop, way back when. This was a fine idea. A central circle containing a library logo, with four sections for text, images, music/video, and
games/activities, each represented by small images... as the top-level
a library logo, with four sections for text, images, music/video, and
games/activities, each represented by small images. This is the top-level
browse view.
browse view.


3) Secondary pages for each section, offering a "browse" view organized by subject ("what") for that section. This can be a two-column view with sections, and icons for each major section -- similar to a 2-up display similar to what Eben's tv-widget offers.
3) We'll have secondary pages for each section, offering a "browse" view

organized by subject ("what") for that section. This can be a two-column
4) A "browse" view for people ("who") showing what each person has in his/her personal collection. This will be needed if the servers are done in time, but takes lower priority than the rest.
view with sections, and icons for each major section -- Eben, this would

be similar to a 2-up display similar to what your tv-widget offers.
5) A template for search results; similar to 3) above but dynamically generated.

== Library integration with the Internet ==
The biggest content repository is the internet, and perhaps it would be quite usefull to have the library also serve as an entry-way for kids to that content.

I suggest that each category, Music, Activities, etc., have a separate space for web links. This would give kids a way to explore what (currently with the sample library) OLPC thinks is good on the web, and in the future what schools, teachers, but also hopefully students, parents, friends and local and regional communities think is good as well.

For example, the music category could contain links to Jamendo, and other free music websites.
The image category could provide links to NASA's satellite imagery of countries and continents (see m. charitties user page for the link).
The activity category could have a link to Instructables website.

These are some quick guesses, and more thought should go to the choice of usefull, good educational resources to include.


Of course, this Sample Library should clearly mark itself a sample, and not be seen as a Portal. For this reason, it should be somewhat limited in its range. At the same time, if it pointed towards content which adhere to the projects philosophical approach to education, it would be useful to do.
4) We need a "browse" view for people ("who") showing what each person has
: As an example, we could have a wiki page for each category dedicated to gathering useful links; and could link to that; a level of indirection that keeps the core library simple, continues to work as expected when there is an internet connection, and allows the list to be updated over time.
in his/her personal collection. This will be needed if the servers are
It should be made in a way that encourages communities to built on it, to add and improve it to fit their needs, and in no way impose our ideals/culture.
done in time, but takes lower priority than the rest.


There might be problems of Nation-wide approved "Library links", but perhaps by reaching out to various cultures to come up with their own library sample, with content and weblinks representing what they are, would make better serve as example of how it could be used more dinamically.
5) We should have a template for search results; similar to 3) above but
: The nation-wide links could be applied by changing where the canonical redirect goes for each bundle.
dynamically generated.
I could picture there being a Portuguese library, showcasing our poets, scientists, culture, nature, and so on. These would be useful for countries or even communities to learn more from each other, by "trading" their made-libraries.
: Trading 'made' libraries is definitely in the cards. Countries are committed to making this kind of sharing a reality.


: These are all good ideas. See some of the existing [[Library use cases|use cases]]. --[[User:Sj|Sj]]&nbsp;[[User talk:Sj|<font color="fc9" style="font-size:70%">leave me a message</font>]] 16:53, 24 January 2008 (EST)
=== Discussion, Mar 30 ===
''1930 EST''


Feel free to add to the agenda:
* Specific topics needed : bootstrapping materials, images for using each application
** Visual and playful introductions
** Module/topic priorities by country
** Curators and topical/language coordination


== Library use cases ==
* Online v. school servers v. laptops -- finding & using material
** Exposing created works : documents, photos, videos, projects
** Finding project collections online


=== positive use cases ===
* Trial library testing
''use cases we want to support''
** laptop test materials (weekend)
** server materials, [[School Server Specification]], et al.


==== Teachers ====
* I am a teacher and I cannot find the resource that I want. I can post a request for content some where and it gets to someone who can get that content.
* I am a teacher and I want to give my kids access to a set of documents that are too big for them to download entirely
* I am an Indian teacher and I want to find an approved map of India


==== Students ====
* Asides
* I am a student and I want to learn about Indian independence in 1942
** Content review and stamping
* Wants to find a photo from Uruguay not taken w/ an XO
*** microformats, Ratepoint, Connexions' del.icio.us model
* I need help w/ math and I want to find more materials to study
** Game development, weekly discussions
* I want to find a penpal activity
* I turn on my computer and can access the materials for my course without "logging on" anywhere


==== Reviewers ====
== This steals storage from the children. ==
* I am an official at Nepal's Ministry of education and I want to certify that a given set of activities meet Nepal's second grade curriculum for math
* I want to add metadata to new submissions
* I want to find and improve new uploads
* I want to apply a new format to all the materials for my area/country
* I want to reuse content about pandas in northern china that was created by Chinese student
* I have found content that questions our national regime and I don't want students to be able to access it


==== Archivists and librarians ====
The kids have about 1/3 of a gigabyte free to start with, maybe more like 1/5 after all the software is written. This is supposed to last them for years.
* I am an academic and I want to upload a set of classical poems and I am very particular about the metadata and presentation of those poems
: They should have at least 300MB free. They will have backups elsewhere, and can delete things in their library that they don't like, so it's not quite clear to me what "last them for years" means here.
* I am a librarian and want to digitize and share print materials


==== Authors and creators ====
It's enough space, barely, if it doesn't get filled up with stuff (libraries for example) that isn't all that likely to be useful. Kids will be creating images, sound, and maybe even video. There really isn't room for a library.
* I am an author or artist and I want to share my materials with {my country, the world}
: That's roughly the idea. The best local materials are the ones that can be used to learn how to do things, and used as templates, or as part of other creative works.
*: ...''but I don't want people to change them''
*: ...''but I don't want people to sell them''
* I am an author and I want to contribute to a freely available anthology (bankers m.)


== negative use cases ==
The school server isn't likely to have lots of space either. It'll be doing backup duty. It'll be serving up textbooks, probably chapter-by-chapter to save space on the XOs. Anything left over could be used as a web cache if there is a net connection.
use cases not desired
: It will be serving up books and images and maps and materials in the school library, yes. And it will be part of a cache framework, along with the laptops themselves.


* I am student and want to find pornography
The "web cache" could of course hold a library, if the students wish to use a library.
* I turn on my computer and can shut down the computers of others around me.
: Sporadic network access means that some of the active caching will have to take the form of a library that is preloaded or regularly made available, with updates available over time as well. [[User:Sj|Sj]] [[User talk:Sj|<font color="fc9"><small>talk</small></font>]] 10:58, 30 March 2007 (EDT)


== I can't find the sources ==
[[User:AlbertCahalan|AlbertCahalan]] 22:02, 18 March 2007 (EDT)


The link to the source seems to be broken, do you move them elsewhere?
== More samples ==
* [http://en.wikipedia.org/wiki/Donald_in_Mathmagic_Land Donald in Mathmagic Land]
* [http://www.google.com/search?q=%22%E2%80%9CSurreal+Numbers%3A+How+Two+Ex-Students+Turned+on+to+Pure+Mathematics+and+Found+Total+Happiness%22&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a "Surreal Numbers: How Two Ex-Students Turned on to Pure Mathematics and Found Total Happiness"]

Latest revision as of 15:50, 29 August 2008

A discussion page for library software and content delivery.

For related meeting notes, see content meetings. For older notes, see the archive. Below, the most recent discussions are first.


Library tools

The [Greenstone Digital Library] system provides a lightweight digital library in terms of application and collection size if properly configured. Greenstone can deliver collections on very old 16 bit hardware with much lower specs than the the OLPC laptop.

A slightly different [more limited?]notion of library than the one we have in mind.

Stephen's suggestions

Application configuration;

  • Only include the cgi library interface
  • lightweight http server (their may already be one on the device that could be reused)

Don't include the GLI interface for library creation, ditto for the supporting code, and perl wrappers/plugins etc. Much of the application in the full download is not required for searching/viewing collections.

Collection configuration;

  • Collections can be optimised and compressed in a variety of ways that would easily allow fitting a great deal of content into a small portion of the space available on the OLPC, or even on a small USB flashdrives for distribution.
  • The most efficient ways of including content is to store/compress it as either plain text or html (if linking or lightweight images are needed). This facility already exists in Greenstone.

- Stephen De Gabrielle


Some definitions

Terms

Library Activity
-- A way to interface to content on the XOs and school servers. Eventually this may become its own activity; currently this will be a browser interface.
XO library
-- the library of materials on an XO.
School library
-- the library of materials on a school server.
Regional library
-- the library of materials on a regional or country server.

Interface

The default interface for the library activity can be similar to the journal interface. (Eventually the journal may provide much of this interface.) Browsing the XO library:

- main page (by subject)

Browsing the school library:

- main page -- a page for "what" (by subject)
- "who"  (by student) **
- "when" (by time) **

There will be a multilingual server collection, linked to from the above:

- literature, picture books and audiobooks
- world atlas of maps (with its own mini-portal)
- images from around the world
- video (movies, tv programs) and sounds 
- games (a puzzle game, simcity, tetris, an etoys project collection)

Also: dictionary, 'develop' activity (deep links), photos and videos take with capture activity, audio recorded likewise.

Many of the above will be loadable by browsing to them; some will require more technical know-how.

* once a database is set up to store and search through metadata.  there can be 
  simple implementations before the full object store is in place.
** assuming a media streamer is working


A main browsing-page:

------------------------
(journal-style search bar)

   [   A   ]     [   B   ] 

   [   C   ]     [   D   ] 
    
------------------------
A : Texts (reading, math, science; project ideas; for teachers, students; ...)
B : Images  (photos, snapshots, ...)
C : Video (clips, films, ...)
D : Activities (games, etoys, ...)


Subsidiary browsing pages: at least one for each of the sections listed above. One for each large collection [encyclopedia, dictionary if present, atlas, periodic table]. A variation of each portal for every core language [ideal portals have no text at all, or at branch tiers, text in every language].

Milestones

- get a number of draft sketches of possible main and secondary browsing pages 
- define what the design and layout will be like
- define when we will have final converted media from our own machines and from Real
- determine what media player to use
- finalize agreements re: use of media works
- draft spec for metadata store 
- have small localization team in place for En, Es, Pt, Ar
- find remaining resources needed

- revisit full timeline & needs
- test XO-customization activities
- test character-sets [again]; first run of localization work [on-wiki]
- testing ebook readers x2 (yellow and internet archive readers)
- testing datastore on server 
- testing video streaming, server to XO 
- test form creation, new games (simcity, puzzle game, &c)
- testing wiki & admin interface (moodle, &c)
- test localized sugar, journal.
- revisit full timeline & needs
...
- testing on a server

Resources needed

  • Mozilla expert to help perfect the interface via the browser
  • Moodle, Mediaplayer, &c. devs to help set up server apps
  • designer[s] to help create any images necessary in line with existing interface specs
  • developer to help write a database to support storing simple metadata about library materials and simple searching for those materials; and scripts to restructure and reformat text and metadata from existing sources.
  • group focusing on localization implementation -- activating a language preference, setting up workflows that will work over the longer term.


design criteria

A good library should be beautiful, should hint at overabundance and accessibility, and its use should be inspiring.

Libraries use librarians to help people to navigate collections with complicated relationships between sub-collections. The Library would be easier to navigate if it offered the following interfaces:

  • a dynamically generated view of available materials, local and regional, that updates when collections are installed or removed, and presents different views when isolated and when connected to a friend or local network.
  • a way to search through the system of available collections, and an api that allows a collection author to design its own search interface
  • a set of ways for collections to interact with users, either directly reacting to user input or storing and reading back state and data over time.

Some related interactions that it would be useful to provide to other activities as services include:

  • web browsing; to navigate/display local html pages and media, such as help pages for each activity
  • a way to edit in a distributed way a set of notes, inculding pervasive talk pages associated with each bundle and component, which can be updated and shared en masse or page by page (cf. MikMik)

loading and running scripts

Some of the above, including customizable interfaces for searching and tracking previous interactions, can be implemented as scripts that come with a collection and interface. If there were a way to limit the power and extent of what such scripts could do (as Javascript attempts to, for instance), one could let the creator of an otherwise static bundle define precisely the dynamic interfaces it wants.

Limitations on Javascript, in the absence of a state-service such as Google Gears and in the absence of a way to read public elements in the datastore, prevents some of this from being realized.

One option is to make a webservice available that will execute python scripts [as the web user?]

An alternative is to make every collection available as its own executable bundle, which embeds browser-like activities for rendering and explicitly requests script privileges so that it can access and process published files and materials.


similar activities and interactions

There are other content-browsing activities which want to navigate quantities of data (effectively interfacing with a local database) and could potentially be served by a similar system :applications, such as a javascript spreadsheet

  • Gmail with an offline component (caching mail & responses)
  • editable google maps : a local database of geolocations and comments/media, (and an optional input of one's own location from a usb gps) combined, when connected to a tilecache, with map tiles.

Activities that build on and display available data would like to access

- data publicly available as part of our build images,
- data installed as part of public bundles, such as the current help files or talk pages associated with a bundle
- data published by the user.
- statistics published by the system, including the time and its overall use

Finally, common libraries for managing many of these interactions and activities run as javascript, java, or flash; and rely on the browser and html/css to render the resutls [automatically handling zooming, bookmarking, screen rotation, and the like].


library look and feel

1) The overall HTML framework should replicate some of the look of the Journal, perhaps with a main view and layout similar to the upcoming journal redesign: clusters of icons as top-level navigation, with no other body content (focus on navigation, or on a topic, not both). Little other structure. No wasted space on any leaf page; a single link back to the overall library navigation. This is really how I'd like to see journal navigatino to work as well. --Sj leave me a message

2) A main portal page - Megan suggested a circular / annular theme to match the desktop, way back when. This was a fine idea. A central circle containing a library logo, with four sections for text, images, music/video, and games/activities, each represented by small images... as the top-level browse view.

3) Secondary pages for each section, offering a "browse" view organized by subject ("what") for that section. This can be a two-column view with sections, and icons for each major section -- similar to a 2-up display similar to what Eben's tv-widget offers.

4) A "browse" view for people ("who") showing what each person has in his/her personal collection. This will be needed if the servers are done in time, but takes lower priority than the rest.

5) A template for search results; similar to 3) above but dynamically generated.

Library integration with the Internet

The biggest content repository is the internet, and perhaps it would be quite usefull to have the library also serve as an entry-way for kids to that content.

I suggest that each category, Music, Activities, etc., have a separate space for web links. This would give kids a way to explore what (currently with the sample library) OLPC thinks is good on the web, and in the future what schools, teachers, but also hopefully students, parents, friends and local and regional communities think is good as well.

For example, the music category could contain links to Jamendo, and other free music websites. The image category could provide links to NASA's satellite imagery of countries and continents (see m. charitties user page for the link). The activity category could have a link to Instructables website.

These are some quick guesses, and more thought should go to the choice of usefull, good educational resources to include.

Of course, this Sample Library should clearly mark itself a sample, and not be seen as a Portal. For this reason, it should be somewhat limited in its range. At the same time, if it pointed towards content which adhere to the projects philosophical approach to education, it would be useful to do.

As an example, we could have a wiki page for each category dedicated to gathering useful links; and could link to that; a level of indirection that keeps the core library simple, continues to work as expected when there is an internet connection, and allows the list to be updated over time.

It should be made in a way that encourages communities to built on it, to add and improve it to fit their needs, and in no way impose our ideals/culture.

There might be problems of Nation-wide approved "Library links", but perhaps by reaching out to various cultures to come up with their own library sample, with content and weblinks representing what they are, would make better serve as example of how it could be used more dinamically.

The nation-wide links could be applied by changing where the canonical redirect goes for each bundle.

I could picture there being a Portuguese library, showcasing our poets, scientists, culture, nature, and so on. These would be useful for countries or even communities to learn more from each other, by "trading" their made-libraries.

Trading 'made' libraries is definitely in the cards. Countries are committed to making this kind of sharing a reality.
These are all good ideas. See some of the existing use cases. --Sj leave me a message 16:53, 24 January 2008 (EST)


Library use cases

positive use cases

use cases we want to support

Teachers

  • I am a teacher and I cannot find the resource that I want. I can post a request for content some where and it gets to someone who can get that content.
  • I am a teacher and I want to give my kids access to a set of documents that are too big for them to download entirely
  • I am an Indian teacher and I want to find an approved map of India

Students

  • I am a student and I want to learn about Indian independence in 1942
  • Wants to find a photo from Uruguay not taken w/ an XO
  • I need help w/ math and I want to find more materials to study
  • I want to find a penpal activity
  • I turn on my computer and can access the materials for my course without "logging on" anywhere

Reviewers

  • I am an official at Nepal's Ministry of education and I want to certify that a given set of activities meet Nepal's second grade curriculum for math
  • I want to add metadata to new submissions
  • I want to find and improve new uploads
  • I want to apply a new format to all the materials for my area/country
  • I want to reuse content about pandas in northern china that was created by Chinese student
  • I have found content that questions our national regime and I don't want students to be able to access it

Archivists and librarians

  • I am an academic and I want to upload a set of classical poems and I am very particular about the metadata and presentation of those poems
  • I am a librarian and want to digitize and share print materials

Authors and creators

  • I am an author or artist and I want to share my materials with {my country, the world}
    ...but I don't want people to change them
    ...but I don't want people to sell them
  • I am an author and I want to contribute to a freely available anthology (bankers m.)

negative use cases

use cases not desired

  • I am student and want to find pornography
  • I turn on my computer and can shut down the computers of others around me.

I can't find the sources

The link to the source seems to be broken, do you move them elsewhere?