Specifications: Difference between revisions

From OLPC
Jump to navigation Jump to search
 
(17 intermediate revisions by 5 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.
{notes in curlies} indicate important items whose definitions may change.
* bulleted items indicates "in progress".


=== Content, linking, publishing ===
== I. Libraries and Activities ==


'''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.
Library interface : A dynamic and searchable view of the collections and

activities on one's XO, including data from one's Journal and from
<blockquote><small>
accessible online collections; including a way to add new collections to
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.
what is locally accessible, and a way to explicitly see and update one's
</small></blockquote>
local cache.

Contribution process : Guidelines and explicit forms for contributing
'''Contribution process''' : Guidelines and explicit forms for contributing
files, bundles, or collections to be automatically-bundled to the [[global
files, bundles, or collections to be automatically-bundled to the [[global
library]] and to one's local network; the former through interfaces on the
library]] and to one's local network; the former through interfaces on the
Line 20: Line 22:
: one global process; national addenda*
: one global process; national addenda*


'''New language requests''' : Guidelines for making a [[new language request]] --
Educational categories : A set of top-level categories for early
education, from the source at [[core library topics]], according to
wiki, pootle, core library, mailing list, keyboard, IRC channel.
guidelines for category priority, with a section for new category
suggestions.
: one globally. localized*.


'''Knowledge flow''' : How ideas and knowledge and information should flow through an XO community and network. See [[Memebrand]].
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*.


=== Community ===
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}.


'''Local group creation''': A process for identifying and announcing an [[OLPC
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.

Local libraries: 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.

== II. Community ==

Local group creation: A process for identifying and announcing an [[OLPC
user group]], including definition on a project page, identifying members,
user group]], including definition on a project page, identifying members,
applying for an email account and sending mail to the grassroots list.
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.
: includes guidelines for interacting with local government, media, event organizers, NGOs, LUGs, and the like.


Official community groups: Guidelines for becoming an officially-recognized
'''Official community hubs''': Guidelines for becoming an officially-recognized
[[OLPC community]], with public details about projects and members, eligible
[[OLPC community]] hub, with public details about projects and members, eligible
for local receipt and distribution of [[community XOs]].
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
'''Laptop distribution''': Guidelines for submitting a project, use case, or other
request for short or long-term use of [[community XOs]] to develop, test,
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
promote, research, educate or inspire on or with the laptops; guided by a
Line 83: Line 46:
prioritization, and sharing of new projects. A process for regular
prioritization, and sharing of new projects. A process for regular
selection of projects and groups to receive laptops.
selection of projects and groups to receive laptops.

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




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