Bundle concepts

From OLPC
Jump to navigation Jump to search


Pencil.png NOTE: The contents of this page are not set in stone, and are subject to change!

This page is a draft in active flux ...
Please leave suggestions on the talk page.

Pencil.png

Copied from SJ's email 8/21/07 and email discussion between Lauren & Eben later in the week. Mchua 12:35, 21 August 2007 (EDT) See also Bundles for related materials, although this page is currently draft material under debate whereas Bundles is more settled, static decisions that have already been made. Mchua 01:44, 27 August 2007 (EDT)

What is a bundle?

An overview of the situation on bundles as an attempt to understand and define what they are. Feel free to edit & comment, etc.

Some useful terminology:

  • Objects - a single file; a drawing, story, photo, sound, etc. Objects are not necessarily bundles.
  • Bundle - a type of object. A bundle is an object that contains multiple other objects within it, and which opens with a bundle activity.

For instance: A .png of a cat is an object. A collection of pictures of cats and a Write document that includes all these pictures could be packaged up in a bundle, which would open with a bundle activity (in this case, Write).

Interface

Since bundles are just a special type of object, the same tagging and sharing interface should be used for bundles and objects.

Extensions

There is the idea of "extended bundles" which are formats that go beyond the standard simple definition of bundle, above. The notion of "extended bundle" and what the term means is currently under debate.

Current status

As currently described on the wiki, there are three main types of bundles that have their own specifications beyond the standard bundle format.

  • Activity bundles - collections of non-child-produced materials used for a particular activity. For instance, a selection of Etoys tutorials created by the etoys team is an activity bundle.
  • Content bundles - collections of non-child-produced materials used in the Library specifically. These use the .xol file format detailed by Lauren in Creating a content bundle. For instance, a collection of Wikipedia articles in Arabic is a content bundle.
  • Extended content bundle - the term loosely refers to activity or content bundles created by children themselves. The above example of a child's paper on cats is an extended content bundle.

What it should change to

This is not an ideal set of terminology - it's been proposed (by Eben) to move to the following:

  • Bundle - an object that contains multiple other objects within it. Bundles take the form of a .zip folder containing the objects they are bundling; that is all. There is no distinction between child-created and non-child-created bundles.
  • Extended bundles - any format with requirements that both include and go beyond the requirements for the bundle format, above. There are currently two common extended bundle formats:
    • Activity bundles - a bundle format that includes additional metadata and requirements that make it possible to use a bundle within and with a specific Activity.
    • Content bundle - the .xol file format detailed in Creating a content bundle that adds metadata requirements that make it possible to use the bundle within the Library.

Use cases

We need clearer discussion of bundling. Some bundling use cases [BUCs]:

Use case 1

I take a photo and make a drawing. You make a collage. I send you the photo and drawing so you can include them in the collage:

  1. by starting both Draw and Record and sharing them; you then choose to join the shared sessions and export the drawing and photo, then start Write and import them.
  2. by saving both photo and drawing as "Public". I now can browse to a view of your Journal, or search my local net of Journals and filter by creator, and find them.
    1. by saving both photo and drawing with a specific tag (sj-maria-collab) so you can find them later. Bonus: automatic tagging when you synch with flickr and myspace and whatnot.
  3. by exporting both photo and drawing to "Web" and letting me know, I can now browse to your public "Web" space with the browser and find them.
  4. by launching the Bundlemaker activity (for making 'extended' bundles), and selecting the photo and drawing from my Journal history. Then I name the resulting extended bundle "sj-maria-collab" and share it with you...
    1. ...you can now find it from your mesh view
    2. ...you now receive an alert that there is a bundle waiting for you
    3. ...the bundle immediately starts migrating across an ad-hoc file-sharing network, using space explicitly made free for this purpose by anyone who has started the fileshare Activity.
  5. by publishing a local-permalink to the entries in my Journal as a catalog-update, either just for you or for everyone nearby; and sending it to you; your catalog daemon now updates your local catalog with metadata about the two pieces, and they show up in your journal view as available links and in the first results you get when searching for new material on your network.

Use case 2

BUC-2 : I make a webpage on the school server. You like it and save a local copy on your XO, including images. The next day you want to share the page with João:

  1. by opening Browse and sharing a session while it is loaded
  2. by going into your journal and sharing a journal-view of the saved item
  3. by making an explicit content bundle out of the page and sharing it with João.
  4. by making an explicit extended bundle out of the page and sharing it with João (see above for options)