Talk:Library: Difference between revisions

From OLPC
Jump to navigation Jump to search
(arch)
 
(3 intermediate revisions by one other user not shown)
Line 3: Line 3:
For related meeting notes, see [[content meetings]]. For older notes, see the [[/Archive|archive]]. Below, the most recent discussions are first.
For related meeting notes, see [[content meetings]]. For older notes, see the [[/Archive|archive]]. Below, the most recent discussions are first.


== specific topics ==


=== metadata ===
== Library tools ==
In some countries, you have strict metadata based on ministry needs; but want to bring in material from repos that aren't so formal. See [[/Metadata]] and contrast with [[bundle metadata]].

=== libraries and repositories ===
1) working with partner repositories - good interfaces for curriki and
the internet archive, et al. that hide the complexities of their
system and make it easy to upload things "for OLPC" and to find/tag
related material

2) use of Wikimedia projects, Fedora and like repositories to organize
both physical and digital materials -- books, media, library records,
XO bundles, [other] web learning activities.

3) organizing community review and assessment : good and brilliant
packages and bundles; content stamping.
: Re: [[Content stamping]] - is active development on this still needed? If it's urgent, we can write up a spec/job-descript and post it to our soon-to-be-pretty [[Internships]] (unpaid... and intended for local groups to post opportunities and help-wanteds) page. I can also talk to the folks at OpenPlans next month to see if they are still interested. [[User:Mchua|Mchua]] 02:08, 25 January 2008 (EST)

=== supporting new projects ===
1) [Southern] Summer of Content - we have some interested sponsors
who want to make sure SoCon happens again this month / next, and a
potential co-announcement around this summer's iCommons. how to
propagate successes from the Aug/Septemer SoCon? &c.
: Now that I'm back in the continent and will be in a stable home with equally stable wireless, I can actually jump back in on this. I've been focusing on building a back-end Mediawiki site with semantic capabilities that will make submitting, reviewing, processing, and keeping track of applications and projects much more sane than last time; it can be ready to go the second week of Feb, possibly earlier if we need it then. Need to catch up with SJ, Wayne, and whoever else is interested - please ping me. [[User:Mchua|Mchua]] 02:16, 25 January 2008 (EST)

2) task boards for sharing needs and offers. social network by talent
and passion. bounty and job boards for partners who need to find help
on short notice (ex: UNICEF is always short of python programmers in
non-english speaking countries. this is a plum job. they have a hard
time getting the word out...)
: [[Internships]] might be turning into something like this - [[Help wanted]] and [[Job wanted]], perhaps? There might be less clunky ways of doing it than on a manually-updated-and-pruned mediawiki page, though - perhaps something in one of the new forums? Another idea: "helpwanted" mailing list for OLPC-related "job" postings. In general, way too many grassroots people have been asking me about this, so I'm very interested (for the sake of my own sanity) in finding a good next-generation solution. Definitely want to be updated; not sure how much time I can spend helping with this (esp. if I'm doing SoCon again). [[User:Mchua|Mchua]] 02:16, 25 January 2008 (EST)

=== outreach ===
1) university connections : a consortium of faculty advisors and
coordinators, with student curators and creators, in touch with /
maintaining connections with thousands of archives, museums,
publishing channels, classes, and individual authors
: Already nucleating university chapters, primarily in the Chicago area for now. Will see if we can get more helpful resources for starting chapters out there. In general, nucleating university (and grassroots) groups seems to work best when already-active OLPC volunteers go out and run an intensive boot-camp intro kickoff/projects session at the location for at least a full day... most of the groups I've run into so far need connections and the knowledge of where to find information more than anything else to help them really get going. Btw, a university chapter is just a specialized form of grassroots group, imo. [[User:Mchua|Mchua]] 02:24, 25 January 2008 (EST)

2) by chapter : local and national chapter development, policies, &c.
: Wait... policies? ([[[OLPC Chicago]] has "we are... we are not..." guidelines inspired by [[OLPC Europe]] - are you thinking of something like this, or more rule-like policies that all chapters must follow? [[User:Mchua|Mchua]] 02:24, 25 January 2008 (EST)

3) by creative community : subprojects within Flickr, Youtube,
Wikimedia Commons, Wikipedia, and the like
: What happened to [[Curators]]? [[User:Mchua|Mchua]] 02:24, 25 January 2008 (EST)

4) by major educational project : subgroups within UNICEF, WHO and the
like coordinating sharing of works in child-friendly and XO-friendly
formats.
: Can these be grouped with #3? Can they use the same infrastructures/tools in terms of ways (not necessarily technological) of interfacing their stuff with OLPC? (This is badly phrased, I know; can't think of a way to reword it more coherently atm.) [[User:Mchua|Mchua]] 02:24, 25 January 2008 (EST)

5) by tool/activity : blogging, music sharing, programming... forming
networks, organizing local and regional competitions, topical
newsletters to highlight good work. Examples from primary and
secondary networks elsewhere
: Example: [[Art]] - it seems like a lot of communities of this sort are just missing critical mass and a willing maintainer. [[User:Mchua|Mchua]] 02:24, 25 January 2008 (EST)

6) by language; What sorts of partnerships this opens up with local groups
: What has grassroots activity been like in the target countries? Is there a possibility that they might be willing to host volunteers from overseas (who would pay their own way, or find funding to do such - no financial burden imposed upon host institutions) who can speak the local language and have relevant experience? [[User:Mchua|Mchua]] 02:24, 25 January 2008 (EST)

A discussion page for library software and content delivery. Older discussion first.
: See also [[content meetings]].


== 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 121: 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 144: 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].


== Library 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 186: Line 122:
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:
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.
=== look and feel ===
* 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, 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>]]
Line 201: Line 171:
5) A template for search results; similar to 3) above but dynamically generated.
5) A template for search results; similar to 3) above but dynamically generated.


== Library integration with the Internet ==

== Library integration with 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.
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.


Line 213: Line 182:
These are some quick guesses, and more thought should go to the choice of usefull, good educational resources to include.
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 sime, if it pointed towards content which adhere to the projects philosophical approach to education, it would be usefull to do.
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.
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.
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 usefull for countries or even communities to learn more from each other, by "trading" their made-libraries.
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.


: 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)
: 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)




Line 262: Line 234:
* I am student and want to find pornography
* I am student and want to find pornography
* I turn on my computer and can shut down the computers of others around me.
* 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?

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?