9.1.0 requirements: Difference between revisions
DanielDrake (talk | contribs) No edit summary |
|||
(268 intermediate revisions by 29 users not shown) | |||
Line 1: | Line 1: | ||
<b><font color=red><big>For information on current and future OLPC software releases, see [[Releases]]</big></font></b> |
|||
= Release 9.1.0 Overview = |
|||
This is a time based release per the process at: <br> |
|||
[[Release Process Home]] |
|||
[http://lists.laptop.org/pipermail/devel/2009-February/023079.html 9.1.0 was cancelled]. However, many of the planned features found their way into newer OLPC OS [[releases]]. |
|||
The process is not final. It is a set of rough guidelines still being worked out and subject to change. |
|||
{{Deprecated}} |
|||
{{RightTOC}} |
|||
This page defined the requirements, schedule and overall planning for a release 9.1.0. |
|||
[[Feature requests]] tracked features, requirements, and requests, and plans by customer; |
|||
== Technical Strategy == |
|||
[[Feature roadmap]] tracked all software features by technical strategy. |
|||
Faster, more robust, better integration of activities, more collaboration... |
|||
See also notes from [[XOcamp 2]] technical conference. |
|||
See requirement definition at [[Requirements]] |
|||
= Overview = |
|||
== Sales - Deployment Strategy == |
|||
This release is the first major new feature release after [[8.2.0]] Its is the first of two major feature releases we want to deliver in 2009. The target date for this release is March 7, 2009 (Note: date and feature set not final and subject to change). |
|||
See customers below. |
|||
This release must run on all existing XO hardware. |
|||
== Pedagogical Strategy == |
|||
.... |
|||
= Technical strategy = |
|||
= Primary Release Drivers = |
|||
This section outlines the main areas of technology that we will focus on improving. All of the specific features should address one of these primary concerns. The choice of these comes from listening to users and deployment leads and hearing what their concerns are. |
|||
Date |
|||
The goal (not confirmed) is to make this release public sometime between December, 2008 and June, 2009. |
|||
The strategic priorities are to make the XO work the way users expect and help get the XO deployed more quickly in more countries. |
|||
Customers |
|||
== Easier to deploy and maintain == |
|||
Features |
|||
'''Easier to deploy''' focuses on facilitating the imaging of XOs, their activation, the installation and extension of custom leases and anything else needed to get the XOs from the factory in to the schools. |
|||
Some examples include: <br> |
|||
# Creating customization images (to include language packs and rpms) |
|||
# Installing images in the warehouse |
|||
# Activation and Leases |
|||
'''Easier to maintain''' focuses on upgrading, keeping the XOs working, monitoring them and allowing recovery of data from errors. |
|||
Some examples include: <br> |
|||
# Upgrade in the schools |
|||
# Updating activities |
|||
# Reducing power consumption |
|||
== Greater reliability and performance == |
|||
= Target Deployments = |
|||
* No loss of data. Fewer crashes and fewer open bugs than 8.2 and previous releases. See also: http://wiki.laptop.org/go/User:Gregorio/8.2.0_release_criteria |
|||
See: [[User talk:Gregorio#Shipment Quantities and Languages]] |
|||
* At the time of the release, works the way the manual says it works. That is, all of the things explained and listed in these manuals must work as described. <br> |
|||
http://www.laptop.org/manual/ <br> |
|||
* Better performance includes faster GUI interactions. Includes launching activities, switching from one activity to another, using the journal and using the frame. GUI, activities, back ups. |
|||
== |
== Primary release drivers == |
||
Date: March 7, 009 |
|||
Spanish <br> |
|||
100K x XOs? |
|||
Customers: [[Rwanda]], [[Peru]], [[Ethiopia]], [[Uruguay]], [[Haiti]], [[OLPC Birmingham]], [[Mongolia]], [[Ghana]], [[Dubai]], [[Lebanon]] |
|||
http://wiki.laptop.org/go/OLPC_Uruguay |
|||
== |
== Features == |
||
Spanish <br> |
|||
100K x XOs? |
|||
=== Top Priority === |
|||
http://wiki.laptop.org/go/OLPC_Peru <br> |
|||
The following are critical must-deliver features for this release. The categories are listed in priority order. <br> |
|||
'''See all top priority features with details on one page [[Feature_roadmap/Page_of_all_features_that_target_9.1.0|here]]''' |
|||
http://wiki.laptop.org/go/Peru_activity_pack <br> |
|||
Feature categorized in to the four main areas are list below: <br> |
|||
40K XOs coming from 656 |
|||
1 - Rebasing on F10 and allowing "regular" Fedora window managers and applications to run. <br> |
|||
100K XOs probably coming from 708 (exact build tbd) [[User:Gregorio|Gregorio]] 10:46, 31 July 2008 (UTC) |
|||
[[Feature roadmap/Rebase on Fedora 10|Rebase on Fedora 10]] <br> |
|||
[[Feature_roadmap/Run_Fedora_applications_on_XO|Run_Fedora_applications_on_XO]] <br> |
|||
2 - Activation/lease/signing/image customization. A subset of the features in [[:Category:Security, activation and deployability]] <br> |
|||
== Mexico == |
|||
[[Feature_roadmap/Activation_lease_security|Activation_lease_security]] <br> |
|||
Spanish <br> |
|||
[[Feature_roadmap/Image_customization|Image_customization]] <br> |
|||
50K x XOs |
|||
[[Feature_roadmap/Image_signing_key_delegation|Image_signing_key_delegation]] <br> |
|||
[[Feature_roadmap/Faster_imaging|Faster_imaging]] <br> |
|||
[[Feature_roadmap/Activation_via_wireless|Activation_via_wireless]] <br> |
|||
3 - Power management. Some key features in [[:Category:Power management]] <br> |
|||
== Mongolia == |
|||
[[Feature_roadmap/Improved_battery_life|Improved_battery_life]] <br> |
|||
Mongolian? <br> |
|||
[[Feature_roadmap/No_power_regressions|No_power_regressions]] <br> |
|||
20K x XOs |
|||
[[Feature_roadmap/Shutdown_menu|Shutdown_menu]] <br> |
|||
4 - Localization/translation. <br> |
|||
== Rwanda == |
|||
[[Feature_roadmap/SCIM]] <br> |
|||
French 10K x XOs |
|||
[[Feature roadmap/Better Arabic Support]] <br> |
|||
[[Feature roadmap/RTL support]] <br> |
|||
== |
=== Second Priority === |
||
These are very important features which benefit priority deployments. Any available engineer is encouraged to help with these, provided it does not take time away from working on the top priority features. |
|||
Kreyol <br> |
|||
13K x XOs |
|||
# Performance http://wiki.laptop.org/go/Feature_roadmap/General_UI_sluggishness |
|||
== Ethiopia == |
|||
# Synchronous collaboration (reliability) http://wiki.laptop.org/go/Feature_roadmap/Synchronous_collaboration |
|||
Amharic <br> |
|||
# Asynchronous collaboration http://wiki.laptop.org/go/Feature_roadmap/Asynchronous_collaboration |
|||
5k x XOs |
|||
# Flash |
|||
= Activities = |
|||
Sign in to the wiki and leave your suggestion for any activities you think we should install by default here. |
|||
Khmer <br> |
|||
1000 XOs |
|||
Each activity will need a maintainer, latest version, and a [[Test_cases|test case]] to be considered for the release. |
|||
== Afghanistan == |
|||
Dari <br> |
|||
3000 x XOs |
|||
The maintainer is the [[Property:Contact person]] on the activity's wiki page (click [Edit with form] and modify "Maintainer's user page" to update). The .xo URL and version for 9.1.0 should be in the activity's Activities/''My activity''_(latest) fragment, e.g. [[Activities/Chat_(latest)]]. ''(If this latest version is incompatible with [[8.2.0]], make sure that [[Activities/G1G1/8.2]] does not reference it.)'' |
|||
== Thailand == |
|||
Thai <br> |
|||
500 x XOs |
|||
{|class="wikitable" |
|||
== India == |
|||
|+ '''Default Activities for 9.1.0''' |
|||
Devanagari <br> |
|||
|- |
|||
500 |
|||
!Name |
|||
!"(latest)" fragment |
|||
!Documentation |
|||
!URL to Test Case |
|||
!License status |
|||
!Status |
|||
! Comments |
|||
|- |
|||
|- |
|||
== Brazil == |
|||
|[[Chat]] |
|||
Portuguese <br> |
|||
|[[Activities/Chat (latest)]] |
|||
200 x XOs |
|||
|[[Chat]] |
|||
| |
|||
|GPLv2+ |
|||
|Accepted pending final tests. |
|||
| |
|||
|} |
|||
== Arabic == |
|||
Sabra and Shatila (Lebanon) <br> |
|||
500 x XOs |
|||
''' Please help add all potential activities to this table. Add as much info as you have and leave the rest blank.''' |
|||
== Oceania == |
|||
Enlish? <br> |
|||
500 x XOs |
|||
== |
=== Nominations === |
||
''(sign your nominations with <tt><nowiki>-- ~~~~</nowiki></tt>)'' |
|||
Italian <br> |
|||
* I nominate [[Develop]]. Version and test case upcoming. [[User:Homunq|Homunq]] 15:04, 10 December 2008 (UTC) |
|||
600 x XOs |
|||
* I nominate [[StarChart]] (http://www.wa1gsf.net/downloads/XO/StarChart-5.xo) version 5 maintained by [[User:davewa|David Wallace]], licensed under GPLv2+. Note that Version 6 is in development and will have 2 more features and should be i18n-ed. Release of v.6 was planned for 1/1/09 but is slipping (because I don't understand how to get the mouse click event). -- [[User:Davewa|Davewa]] 19:39, 10 December 2008 (UTC); edited Jan 6, 2009 |
|||
== Turkey == |
|||
* I nominate SimCity http://wiki.laptop.org/go/Simcity and/or Micropolis, preferably Micropolis if we can get good response from a maintainer. [[User:Gregorio|Gregorio]] 15:21, 11 December 2008 (UTC) |
|||
Turkish? <br> |
|||
15k x XOs |
|||
* I nominate [[Image_Viewer]] and [[Jukebox]]. [[User:Sayamindu|Sayamindu]] 20:30, 17 December 2008 (UTC) |
|||
== Senegal == |
|||
French <br> |
|||
1000 x XOs |
|||
=== Lists of possible candidate activities === |
|||
== Argentina == |
|||
* [[Activities/G1G1/8.2]] is the list of activities that the [[Software updater]] installs and upgrades on [[G1G1]] machines running [[Release notes/8.2.0|Release 8.2.0]]. |
|||
* The following activities have [[Property:Activity group|Activity group]] Activities/G1G1 checked on their wiki page, as of 2008-12-10 the names exactly match [[Activities/G1G1/8.2]] (good!): |
|||
: {{#ask: [[Activity group::Activities/G1G1]] | format = list}} |
|||
* [[Activity queries]] has a sortable list of every wiki page in [[:Category:Activities]], and other counts and queries of activities. |
|||
* As of December 3rd 2008, the following activities have test pages but aren't in the Activities/G1G1 list above. |
|||
: [[Clock]], [[Colors!]] (was Color?) [[Comic]] (not sure what this is), [[GCompris]]-Chess, [[GCompris]]-Sudoku, [[License]], [[x2o]] |
|||
:: (The full list of activities with test pages is<br>Analyze, Browse, Calculate, Clock, Color, Comic, Distance (now Acoustic Tape Measure), Etoys, Gcompris-Chess, Gcompris-Sudoku, Help, Implode, Log, Maze, Measure, Memorize, Moon, Paint, Pippy, Read, Record, TurtleArt, x2o ) |
|||
* During [[8.1.0]] ("Update.1") planning around March 2008, [[Elements]], [[License]], and [[Xo-get]] were to be considered for a future [[G1G1 activity pack]] |
|||
* The following activities are (misplaced) in [[:Category:Activity bundle]] but don't use the the semantic form; so they have a .xo file yet are not in many queries |
|||
:: [[Comic Maker]], [[Firefox]], [[Games/Productive]], [[HablarConSara]], [[HelloMesh]], [[Image Viewer]], [[Lambda]], [[Pacman]], [[Physics]], [[PlayGo]], [[Rollcats]], [[Turtle Art/lang-es]], [[XO-GCC]], [[Xo-get/Xo-get-gtk]], [[XoIRC]] |
|||
* [[Activities]] claims to be the full set of OLPC hosted activities. |
|||
* [[Activities/All]] is inaccurately titled, it's a manually-updated list of activities. |
|||
* a previous listing of activities and status on Google Docs (on the "Matrix deprecated" tab) is at http://spreadsheets.google.com/ccc?key=p_Xhb6KcXLyEViA50CnCaDg&hl=en |
|||
= Schedule = |
|||
== Equitorial Guinea == |
|||
* December 5 - Agree and document on Trac usage. Tag critical features for 9.1.0 on roadmap page and linked on 9.1.0 page. |
|||
* December 12 - Trac scrub underway bugs targeted for inclusion in 9.1.0 flagged. First pass at requirements definition done for all main features. |
|||
* December 19 - Scrub of all past Trac bugs completed. Last round of comments on requirements. First pass at specification write ups. Rough scoping recorded and engineers assigned. |
|||
* December 24 - Branch strategy defined and check in branch chosen (Joyride?). Weekly bug triage begun. |
|||
* January 7 - Presentations for XO Camp shared. All specifications posted and reviews scheduled. Code reviews scheduled as needed. Designs of major features shared with key customers for confirmation and comment. |
|||
* January 12 to 15 - XO Camp held. http://wiki.laptop.org/go/XOcamp_2. |
|||
* January 16 - Sugar 0.83 string/API/feature freeze. See: http://sugarlabs.org/go/DevelopmentTeam/Release/Roadmap |
|||
* January 23 - Code for all major features in branch. Alpha test begun. Daily bug triage begun. Something similar to [[Release_Process_Home#Steam_Milestone|Steam]] milestone announced. |
|||
* January 30 - Beta test begun. Must fix bugs listed in Trac. Release notes started. |
|||
* February 9 - First Release Candidate built. Regression test defined. List of target activities to include in default image chosen. Something similar [[Release_Process_Home#Water_Milestone|Water]] milestone announced. |
|||
* February 16 - Second release candidate chosen. Default activities tested. Something similar to [[Release_Process_Home#Ice_Milestone|Ice]] announced. Penultimate regression test set. Release notes new feature section, final edit. Open bugs section started. |
|||
* February 28 - Final release candidate chosen. Image sent to Quanta for factory verification. Final regression test done. Upgrade tests done for release notes. |
|||
* March 7 - Quanta ships first XO with new image. Final release notes written and reviewed. On time release! |
|||
* March 8 - Release announcement sent out. |
|||
== Panama == |
|||
Spanish |
|||
Possible QA milestones: <br> |
|||
== Birmingham == |
|||
- Start creating test cases for each feature. <br> |
|||
English |
|||
- Finish creating test cases. <br> |
|||
- Execute all test cases once. <br> |
|||
First stab at schedule done by [[User:Gregorio|Gregorio]] 18:50, 2 December 2008 (UTC) |
|||
== South Carolina == |
|||
English |
|||
= Standard information = |
|||
== New York City == |
|||
<small>(These are all semantic annotations that other pages such as [[Releases]] can query.)</small> |
|||
English |
|||
Primary objectives: |
|||
== G1G1 == |
|||
* was to have been a time-based release in 2009 per the process at: [[Release Process Home]]. |
|||
English, other? |
|||
* Deployability |
|||
== China == |
|||
? |
|||
= Priorities from Deployments = |
|||
Should list what, who and why on each item. Should link to detailed requirements and use cases eventually. |
|||
See [[User talk:Gregorio#Priorities from Carla]] |
|||
== Activity Related Work == |
|||
Requests from Birmingham. <br> |
|||
New activities: <br> |
|||
Firefox, Flash, mplayer <br> |
|||
A spreadsheet (I'm going to use gnumeric until Socialcalc is ready for production) <br> |
|||
A more full featured pdf reader (yes, I know there's the Read activity, but I'm planning on installing the full evince and making sure Firefox can open pdfs with it) <br> |
|||
A document editor the user can insert images into (the full Abiword would be great for this, but the current workaround [after editing a file] is to open write, then hit ctrl+n) <br> |
|||
General requests: <br> |
|||
I have got to be able to sugarize third party applications. |
|||
== Longer Battery Life == |
|||
=== Requirement Definition === |
|||
[[Requirements#Power Management Requirements]] |
|||
=== Who requested === |
|||
Kim |
|||
== Touchpad == |
|||
=== Requirement Defintion === |
|||
=== Who requested === |
|||
Improved in 8.2.0 <br> |
|||
Priority request from Carla <br> |
|||
== Collaboration == |
|||
=== [[Requirement Definition]] Phase 1 === |
|||
Allow for intuitive mesh connection and activity-sharing. <br> |
|||
Must support first two use cases defined at: [[Use Cases#Collaboration Examples]] |
|||
[[Requirements#Mesh / Connectivity_Requirements]] |
|||
[[Requirements#AbiWord Sharing Requirements]] |
|||
=== [[Requirement Definition Phase 2]] === |
|||
Interschool, other use cases. |
|||
=== Who requested === |
|||
Priority request from Carla and David. <br> |
|||
Also several thread on OLPC-Sur. <br> |
|||
Peru technical leaders <br> |
|||
=== Inter-school communication === |
|||
What I see as most missing and most necessary is a safe space for collaboration between students at different schools, even in different |
|||
countries. <br> |
|||
http://lists.laptop.org/pipermail/localization/2008-July/001249.html |
|||
== Performance and Reliability == |
|||
Faster activity launching <br> |
|||
6472 |
|||
- File/activity open |
|||
- File save |
|||
- Task switching |
|||
- Activity or main GUI responsivesness to cursor |
|||
- Hardware |
|||
=== Suggestions from Marco === |
|||
From: http://lists.laptop.org/pipermail/sugar/2008-July/007471.html |
|||
1 General UI sluggishness. |
|||
Without going too deep into the stack, I think there is a lot of space or improvement even in the python code. Michael mentioned icon cache |
|||
and mesh view layout, both areas of the code that didn't get any love for a while and where I'm convinced we can make big/quick progresses. |
|||
I'm planning to spend a lot of my time on this in the next release cycle. |
|||
2 Datastore performance. |
|||
I'd expect improving jffs2 performance would be a big win there. The UI can probably be smarter in the way it uses the datastore too Finally we |
|||
can try to improve at the datastore level, but there we clash with the rewrite plans. I think we should find an agreement on the datastore design and just try and get it done for 9.1.0, there are two many things blocking on it. |
|||
We need to allocate time and focus to do some good profiling and then attack the problems we find. That's why I'm advocating for the next |
|||
Sugar release cycle to be largely about perfomance improvements, bug fixes and code refactoring, with the possible exception of the datastore |
|||
rewrite. |
|||
== File Management == |
|||
'''Candybag''' |
|||
Idea for a new activity: Candy Bag. You open a bag (i.e. you launch the |
|||
CandyBag activity), then you put journal entries in it, then sharing |
|||
this activity means that your friends can grab a candy in your bag. |
|||
> >If we want the kids who *love* their machines to come to *know* and |
|||
> > *evolve* their machines, there's a lot more work to be done. |
|||
Let's not lose the focus of making the *teachers* love the machines. |
|||
And let's don't see children as small "hackus homunculus"! :) |
|||
From: http://lists.laptop.org/pipermail/devel/2008-July/017459.html |
|||
See also point #3 at<br> |
|||
http://wiki.laptop.org/go/9.1.0#e-mail_from_Ben_S |
|||
== Localization == |
|||
Spell checking as part of l10n. (Sayamindu and Sur list) |
|||
Allow adding a language after the build is created and without OLPC intervention |
|||
Chinese support (Kim) |
|||
Better RTL support |
|||
== Security Activation and Deployability == |
|||
=== School server push of XO images === |
|||
Requirement: The XO should be able to get the latest build from the school |
|||
server |
|||
* The administrator makes the desired build available in the designated |
|||
directory. When ready, the administrator requests to 'push' the build to all |
|||
laptops as they come on line. Both of these activities should be an |
|||
easy-to-use UI at the school server. |
|||
* A test requirement is the ability to create a white list of serial numbers |
|||
that should be upgraded with the push. |
|||
Source: Peru |
|||
=== Activation lease security feature === |
|||
Requirement - if the laptop is stolen, and doesn't contact its local school |
|||
server within some period time (activation lease time); then it will tell |
|||
the user that it will not activate on next boot and provide date and time. |
|||
Requirement - it is not possible to set the date on the laptop to keep it |
|||
within the lease period or to force it to outside the lease management. This |
|||
might mean you cannot change the date or there is no root access, or it |
|||
might mean an alternate time source is used... (not trying to solve the |
|||
problem, just want to note this requirement). |
|||
Source: Peru |
|||
=== XO Monitoring === |
|||
Requirement: Provide XS database and an API so that countries can create reports and monitoring for various aspects of XOs: |
|||
* Version of code |
|||
* Which laptops are being seen each day |
|||
* Total number of laptops being seen per day |
|||
* Number of laptops accessing the internet |
|||
* List of URLs being accessed |
|||
* List of URLs per laptop |
|||
* Which activities are being used per laptop |
|||
* Number of minutes in each activity per laptop; can we determine (and subtract) idle time? |
|||
* Number of minutes in each activity within and outside of school hours (perhaps this means we capture the 'start' time of each activity and allow the reporting to decide if this is during or outside of school hours). |
|||
Background and implementation ideas: <br> |
|||
I think there might be some work in the XO to make the information available; and a database and API spec from the school server. This is not as high priority for their deployment as the passive lease management, but I believe this feature will be important for any deployment. We should try to get feedback from other deployments as to the information we want to collect. |
|||
Source: Peru |
|||
=== Customized Startup Images === |
|||
Must allow changing startup picture by copying an image to the XO. This should not require any OLPC developer intervention and should not need a new or special build. |
|||
http://lists.laptop.org/pipermail/devel/2008-July/017299.html |
|||
Source: Colombia and Mexico before. |
|||
Already present in 8.1.0. See: http://wiki.laptop.org/go/Tweaking_the_boot_animation |
|||
== Network Manager Connections == |
|||
G1G1 encryption. |
|||
802.11i (AKA 802.1x) Uruguay |
|||
== Unadorned and unedited user feedback == |
|||
6th grade kids feedback on build 656: <br> |
|||
http://sextosdela37.blogspot.com/2008/04/analizando-el-uso-de-las-laptop-en-el.html |
|||
Priorities from Carla: [[User talk:Gregorio#Priorities from Carla]] |
|||
Comments from technical user in Ecuador: <br> |
|||
http://lists.laptop.org/pipermail/olpc-sur/2008-July/000408.html |
|||
== GUI and Usability == |
|||
Request from Uruguay for HW alerts: <br> |
|||
http://lists.laptop.org/pipermail/sugar/2008-July/007086.html |
|||
Designs ideas from Scott and Eben in thread. |
|||
e.g. I hope our alert system will use the freedesktop.org standard: |
|||
http://www.galago-project.org/specs/notification/index.php |
|||
More prominent help information - Brianne, G1G1 <br> |
|||
One idea from Eben. From: http://lists.laptop.org/pipermail/sugar/2008-August/007547.html <br> |
|||
All of our initial discussions on help focused around a contextual help system, and I still hope that this is where we'll be taking this in the future. By embedding (?) icons within the secondary palette menus for various devices, objects, activities, and even individual buttons and controls, we can provide a way to launch into the help activity and dive directly to the relevant info for the activity, control, etc. selected. In addition, I'd like to support a community driven help system by which, in addition to the activity/olpc provided help, it's possible for kids to add tips, tricks, images, tutorials, and other info to these sections for later consumption by peers. |
|||
This is a noble, but ambitious goal, which is why a simple and static help activity is the present solution, and why it's only integrated into the system at a single point - the activity itself. |
|||
= Priorities from Engineering = |
|||
*{{ticket|4662}} needed for better activity capabilities. |
|||
*{{ticket|2447}} caps lock |
|||
*{{ticket|1997}} flashing in write |
|||
*NAND full crashes system |
|||
*I think analyzing performance of non-JFFS2 file systems and picking a replacement should be a high-priority item for 9.1 update. |
|||
*from: http://lists.laptop.org/pipermail/devel/2008-July/016994.html |
|||
*{{ticket|2188}} sharing files and resources between activities |
|||
*{{ticket|1496}} Switch to real public keys - Scott |
|||
Fedora 10 rebase? |
|||
== Faster Upgrade == |
|||
Make it easier to upgrade many laptops in the field. Several cases: <br> |
|||
Updates:<br> |
|||
# XOs in warehouse need update before being shipped. |
|||
# XOs in school with no WAN |
|||
# XOs in school with thin WAN pipe (BW <= 1Mb/s) |
|||
# XOs in in school with good WAN (BW >= 1Mb/s) |
|||
Possibly sub-variants of in school case for Mesh, Wireless AP, XS. |
|||
== e-mail from Ben S == |
|||
http://lists.laptop.org/pipermail/sugar/2008-July/007390.html |
|||
1. The datastore <br> |
|||
Sugar's design calls for a centralized rich data storage system, the |
|||
datastore. The datastore provides secure, limited file access to |
|||
Activities, manages file metadata, maintains a differentially compressed |
|||
history of all work, ensures reliable backups to a trusted server, and |
|||
mediates the connection to removable media. Every one of these features |
|||
is crucial to Sugar's functioning, and almost none are really working at |
|||
this time. We cannot afford another release based on the present |
|||
datastore, as it fails to implement the features we require, and is |
|||
unreliable even in the features it supposedly implements. |
|||
Solution: <br> |
|||
There have, at this point, been at least five distinct proposals for a |
|||
next-generation datastore design, all differing in underlying |
|||
implementation and user-facing functionality. We need to have a Once And |
|||
For All datastore summit, draw up a compromise datastore design, and |
|||
implement it. We can do this by 9.1.0, if we are willing to make it a |
|||
priority. |
|||
Additional Links: |
|||
* [[Sugar.datastore.datastore|The current datastore]] |
|||
* [[Olpcfs]] |
|||
* [http://lists.laptop.org/pipermail/community-news/2008-January/000095.html Sugar Datastore Summit in January] (item 10). |
|||
* [http://dev.laptop.org/git?p=users/mstone/sds;a=blob;f=README;hb=HEAD SDS] (stands for Simple Data Store or possibly something else) |
|||
* [http://lists.laptop.org/pipermail/devel/2008-March/012047.html Git-based] datastore design |
|||
- Expose the file system on save, open and in the journal. Source: Marvin Minsky |
|||
2. OS Updates <br> |
|||
We now have hundreds of thousands of laptops deployed in the field, |
|||
running a variety of OS versions. OLPC cannot afford to support a |
|||
multitude of decrepit versions, and children cannot afford to suffer |
|||
defects that have long since been fixed. We need a reliable, fast, |
|||
update system that does not rely on the network, so that children |
|||
everywhere can move to the |
|||
latest version of Sugar without losing their data. The update system must |
|||
support tremendously invasive upgrades, like repartitioning the NAND and |
|||
replacing JFFS2, because we expect to do this in short order. |
|||
Solution: <br> |
|||
A secure usb autoreinstallation stick is required. It is not technically |
|||
challenging to implement, but it must be made a priority, and then be made |
|||
widely available and idiot-proof. |
|||
3. File Sharing <br> |
|||
Students and teachers have no good way to distribute files directly from |
|||
one person's Journal to another. If all Activities that open a file do |
|||
not implement Collaboration, then there is simply no way to transfer that |
|||
file over the network. This is the most basic possible network |
|||
functionality --- FTP was standardized in 1971 --- but it is completely |
|||
missing from our system. |
|||
Solution: <br> |
|||
A number of technical proof-of-concept programs have been written for |
|||
distributing files, using methods like HTTP over stream tubes and |
|||
Cerebro's Teleport. There is an excellent set of [[Specifications/Object_Transfers|UI mockups for this] |
|||
functionality. All that is left is to Get It Done. |
|||
Additional Links: |
|||
* [[Read]] |
|||
* [http://lists.laptop.org/pipermail/sugar/2008-March/004499.html Distribute] |
|||
* [[Summer_of_Code/Ideas#Publication_and_Journal_sharing|A Summer of Code application]] |
|||
4. Activity Modification <br> |
|||
A keystone of the Sugar design has always been the user's ability to edit |
|||
any Activity, and to cement this a "View Source" key was designed right |
|||
into the hardware. This functionality is simply missing, and that |
|||
prevents us from making our principal claim regarding an emphasis on user |
|||
modification. |
|||
Solution: <br> |
|||
"Develop" must be polished, finished, and included by default. This will |
|||
require modifications to the core system, in order to support an endless |
|||
variety of slightly modified Activities. It will also require work on the |
|||
Develop program itself. If volunteer efforts are not moving fast enough, OLPC |
|||
must ensure that someone is working on the problem as a professional. |
|||
Additional links: |
|||
* [[Develop]] |
|||
* [[Old_Develop_activity|Previous, stalled attempt at Develop]] |
|||
* [[View_Source|Current status of "view source"]] |
|||
* [[OLPC_Human_Interface_Guidelines/The_Laptop_Experience/View_Source]] |
|||
* [[EAG_The_Laptop_Experience:_View_Source]] |
|||
5. Bitfrost <br> |
|||
Sugar, as it currently stands, is among the least secure operating systems |
|||
ever, far less secure than any modern Linux or Windows OS. I can easily |
|||
write an Activity that, when run by the user, escalates to root privileges |
|||
and does anything I like with the system. Given Sugar's competitive |
|||
status against Windows XO, this failing threatens the very existence of |
|||
the project. The Sugar designs have long stated that safely running |
|||
untrusted code from a classmate is a key goal for learning, but the |
|||
current software accomplishes precisely the opposite. |
|||
Solution:<br> |
|||
NO ONE IS WORKING ON BITFROST. That's right. Everyone who was working on |
|||
Sugar security (after activation) has either left OLPC or moved into |
|||
another role. Someone must be assigned to continue the security work, or |
|||
it will certainly never make progress. Anyone who _does_ take on this |
|||
challenge will start from a much better position than previously, |
|||
because many of the Vserver features have moved into the mainline kernel |
|||
over the last few versions. The kernel now contains a number of new, |
|||
powerful isolation and control primitives. |
|||
6. Power management <br> |
|||
Power management is the raison d'etre of the XO hardware. It is the |
|||
reason that the hardware took four times as long to develop as a standard |
|||
laptop, the reason that we suffer from the closed Marvell operating |
|||
system, the reason that OLPC's best engineers flew around the globe |
|||
fighting with details of voltage and capacitance. In an increasingly |
|||
crowded low cost laptop market, it is one of OLPC's few remaining |
|||
distinctions. As of 8.2.0, aggressive suspend is available, but its |
|||
functionality is still far from the target. |
|||
Solution: <br> |
|||
Enabling aggressive power management is a major challenge, perhaps more |
|||
difficult than anything else on this list. We know what is required for a |
|||
first step: ensure that we can reliably wake up from a hardware timer. |
|||
This single feature would be enough to enable a basic sleepy approach |
|||
that is truly transparent to software. Other work includes removing USB |
|||
from the critical path on resume. Aggressive suspend may not be ready for |
|||
9.1.0, but if no one is working on it it will never be ready. |
|||
== Suggestions from [[CScott]] == |
|||
* Better "legacy app" compatibility; this should allow us to run existing apps like firefox, pidgin, and gimp in a reasonable manner: |
|||
** Replace matchbox window manager with [[XMonad]] |
|||
** Switch to standard freedesktop.org [http://www.freedesktop.org/wiki/Specifications/startup-notification-spec startup notification] mechanism |
|||
** Implement freedesktop.org [http://www.galago-project.org/specs/notification/index.php notifications mechanism] for alerts (low battery, low disk space, available software update) |
|||
* Improved antitheft mechanisms: |
|||
** ECO fix and EC improvements |
|||
** Security control panel, with "am I stolen" and lease renewal buttons: <trac>1502</trac> |
|||
** olpcrd work: <trac>7397</trac> |
|||
* Improved update mechanisms |
|||
** Real COW for pristine versions, allowing... |
|||
** ...binary-diff updates over http (avoiding rsync in many cases) |
|||
** Integration of core OS updates with software update control panel |
|||
** Integration of software updates with notification system |
|||
* Security/isolation work |
|||
** Implementation of P_SF_CORE, P_SF_RUN |
|||
** Mechanism to validate updates to loopholed activities & allow user to manage exceptions |
|||
** Persistent activity storage |
|||
** NSS modules for rainbow users and for olpc/root users |
|||
** Rainbow |
|||
* Journal improvements |
|||
** Proper display of 'new versions' of activities |
|||
** Tagging system to allow folder-like management for advanced users |
|||
** Datastore rework |
|||
* Translation improvements |
|||
** translation system should look in local, then activity, then system translation tables, then repeat for each in a set of fallback languages (eg, quechua, spanish, english) |
|||
** separable translation packs |
|||
** wiki-like editing of translatable labels in the UI |
|||
= Key Modules and Relevant Module Roadmaps = |
|||
Lead customers: Peru, Ethiopia, Uruguay, Haiti, Mongolia, Nepal and Rwanda |
|||
[[Category:Releases]] |
[[Category:Releases]] |
Latest revision as of 15:56, 10 February 2011
For information on current and future OLPC software releases, see Releases
9.1.0 was cancelled. However, many of the planned features found their way into newer OLPC OS releases.
Feature requests tracked features, requirements, and requests, and plans by customer; Feature roadmap tracked all software features by technical strategy. See also notes from XOcamp 2 technical conference. OverviewThis release is the first major new feature release after 8.2.0 Its is the first of two major feature releases we want to deliver in 2009. The target date for this release is March 7, 2009 (Note: date and feature set not final and subject to change). This release must run on all existing XO hardware. Technical strategyThis section outlines the main areas of technology that we will focus on improving. All of the specific features should address one of these primary concerns. The choice of these comes from listening to users and deployment leads and hearing what their concerns are. The strategic priorities are to make the XO work the way users expect and help get the XO deployed more quickly in more countries. Easier to deploy and maintainEasier to deploy focuses on facilitating the imaging of XOs, their activation, the installation and extension of custom leases and anything else needed to get the XOs from the factory in to the schools.
Some examples include:
Easier to maintain focuses on upgrading, keeping the XOs working, monitoring them and allowing recovery of data from errors.
Some examples include:
Greater reliability and performance
Primary release driversDate: March 7, 009 Customers: Rwanda, Peru, Ethiopia, Uruguay, Haiti, OLPC Birmingham, Mongolia, Ghana, Dubai, Lebanon FeaturesTop PriorityThe following are critical must-deliver features for this release. The categories are listed in priority order. See all top priority features with details on one page here Feature categorized in to the four main areas are list below: 1 - Rebasing on F10 and allowing "regular" Fedora window managers and applications to run. 2 - Activation/lease/signing/image customization. A subset of the features in Category:Security, activation and deployability 3 - Power management. Some key features in Category:Power management 4 - Localization/translation. Second PriorityThese are very important features which benefit priority deployments. Any available engineer is encouraged to help with these, provided it does not take time away from working on the top priority features.
ActivitiesSign in to the wiki and leave your suggestion for any activities you think we should install by default here. Each activity will need a maintainer, latest version, and a test case to be considered for the release. The maintainer is the Property:Contact person on the activity's wiki page (click [Edit with form] and modify "Maintainer's user page" to update). The .xo URL and version for 9.1.0 should be in the activity's Activities/My activity_(latest) fragment, e.g. Activities/Chat_(latest). (If this latest version is incompatible with 8.2.0, make sure that Activities/G1G1/8.2 does not reference it.)
Please help add all potential activities to this table. Add as much info as you have and leave the rest blank. Nominations(sign your nominations with -- ~~~~)
Lists of possible candidate activities
Schedule
First stab at schedule done by Gregorio 18:50, 2 December 2008 (UTC) Standard information(These are all semantic annotations that other pages such as Releases can query.) Primary objectives:
Lead customers: Peru, Ethiopia, Uruguay, Haiti, Mongolia, Nepal and Rwanda |