Requirements: Difference between revisions
mNo edit summary |
No edit summary |
||
(27 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{Translations}} |
{{Translations}} |
||
{{OLPC}} |
{{OLPC}} |
||
{{Obsolete|link=[[Releases]]}} |
|||
===Journal/Datastore=== |
|||
(This is work in process, week of 1/14/08) |
|||
* J1 Journal features |
|||
** J1.1 Versioning and auto-save |
|||
** J1.2 Delta Compression |
|||
** J1.3 Full text search in the journal |
|||
* J2 Journal Backup - Smart Dropoff |
|||
** J2.1 Transparent backup between XO and School Server |
|||
** J2.2 History list is always available on the XO; items that are stored on the School Server are still available |
|||
** J2.3 When the journal approaches 'full'; need a notification |
|||
** J2.4 User can check the items in the journal that should not drop off (click on the star) |
|||
** J2.5 User dialog (control panel?) to ask if auto drop-off should happen |
|||
** J2.6 Items that are backed-up to the school server CAN be removed locally |
|||
** J2.7 Some meta data stays in the journal; it is gone until someone searches and clicks it in the journal |
|||
* J3 Datastore features for reliability and performance |
|||
** J3.1 Fault-tolerance |
|||
** J3.2 Rebustness |
|||
** J3.3 Performance |
|||
** J3.4 Better transparency - finding items with tools other than the journal |
|||
* J4 Activities (specific to the datastore) |
|||
The journal will never delete something unless it is the only way to keep the XO running. |
|||
===Control Panel/Preferences=== |
|||
See [[Sugar_Control_Panel]] for how to activate in Update.1 |
|||
* CP1 Network control options |
|||
** CP1.1 Automatic MPP enabled/disabled |
|||
** CP1.2 Set order of automatic connection (XO Mesh before AP, for example) |
|||
** CP1.3 '''Set which jabber/school server''' |
|||
** CP1.4 Select channels of operation |
|||
** CP1.5 '''Turn Radio on/off''' |
|||
** CP1.6 Control whether the radio turns off while the laptop is suspended |
|||
** CP1.7 Turn IPv4 on/off |
|||
** CP1.8 Turn IPv6 on/off |
|||
** CP1.9 Flush Network Manager history |
|||
** CP1.10 Turn off probe requests |
|||
** CP1.11 Switch for classroom (dense) environment, to turn off mDNS repeating |
|||
* CP2 Accessibility options |
|||
** CF2.1 Turn high-contrast mode on/off |
|||
** CF2.2 Default font size |
|||
** CF2.3 Turn on/off system sounds |
|||
** CF2.4 Set mouse parameters |
|||
* CP3 Language options |
|||
** CP3.1 '''Change locale for sugar environment''' |
|||
** CP3.2 Set XKB configuration for supporting multiple languages, styles (e.g., Dvorak), dead key vs combining key, etc. |
|||
** CP3.3 Set default font |
|||
* CP4 Sugar options |
|||
** CP4.1 '''Change XO colors''' |
|||
** CP4.2 Change XO knot points |
|||
** CP4.3 '''Change nickname''' |
|||
** CP4.4 Turn 'traditional" desktop on/off |
|||
** CP4.5 Turn ALL CAPS mode on/off |
|||
** CP4.6 Flush "recent document" list |
|||
** CP4.7 '''Set default printer''' |
|||
** CP4.8 '''Set timezone''' |
|||
** CP4.9 Set default font |
|||
** CP4.10 Enable/Disable default boot sound and graphics |
|||
** CP4.11 Turn on/off mouse-tap for left button push |
|||
* CP5 Security |
|||
** CP5.1 Enable/disable developer mode (requires developer key) |
|||
** CP5.2 '''Force system update''' |
|||
* CP6 Legal |
|||
** CP6.1 Set/change default license |
|||
* CP7 Browser Options |
|||
** CP7.1 '''Set default URL for browser''' |
|||
** CP7.2 '''Set default browser font size''' |
|||
===Mesh / Connectivity Requirements=== |
===Mesh / Connectivity Requirements=== |
||
Line 32: | Line 103: | ||
===Power Management Requirements=== |
===Power Management Requirements=== |
||
Most of the power management is behind the scene and should be invisible to the student. |
Most of the power management is behind the scene and should be invisible to the student. For update1 release there will be no difference in power management whether the laptop is using external power adapter or its battery. |
||
The [[Table_of_Power_Mgmt|Power Management Table]] details what sections of the laptop are powered in different states. A more detailed description of the implementation is available at [[Hardware Power Domains]]. |
The [[Table_of_Power_Mgmt|Power Management Table]] details what sections of the laptop are powered in different states. A more detailed description of the implementation is available at [[Hardware Power Domains]]. |
||
==== |
====Sleep Mode==== |
||
The purpose of the 'Sleep' button (power on button) on the laptop is to allow a child to leave the laptop open with the antenna up (and potentially having set up a good RF relay); and go into suspend with only the wireless on. |
|||
*PW1 After X minutes of inactivity through keyboard, mouse, directional, or gamepad keys, the screen will turn completely off (black), unless a running activity has asked to inhibit this timeout. |
|||
*PW2 In this mode, the mesh network is working properly and can forward packets. |
|||
*PW3 The screen will turn back on at the press of any key on the keyboard, mouse, directional or gamepad keys. The back light will come back on to the level it was before the screen was turned off. (Will the key press be acted on ?) |
|||
*PW1.1: In sleep mode, the screen goes blank |
|||
====Suspend/Resume Button==== |
|||
*PW1.2: Power LED blinks slowly |
|||
The purpose of the 'suspend/resume' button on the laptop is to allow a child to leave the laptop open with the antenna up (and potentially having set up a good RF relay); and go into suspend with only the wireless on. The 'suspend' that happens is the same as that when the lid is closed, but that changes the RF characteristics quite a bit. |
|||
*PW1.3: Wireless continues to work (Wireless LEDS continue to work) |
|||
*PW1.4: Comes out of Sleep mode by pressing power button; no other buttons will bring the laptop out of sleep mode. |
|||
====Suspend==== |
|||
*PW4 Pushing the 'Suspend/Resume' button (previously the power button), will put the laptop into suspend mode, which includes Screen off. |
|||
The purpose of suspend is behind the scenes processor suspension to save power during regular use. |
|||
**PW4.1 In suspend mode, the laptop will continue to forward mesh networking packets if it is in the path between other mesh points (laptops, school servers). |
|||
**PW4.2 Pushing the 'Suspend/Resume' button when the laptop is suspended will return it to powered on state with the same activities running as before it suspended. |
|||
**PW4.3 Pressing any key on the keyboard, the mouse, directional keys or gamepad keys will also return the laptop to its full operational state. |
|||
*PW5 When the battery gets to its defined shut down level, whether in suspend mode or full operational mode, it will shut down gracefully, without data destruction. |
|||
*PW6 The student must be able to execute a full power down of the laptop from the Sugar home view. |
|||
*PW2.1: After a short delay the screen dims |
|||
====Lid Closed==== |
|||
*PW2.2: After additional delay the processor suspends and the power LED blinks slowly |
|||
Whenever a student closes the lid, the laptop should go into suspend mode to save battery power. Wireless is still operational. |
|||
*PW2.3: At this second delay, the screen goes blank (not currently in update1) |
|||
*PW2.4: Wireless continues to work (wireless LEDS visible) |
|||
*PW3.5: Any key or the touchpad brings the laptop out of suspend; and is an active key (not lost), even if the screen was blank. |
|||
====Lid Close==== |
|||
*PW7 When the lid is closed on the laptop, it will have the same affect as pushing the suspend/resume button (see [[#Suspend/Resume_Button|Suspend/Resume Button]]). |
|||
*PW8 When the lid is opened, the laptop will resume (or, it may be necessary for the student to press a key or the suspend/resume button) |
|||
*PW3.1: Closing the lid should go into 'Sleep Mode' |
|||
*PW3.2: Wireless should turn off (not in update1) |
|||
*PW3.3: Even after opening the lid, the power button is used to come out of sleep mode. |
|||
====Ebook mode==== |
====Ebook mode==== |
||
Behind the scenes, reading should consume the least amount of power after 'suspend'. The student shouldn't notice anything when in ebook mode. |
Behind the scenes, reading should consume the least amount of power after 'suspend'. The student shouldn't notice anything when in ebook mode. |
||
* |
*PW4.1: A student can download a pdf file, and click on it. It will format and open for reading on the screen in low power mode. The screen brightness button can be used to reduce the power consumption even more. |
||
* |
*PW4.2: The student can convert the laptop to tablet mode and use the directional keys for scrolling through the text. |
||
* |
*PW4.3: If the student presses the rotate button, the screen will rotate 90 degrees. (This is in any mode, not just ebook mode !) |
||
* |
*PW4.4: In ebook mode, the screen may be turned off (see [[#Screen_off|Screen Off]]) if there is no input activity for a fixed time period. |
||
===Laptop Activation=== |
===Laptop Activation=== |
||
Line 80: | Line 153: | ||
*AU3 The laptop should provide ways to play audio files of all common audio formats at any sampling rate |
*AU3 The laptop should provide ways to play audio files of all common audio formats at any sampling rate |
||
*AU4 The laptop should provide a common format for sharing audio and music file between activities |
*AU4 The laptop should provide a common format for sharing audio and music file between activities |
||
===Clipboard Requirements=== |
|||
The main purpose of the clipboard is to provide the students with an easy access location to store things to be referenced or used at other times or with other activities. Whenever possible drag and drop should be available; and CTL-C and CTL-V for cut and paste should also be available. |
|||
*CL1 Activities should allow the student to save the output to the clipboard. Once it is there, an icon representation shows up on the left hand task bar. (demoable in trial-2) |
|||
**CL1.1 The sugar task bar should appear if a student is dragging something to the left. The object should be copied to the clipboard, showing up as an icon on the left hand side of the taskbar. |
|||
**CL1.2 After the drag and copy to clipboard are complete, the sugar task bar should disappear again until the student mouses over it. |
|||
**CL1.3 Paint should allow saving the highlighted selection to clipboard via an edit command or with CTL-C, or by dragging it to the left hand task bar. If nothing is highlighted, the entire picture is saved to the clipboard. (trial-3?) |
|||
**CL1.4 Abiword should allow saving the highlighted selection to the clipboard via an edit command, CTL-C, or by dragging it to the left hand task bar. If nothing is highlighted, the entire picture is saved to the clipboard. (trial-3?) |
|||
**CL1.5 Record should allow saving a photo or movie to the clipboard via command or drag. (trial-3?) |
|||
**CL1.6 Browse should allow saving a URL, an image, or a highlighted section to the clipboard via an edit command, CTL-C, or by dragging it to the clipboard. (trial-3?) |
|||
**CL1.7 The Journal should allow moving any activity generated file to the clipboard via a command or by dragging it to the left hand task bar. (trial-2) |
|||
*CL2 Something that has been saved to the clipboard, should be easily inserted into the student's active application, such as an Abiword document, Chat session, or Paint activity, as appropriate. (demoable in trial-2) |
|||
**CL2.1 The clipboard should allow any stored item to be 'pasted' into the active activity via a command on the flyover. |
|||
**CL2.2 The Abiword activity should allow dragging from the clipboard into the document. (Demoable in trial-2) |
|||
**CL2.3 The Paint activity should allow dragging from the clipboard into its document. (trial-3) |
|||
**CL2.4 Pasting from the clipboard into the Chat activity would make the clipboard file available to everyone logged into the chat. (trial-3?) |
|||
**CL2.5 The Browse activity should allow a clipboard item to be dragged into the URL input to try to execute it as a url. |
|||
===AbiWord Sharing Requirements=== |
|||
*AB1.0 The student can create an AbiWord doc and share it. |
|||
**AB1.1 Another student can click on the shared copy from the neighborhood mesh and will see the same document. |
|||
**AB1.2 Changes made by either student while the document is open and shared can be seen by both students. |
|||
**AB1.3 Documents with embedded images are sharable. |
|||
*AB2.0 One student makes changes to the document while at home, then returns to school, then shares it again. |
|||
**AB2.1 Other students can click on the shared doc and see the updated version. |
|||
*AB3.0 If two or more students make changes to the same document while not connected; they can decide which of the versions they want to share with others. That student can share the document and others can retrieve that version. |
|||
*AB4.0 If two or more students make changes to the document and both of them share it, there will be two different documents in the neighborhood mesh view. They are no longer in sync and the second one shared will be forced to have a new name. |
Latest revision as of 18:50, 4 August 2008
Journal/Datastore
(This is work in process, week of 1/14/08)
- J1 Journal features
- J1.1 Versioning and auto-save
- J1.2 Delta Compression
- J1.3 Full text search in the journal
- J2 Journal Backup - Smart Dropoff
- J2.1 Transparent backup between XO and School Server
- J2.2 History list is always available on the XO; items that are stored on the School Server are still available
- J2.3 When the journal approaches 'full'; need a notification
- J2.4 User can check the items in the journal that should not drop off (click on the star)
- J2.5 User dialog (control panel?) to ask if auto drop-off should happen
- J2.6 Items that are backed-up to the school server CAN be removed locally
- J2.7 Some meta data stays in the journal; it is gone until someone searches and clicks it in the journal
- J3 Datastore features for reliability and performance
- J3.1 Fault-tolerance
- J3.2 Rebustness
- J3.3 Performance
- J3.4 Better transparency - finding items with tools other than the journal
- J4 Activities (specific to the datastore)
The journal will never delete something unless it is the only way to keep the XO running.
Control Panel/Preferences
See Sugar_Control_Panel for how to activate in Update.1
- CP1 Network control options
- CP1.1 Automatic MPP enabled/disabled
- CP1.2 Set order of automatic connection (XO Mesh before AP, for example)
- CP1.3 Set which jabber/school server
- CP1.4 Select channels of operation
- CP1.5 Turn Radio on/off
- CP1.6 Control whether the radio turns off while the laptop is suspended
- CP1.7 Turn IPv4 on/off
- CP1.8 Turn IPv6 on/off
- CP1.9 Flush Network Manager history
- CP1.10 Turn off probe requests
- CP1.11 Switch for classroom (dense) environment, to turn off mDNS repeating
- CP2 Accessibility options
- CF2.1 Turn high-contrast mode on/off
- CF2.2 Default font size
- CF2.3 Turn on/off system sounds
- CF2.4 Set mouse parameters
- CP3 Language options
- CP3.1 Change locale for sugar environment
- CP3.2 Set XKB configuration for supporting multiple languages, styles (e.g., Dvorak), dead key vs combining key, etc.
- CP3.3 Set default font
- CP4 Sugar options
- CP4.1 Change XO colors
- CP4.2 Change XO knot points
- CP4.3 Change nickname
- CP4.4 Turn 'traditional" desktop on/off
- CP4.5 Turn ALL CAPS mode on/off
- CP4.6 Flush "recent document" list
- CP4.7 Set default printer
- CP4.8 Set timezone
- CP4.9 Set default font
- CP4.10 Enable/Disable default boot sound and graphics
- CP4.11 Turn on/off mouse-tap for left button push
- CP5 Security
- CP5.1 Enable/disable developer mode (requires developer key)
- CP5.2 Force system update
- CP6 Legal
- CP6.1 Set/change default license
- CP7 Browser Options
- CP7.1 Set default URL for browser
- CP7.2 Set default browser font size
Mesh / Connectivity Requirements
These requirements describe the connectivity of laptops to a school server mesh, to an infrastructure Access Point, and to each other through a local (not internet connected) mesh.
School Server
- M1 Laptops can connect to a school server mesh when booted up without any user intervention.
- M1.1 Files, services, and internet connectivity on the school server are available to the laptop.
- M1.2 Laptops on a mesh served by a school server can see each other in neighborhood mesh view.
- M1.3 Laptops on a mesh served by a school server can share activities.
Infrastructure AP
- M2 Laptops can connect to infrastructure Access Points:
- M2.1 Open, automatically if there is no school server mesh
- M2.2 Open, by clicking on the Access Point in the neighborhood mesh view
- M2.3 WEP enabled
- M2.3.1 Sugar should ask for a key for the first connection attempt to each secured AP.
- M2.3.2 Sugar should allow the following key formats to be entered:
- 64-bit hex
- 128-bit hex
- 64-bit ASCII
- 128-bit ASCII
- M2.3.3 Once a successful connection has been established, Sugar should remember the key used.
- M2.4 WPA enabled
- M2.4.1 Sugar should ask for a key for the first connection attempt to each secured AP.
- M2.4.2 Once a successful connection has been established, Sugar should remember the key used.
No Internet Access
- M3 Laptops can connect to each other when used in locations with no access to the internet (no infrastructure AP, school server, or other networks).
- M3.1 Each laptop can see the other laptop(s) in the neighborhood mesh view and share activities.
Power Management Requirements
Most of the power management is behind the scene and should be invisible to the student. For update1 release there will be no difference in power management whether the laptop is using external power adapter or its battery.
The Power Management Table details what sections of the laptop are powered in different states. A more detailed description of the implementation is available at Hardware Power Domains.
Sleep Mode
The purpose of the 'Sleep' button (power on button) on the laptop is to allow a child to leave the laptop open with the antenna up (and potentially having set up a good RF relay); and go into suspend with only the wireless on.
- PW1.1: In sleep mode, the screen goes blank
- PW1.2: Power LED blinks slowly
- PW1.3: Wireless continues to work (Wireless LEDS continue to work)
- PW1.4: Comes out of Sleep mode by pressing power button; no other buttons will bring the laptop out of sleep mode.
Suspend
The purpose of suspend is behind the scenes processor suspension to save power during regular use.
- PW2.1: After a short delay the screen dims
- PW2.2: After additional delay the processor suspends and the power LED blinks slowly
- PW2.3: At this second delay, the screen goes blank (not currently in update1)
- PW2.4: Wireless continues to work (wireless LEDS visible)
- PW3.5: Any key or the touchpad brings the laptop out of suspend; and is an active key (not lost), even if the screen was blank.
Lid Close
- PW3.1: Closing the lid should go into 'Sleep Mode'
- PW3.2: Wireless should turn off (not in update1)
- PW3.3: Even after opening the lid, the power button is used to come out of sleep mode.
Ebook mode
Behind the scenes, reading should consume the least amount of power after 'suspend'. The student shouldn't notice anything when in ebook mode.
- PW4.1: A student can download a pdf file, and click on it. It will format and open for reading on the screen in low power mode. The screen brightness button can be used to reduce the power consumption even more.
- PW4.2: The student can convert the laptop to tablet mode and use the directional keys for scrolling through the text.
- PW4.3: If the student presses the rotate button, the screen will rotate 90 degrees. (This is in any mode, not just ebook mode !)
- PW4.4: In ebook mode, the screen may be turned off (see Screen Off) if there is no input activity for a fixed time period.
Laptop Activation
- ACT1 A Laptop that has not been activated will not complete the boot up process and will display an activation failure message for 5 minutes before terminating in a powered down state.
- ACT2 A Laptop that has been activated with the correct activation code, will boot completely into the start up screen, requesting the student to enter start-up data (name, XO color).
- ACT3 A Laptop that tries to activate against an incorrect activation code, will not boot completely and will display an activation error message for 5 minutes and terminate in the powered down state.
Laptop Upgrade via USB
- UP1 It is possible for a student to upgrade his XO image from a USB stick.
- UP1.1 This software will first allow for backing up user data; do the upgrade; and allow for restore of user data.
- UP1.2 Problems with the backup, upgrade, or restore should provide an appropriate error message with suggestion for how to recover.
Audio Requirements
- AU1 The student should be able to download standard MIDI files from the internet and play them on the laptop.
- AU2 Activities should be able to access a local, shared audio sample library.
- AU3 The laptop should provide ways to play audio files of all common audio formats at any sampling rate
- AU4 The laptop should provide a common format for sharing audio and music file between activities
Clipboard Requirements
The main purpose of the clipboard is to provide the students with an easy access location to store things to be referenced or used at other times or with other activities. Whenever possible drag and drop should be available; and CTL-C and CTL-V for cut and paste should also be available.
- CL1 Activities should allow the student to save the output to the clipboard. Once it is there, an icon representation shows up on the left hand task bar. (demoable in trial-2)
- CL1.1 The sugar task bar should appear if a student is dragging something to the left. The object should be copied to the clipboard, showing up as an icon on the left hand side of the taskbar.
- CL1.2 After the drag and copy to clipboard are complete, the sugar task bar should disappear again until the student mouses over it.
- CL1.3 Paint should allow saving the highlighted selection to clipboard via an edit command or with CTL-C, or by dragging it to the left hand task bar. If nothing is highlighted, the entire picture is saved to the clipboard. (trial-3?)
- CL1.4 Abiword should allow saving the highlighted selection to the clipboard via an edit command, CTL-C, or by dragging it to the left hand task bar. If nothing is highlighted, the entire picture is saved to the clipboard. (trial-3?)
- CL1.5 Record should allow saving a photo or movie to the clipboard via command or drag. (trial-3?)
- CL1.6 Browse should allow saving a URL, an image, or a highlighted section to the clipboard via an edit command, CTL-C, or by dragging it to the clipboard. (trial-3?)
- CL1.7 The Journal should allow moving any activity generated file to the clipboard via a command or by dragging it to the left hand task bar. (trial-2)
- CL2 Something that has been saved to the clipboard, should be easily inserted into the student's active application, such as an Abiword document, Chat session, or Paint activity, as appropriate. (demoable in trial-2)
- CL2.1 The clipboard should allow any stored item to be 'pasted' into the active activity via a command on the flyover.
- CL2.2 The Abiword activity should allow dragging from the clipboard into the document. (Demoable in trial-2)
- CL2.3 The Paint activity should allow dragging from the clipboard into its document. (trial-3)
- CL2.4 Pasting from the clipboard into the Chat activity would make the clipboard file available to everyone logged into the chat. (trial-3?)
- CL2.5 The Browse activity should allow a clipboard item to be dragged into the URL input to try to execute it as a url.
AbiWord Sharing Requirements
- AB1.0 The student can create an AbiWord doc and share it.
- AB1.1 Another student can click on the shared copy from the neighborhood mesh and will see the same document.
- AB1.2 Changes made by either student while the document is open and shared can be seen by both students.
- AB1.3 Documents with embedded images are sharable.
- AB2.0 One student makes changes to the document while at home, then returns to school, then shares it again.
- AB2.1 Other students can click on the shared doc and see the updated version.
- AB3.0 If two or more students make changes to the same document while not connected; they can decide which of the versions they want to share with others. That student can share the document and others can retrieve that version.
- AB4.0 If two or more students make changes to the document and both of them share it, there will be two different documents in the neighborhood mesh view. They are no longer in sync and the second one shared will be forced to have a new name.