Specifications: Difference between revisions

From OLPC
Jump to navigation Jump to search
(.)
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''A short key'''
= One-sentence specification list =
<nowiki>[[wiki pages]]</nowiki> and their [[style guide]]lines are largely community-driven.
{notes in curlies} indicate important items whose definitions may change.
* bulleted items are "in progress".
<small>intro paragraphs to a more detailed article are included inline for illustration</small>


== 0. Key ==
== Specs in brief ==
Each item below needs its own page and detailed discussion. A good bit of development and planning has been done without specifications, and in pursuit of a narrow if admirable set of goals without detailed or spanning use cases.
[[wiki pages]] and their style guidelines are all community-driven.<br/>
{notes in curlies} indicate important items whose definitions may change.
* bulleted items indicates "in progress".


== I. Content, linking, publishing ==
=== Content, linking, publishing ===


'''Link once, find everywhere''' : It should be possible to link out to further information without knowing how far away the information is on the network. URLs have to do with location; even URIs have overtones of being a specific resource and not a specific concept. If I want to link out to more information about monkeys, I should be able to denote that without specifying the exact resource I want to use -- the reader will have only a limited set of resources available.
'''Link once, find everywhere''' : It should be possible to link out to further information without knowing how far away the information is on the network. URLs have to do with location; even URIs have overtones of being a specific resource and not a specific concept. If I want to link out to more information about monkeys, I should be able to denote that without specifying the exact resource I want to use -- the reader will have only a limited set of resources available.


<blockquote><small>
As an example: I might include the link [[info:monkeys]] and wish to specify that I want the "info" namespace to look first for a local dictionary service; then for content bundles named "info", "dictionary", "wiki", "wikipedia"; then for a "monkeys" page on a local school server, a regional server, or a set of websites (each with their own mapping of a keyword to a URL). These mappings could be provided in a global database, a most-used subset of which is on every XO; with optional overrides and changes in priority contained within a content bundle. Finally, there should be options for what to do when multiple namespaces exist -- the link to 'monkeys' might indicate on hover how many options there are beyond the obvious; a global preference might cause following a multiple-result hyperlinks to display a list of search results rather than immediately taking you to the top ranked result.
As an example: I might include the link [[info:monkeys]] and wish to specify that I want the "info" namespace to look first for a local dictionary service; then for content bundles named "info", "dictionary", "wiki", "wikipedia"; then for a "monkeys" page on a local school server, a regional server, or a set of websites (each with their own mapping of a keyword to a URL). These mappings could be provided in a global database, a most-used subset of which is on every XO; with optional overrides and changes in priority contained within a content bundle. Finally, there should be options for what to do when multiple namespaces exist -- the link to 'monkeys' might indicate on hover how many options there are beyond the obvious; a global preference might cause following a multiple-result hyperlinks to display a list of search results rather than immediately taking you to the top ranked result.
</small></blockquote>


'''Contribution process''' : Guidelines and explicit forms for contributing
'''Contribution process''' : Guidelines and explicit forms for contributing
Line 23: Line 27:
'''Knowledge flow''' : How ideas and knowledge and information should flow through an XO community and network. See [[Memebrand]].
'''Knowledge flow''' : How ideas and knowledge and information should flow through an XO community and network. See [[Memebrand]].


== II. Libraries and Activities ==


'''Library interface''' : A dynamic and searchable view of the collections and
activities on one's XO, including data from one's Journal and from
accessible online collections; including a way to add new collections to
what is locally accessible, and a way to explicitly see and update one's
local cache.
'''Educational categories''' : A set of top-level categories for early
education, from the source at [[core library topics]], according to
guidelines for category priority, with a section for new category
suggestions.
: one globally. localized*.


=== Community ===
'''XO core content''' : A set of bundles about the XO and other, filtered up via
the [[featured content]] page, selected by the {OLPC team}.
: one per language*.

'''XO bundle archive''' : A set of activity and library bundles stored on-disk,
not quite as good or central as the core library but shipped on every
laptop. Includes other [[featured content]], bundles chosen for their
compliance with the [[featured content guidelines]]
: one globally. localized*.

'''Exemplary content bundles''' : Bundles covering a specific topic in broad,
simple strokes, with links to originals and further information online, and
clear attribution of authors and curators.
: one for select topics (biology, picturbooks, &c). localized*.

'''XO core activities''' : A set of core activities that ships on every build (no
distinction between 'olpc-maintained', 'etoys-maintained', &c), selected
from the list at [[core activities]] by the {OLPC team}.

'''XO bundled activities''' : A set of activities included in the XO bundle
archive, from the list of [[featured activities]], selected for their
compliance with [[featured activity guidelines]].

'''XS school content''' : A set of free/NC bundles and large datasets for a school
library, including all featured bundles; drawn from the [[featured
collections]] list and guided by the relevant guidelines, in three versions:
: (1) for a 1GB USB stick ( one per language )
: (2) for a DVD ( one globally, many langs )
: (3) for 150GB of disk ( one globally, " ", with regional non-free variants)

'''Global library''' : guidelines for [[contributing content]] and code to,
organizing, and browsing the [[global library]] of collections of material
produced by the XO network.
: one globally, localized.

'''Library network''' : Guidelines for defining and linking to [[local
repositories]] of libraries and collections designed for use with the XO;
including non-free additions to the XSL (3), existing digital libraries, and
any other materials.

== III. Community ==


'''Local group creation''': A process for identifying and announcing an [[OLPC
'''Local group creation''': A process for identifying and announcing an [[OLPC
Line 96: Line 48:




More to come, SJ


= Visual specifications =


== Bundles ==
=== Bundles ===


* [[Activity bundles]]
* [[Activity bundles]]
* [[Content bundles]]
* [[Content bundles]]


== Graphics ==
=== Graphics ===


* [[Graphics API]]
* [[Graphics API]]


== Controls ==
=== Controls ===


* [[Specifications/Trays | Trays]]
* [[Specifications/Trays | Trays]]
* [[Specifications/Palettes | Palettes]]
* [[Specifications/Palettes | Palettes]]


== Services ==
=== Services ===


* [[Specifications/Clipboard | Clipboard]]
* [[Specifications/Clipboard | Clipboard]]
Line 120: Line 70:
* [[Specifications/Choosers | File Choosers]]
* [[Specifications/Choosers | File Choosers]]
* [[Specifications/Notifications | Notifications]]
* [[Specifications/Notifications | Notifications]]
* [[Specifications/Object Transfers | Object Tansfers]]


== Security ==
=== Security ===
* [[Manifest Specification]]
* [[Manifest Specification]]
* [[Firmware Key and Signature Formats]]
* [[Firmware Key and Signature Formats]]


== Activities ==
=== Library ===

* [[Specifications/Library | Library]]

=== Communication ===

* [[Specifications/Communication | Communication]]

=== Activities ===


* [[Journal/Specifications | Journal]]
* [[Journal/Specifications | Journal]]

Latest revision as of 18:26, 24 March 2008

A short key

[[wiki pages]] and their style guidelines are largely community-driven.   
{notes in curlies} indicate important items whose definitions may change.
* bulleted items are "in progress".
    intro paragraphs to a more detailed article are included inline for illustration

Specs in brief

Each item below needs its own page and detailed discussion. A good bit of development and planning has been done without specifications, and in pursuit of a narrow if admirable set of goals without detailed or spanning use cases.

Content, linking, publishing

Link once, find everywhere : It should be possible to link out to further information without knowing how far away the information is on the network. URLs have to do with location; even URIs have overtones of being a specific resource and not a specific concept. If I want to link out to more information about monkeys, I should be able to denote that without specifying the exact resource I want to use -- the reader will have only a limited set of resources available.

As an example: I might include the link info:monkeys and wish to specify that I want the "info" namespace to look first for a local dictionary service; then for content bundles named "info", "dictionary", "wiki", "wikipedia"; then for a "monkeys" page on a local school server, a regional server, or a set of websites (each with their own mapping of a keyword to a URL). These mappings could be provided in a global database, a most-used subset of which is on every XO; with optional overrides and changes in priority contained within a content bundle. Finally, there should be options for what to do when multiple namespaces exist -- the link to 'monkeys' might indicate on hover how many options there are beyond the obvious; a global preference might cause following a multiple-result hyperlinks to display a list of search results rather than immediately taking you to the top ranked result.

Contribution process : Guidelines and explicit forms for contributing files, bundles, or collections to be automatically-bundled to the [[global library]] and to one's local network; the former through interfaces on the Internet, the latter through the local library interface.

one global process; national addenda*

New language requests : Guidelines for making a new language request -- wiki, pootle, core library, mailing list, keyboard, IRC channel.

Knowledge flow : How ideas and knowledge and information should flow through an XO community and network. See Memebrand.


Community

Local group creation: A process for identifying and announcing an [[OLPC user group]], including definition on a project page, identifying members, applying for an email account and sending mail to the grassroots list.

includes guidelines for interacting with local government, media, event organizers, NGOs, LUGs, and the like.

Official community hubs: Guidelines for becoming an officially-recognized OLPC community hub, with public details about projects and members, eligible for local receipt and distribution of community XOs. This ties into local aggregation of laptop distribution.

Laptop distribution: Guidelines for submitting a project, use case, or other request for short or long-term use of community XOs to develop, test, promote, research, educate or inspire on or with the laptops; guided by a list of XO request guidelines that encourages community debate, prioritization, and sharing of new projects. A process for regular selection of projects and groups to receive laptops.



Bundles

Graphics

Controls

Services

Security

Library

Communication

Activities