Collaboration Requirements

Greg Smith gregsmitholpc at
Wed Jul 30 17:21:34 EDT 2008

Hi All,

I wrote up some collaboration requirements to help get us to a
definition of collaboration support that teachers can use in schools.

This is my first somewhat rigorous requirements definition for OLPC so
comments on style as well as substance are welcome.

I will take one round of comments then I'll find a place for it in the
wiki (more comments always welcome after that).

Collaboration requirements for OLPC XOs and XS
Greg Smith
July 30, 2008

The concept of "Collaboration" has been around for a long time. I have
used cuseeme, MeetingPlace, NetMeeting, WebEx, IRC, AIM, Gobbby,
Sametime, PC Anywhere, Cisco HD Video conferencing and others. Our
challenge is different in three respects.
- wireless
- educational use
- greater scale

The goal of this requirement definition is to provide all the information
necessary to define tests and fix critical collaboration bugs in 8.2.0 
and to set a goal for 9.1.0.

The best case is that this write up motivates test cases which results 
in a list of detailed examples of collaboration  that will be supported 
in 8.2.0. These examples should be deployable and usable by teachers in 
class. Examples of use cases generated by teachers are at:

Collaboration is an area where we are on the cutting edge of available
technology. It was well promoted and teachers on the "sur" list have
repeatedly asked for a definition of how to use it successfully.

A list of activities supposedly enabled for collaboration is at:

Documentation on previous wireless tests is at:

Requirements Definition:

I set a high bar but I try to balance between available technology and
the desires of the teachers. I hope can at least test to this standard
soon, even if we don't close all bugs found by that testing until later.

Requirements beginning with "must" are critical to success, "should" are
very important but can be deferred and nice to have are "very useful"
but likely to be deferred.

If a "must" requirement cannot be met, we should still attempt to
support as much of it as possible (e.g. if we can't do 50 XOs in N9, 40
or 30 should be tested and supported).

I - Network Requirements

i - Supported Architectures
N1 - Must support one of the four network scenarios defined at:

The scenarios in priority order are named as follows.
S1 - Simple Wifi
S2 - School Wifi
S3 - Simple Mesh
S4 - School mesh (no need to test, just recorded here for completeness)

ii - RF Environments
N2 - Must support environments where there are no other RF signals
beyond the APs as needed by the network scenario.

N3 - Must support RF environments where up to 2 other APs are visible in
the XO neighborhood.

N4 - Should support environments where there are up to 4 other APs
visible in the XO neighborhood.

II - Scale
i - Scale of XOs collaborating
N5 - Must support up to 10 XOs collaborating together. See activity
examples for exact steps.

N6 - Should support up to 20 XOs collaborating together.

N7 - Nice to support up to 30 XOs collaborating together.

ii - Scale of XOs visible within range of each other

N8 - In N5 above must allow up to 1500 XOs within range in the school.
Can require that all other XOs aside from those collaborating have their
antennas turned off.

N9 - Must allow 50 (should allow 100, nice to have 300) other XOs within
range in the school where all XOs have their radios turned on. Can
require that only those collaborating are using the network (AKA
everyone else is verbally asked to stop using the Internet and stop
collaborating) but they can leave their XO radios on in scenario S1

N10 - Must allow 50 (should allow 100, nice to have 300) XOs within
range in the school where all XOs have their radios turned on. Can
require that only those collaborating are using the network (AKA no
collaboration and no Internet access) in scenario S2.

N11 - Must allow 50 (should allow 100, nice to have 300) XOs within
range in the school where all XOs have their radios turned on. Can
require that only those collaborating are on a given Mesh channel (1,6
or 11) while all the other XOs are on different Mesh channels in scenario S3

III Types of collaboration

In all cases, a single XO starts activity, then shares it, then other
XOs join the shared activity.

N12 - Must support up to 3 XOs using an activity and all others XOs (as
allowed by the scale) watching what happens on that screen.

N14 - Should support 10 XOs (as allowed by scale) using an activity

N15 - Nice to have all XOs as allowed by scale using an activity

N16 - Must support pairs of two XOs collaborating with each other up to
the number of XOs supported by scale.

N17 - Should support all the partitions of XOs collaborating with each
other (e.g. with 6 XOs, allow 2,2,2 and 3,3 and 4,1,1 etc).

N16 - Where an activity allows saving, must support saving at any time
where the XO which saves gets a current copy of the shared file. If its
a "save as" or "save" but not exit action then the XO which saves
returns to the shared view. Where its an automatic "save" by leaving the
activity, the journal must store a current copy of the shared file. All
of these saving actions must not interfere in any way with the saved  or
shared file on the other XOs or with the collaboration or network
connectivity of any XOs.

IV - Activity Level Details
N17 - Must support Chat

N18 - Must support Write including adding pictures, formatting with
tables and other write tasks.

N19- Must support record including sharing pictures and recorded video
with audio.

N20 - Must support Read

N21 - Must support eToys

N22 - Should support other activities listed at:

That's it! Do that and version 10.2 will be coded by kids who grew up
sharing activities on an XO :-)


Greg S

More information about the Devel mailing list