Feature roadmap: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (→‎All features: shorten "Helps deployability")
No edit summary
 
(36 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<b><font color=red><big>For current information on OLPC's feature planning process, see [[Release Process Home]].</big></font></b>

{{Deprecated}}
{{RightTOC}}
{{RightTOC}}
{{OLPC}}


= Overview =
= Overview =
This page lists all well defined feature requests for XO. Some of these feature will make forthcoming releases and some will not. They will be flagged for a release and listed on the corresponding release page as they get prioritized, scoped and filled in. This page is meant to be abstracted from releases and it should therefore include a superset of priorities for any given release.

This page goes hand-in-hand with the [[Feature requests]] page, as follows:
This page goes hand-in-hand with the [[Feature requests]] page, as follows:


Line 10: Line 10:


;2. [[Feature roadmap]] : Feature suggestions by technical strategy. Each item on this page should include reference to the;Requester: (e.g. country or engineer or URLs to relevant discussions and sites). It should also include a reference to which element of the strategy it fits in to (if available).
;2. [[Feature roadmap]] : Feature suggestions by technical strategy. Each item on this page should include reference to the;Requester: (e.g. country or engineer or URLs to relevant discussions and sites). It should also include a reference to which element of the strategy it fits in to (if available).

<span style="font-weight: bold; color: red; font-size: 16pt; line-height: 120%;">The next release is [[9.1.0]] planned for posting in March, 2009. Weekly meetings for 9.1.0 planning are held on Wed. at 2PM US ET on IRC - freednode.net #olpc-meeting channel </span>'''


== Suggestions for providing input ==
== Suggestions for providing input ==
Line 17: Line 15:
# Raw, unfiltered feedback from countries and deployments should go on the [[Feature requests]] page.
# Raw, unfiltered feedback from countries and deployments should go on the [[Feature requests]] page.
# Feel free to add to this page following the guidelines described above. You can add a subsection to [[#General comments]] below, or add to [[Talk:{{PAGENAME}}|this page's discussion page]].
# Feel free to add to this page following the guidelines described above. You can add a subsection to [[#General comments]] below, or add to [[Talk:{{PAGENAME}}|this page's discussion page]].
# To comment on a particular feature, click the feature's title to go to its subpage, then click its discussion tab comment on its discussion page.
# To comment on a particular feature, click the feature's title to go to its subpage, then comment on its discussion page.
# Before editing the subpage for a particular feature, , discuss your edits with the original poster /owner beforehand.
# Before editing the subpage for a particular feature, , discuss your edits with the original poster /owner beforehand.
# You must use the template correctly when requesting features or enhancements, otherwise your feature won't show up. Follow [[#Adding to the roadmap]] carefully
# You must use the template correctly when requesting features or enhancements, otherwise your feature won't show up. Follow [[#Adding to the roadmap]] carefully
Line 27: Line 25:
= Roadmap =
= Roadmap =


This section lists major features to be added to XO software over time.
==Adding to the roadmap==

This section lists major features to be added to XO software over time. When adding a new feature please follow thee guidelines.

# Make sure the feature doesn't already exist
# Read the Usage section of [[Template:Feature tracking]] for help filling out the template on the new page
# Pick an "Feature subcategory" from [[:Category:Software features]]
# Find the requester(s)' wiki pages and the feature owner's User: wiki page
# Follow the [[OLPC:Style guide]] for page names, change ''Good feature name'' to your new subpage title.
# Ready? Click the button below to create a new meeting wikipage with the right title convention that's prefilled from [[Template:Feature tracking/Preload]], edit it to suit, then save. After a delay (due to wiki query and page caching), your new subpage will appear in lists of features.
<inputbox>
type=create
preload=Template:Feature tracking/Preload
buttonlabel=Create a new Feature roadmap subpage.
default=Feature roadmap/Good feature name
width=40
bgcolor=#f0f0ff
</inputbox>

A description of each field is listed here: <br>
; Name : A brief, one-line summary of the feature, used as the title on the page
; Requesters : Deployments, engineers, or both who support the request
; Requirements : User level requirement definition; Links to detailed wiki pages, mailing list threads, or other resources are welcome
; Specification : Design and technical implementation ideas; Links to detailed wiki pages, mailing list threads, or other resources are welcome
; Owners : Names of developers and/or champions of the request who will ensure that progress is made
; Priority : 1-5 (1 = Critical,2 = High,3 = Medium, 4 = Low, 5 = not needed)
; Helps deployability : yes or no Better deployability is the goal of [[9.1.0]]. Tag this field if it helps that, regardless of the "target 9.1.0" status.
; Target for 9.1 : yes or no When this field is set to true, it means that and OLPC engineer is (or will be) assigned to work on this for 9.1.0 release.

See also: [[Feature_roadmap#Suggestions for providing input|general suggestions for providing input]].


== All features ==
== All features ==
Click on the arrows in any heading to re-sort by that heading.
Click on the arrows in any heading to re-sort by that heading.
{{#ask:
{{#ask:
[[Category:Software features]] [[Short name::+]]
[[Category:Software features]] [[Is part of::+]]
|?Is part of=Area
|?Is part of=Area
|?=Feature page
|?=Feature
|?Requested by=Requested by
|?Requested by=Requested by
|?Helps deployability#yes,-=Helps deploy
|?Helps deployability#yes,-=Helps deploy
Line 72: Line 41:
|mainlabel=-
|mainlabel=-
|limit=200
|limit=200
|default=Nothing found in [[:Category:Software features]] with [[Property:Short name]]?!
|default=Nothing found in [[:Category:Software features]] with [[Property:Is part of]]?!
}}
}}


== Other queries ==
== Other queries ==
[[{{PAGENAME}}/Page of all features that target 9.1.0]] embeds all the pages with [[Property:Target for 9.1|Target for 9.1]] set to "yes".
See [[Features-test]], or you can write your own.


See [[Features-test]] for other queries, you can add your own to it or copy them to other pages.
== Historical ==
[[/Archive/pre-9.1.0]] has a static copy of the Roadmap as of 2008-12-11, before it was separated


= Priorities from Engineering =
'''This section is being deprecated! Please move all your feature requests to the section above. Make sure to include a Name, Requester, Requirement, Specification and Owner. If you don't have all the info, fill in what you have. I have started migrating these items and removing them from below. See the discussion page for a record of my edits. Thanks [[User:Gregorio|Gregorio]] 18:01, 4 December 2008 (UTC) '''
<br>


*{{ticket|2188}} sharing files and resources between activities
*{{ticket|1496}} Switch to real public keys - Scott
*{{ticket|8170}}
*{{ticket|8171}}
*{{ticket|8177}}


==Adding to the roadmap==
When adding a new feature please follow these guidelines.
Less flickering in starting activities and other screen changes - Michael


# Make sure the feature doesn't already exist
Ensure the blinking of the lights is meaningful. <br>
# Read the Usage section of [[Template:Feature tracking]] for help filling out the template on the new page
http://lists.laptop.org/pipermail/sugar/2008-September/008237.html
# Pick a "Feature subcategory" from [[:Category:Software features]]
# Find the requester(s)' wiki pages and the feature owner's User: wiki page
# Change ''Good feature name'' to your new subpage title, following the [[OLPC:Style guide]] for page names
# Ready? Click the button below to create a new wiki subpage with the right title convention that's prefilled from [[Template:Feature tracking/Preload]], edit it to suit, then save. After a delay (due to wiki query and page caching), your new subpage will appear in lists of features.
<inputbox>
type=create
preload=Template:Feature tracking/Preload
buttonlabel=Create a new Feature roadmap subpage.
default=Feature roadmap/Good feature name
width=40
bgcolor=#f0f0ff
</inputbox>


A description of each field is listed here: <br>
Backup to Internet idea from Walter: <br>
; Requesters : Deployments, engineers, or both who support the request
http://lists.laptop.org/pipermail/sugar/2008-September/008340.html
; Requirements : User level requirement definition; Links to detailed wiki pages, mailing list threads, or other resources are welcome

; Specification : Design and technical implementation ideas; Links to detailed wiki pages, mailing list threads, or other resources are welcome
== Sugar architecture ideas ==
; Owners : Names of developers and/or champions of the request who will ensure that progress is made
From thread started by Michael S <br>
; Priority : 1-5 (1 = Critical, 2 = High, 3 = Medium, 4 = Low, 5 = not needed)
http://lists.laptop.org/pipermail/sugar/2008-July/007304.html
; Helps deployability : yes or no Better deployability is the goal of [[9.1.0]]. Set to "yes" if the feature helps that goal, regardless of its "target 9.1.0" status.

; Target for 9.1 : yes or no "yes" means that an OLPC engineer is (or will be) assigned to work on this for 9.1.0 release.
== e-mail from Ben S ==
http://lists.laptop.org/pipermail/sugar/2008-July/007390.html

=== 1. The datastore ===
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 desig

=== 4. Activity modification ===
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 ===
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.


See also: [[#Suggestions for providing input|general suggestions for providing input]].
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.


=== Adding a category ===
Only do this with careful forethought and a confirmation on the wiki gang list http://lists.laptop.org/pipermail/wiki-gang/>


1. Mention the new category name in the template:
|Feature subcategory=''Easter eggs''
2. Be sure to create the subcategory: edit the category's page (Category:''Easter eggs'') and add
<tt><nowiki>[[Category:Software features]]</nowiki></tt> to it.


If you forget #2, some queries will omit the page and people may have a hard time finding your new feature subcategory.
== Thoughts from [[User:cjb]] ==
* Translation of Sugar inside Sugar?
* A working Distribute activity for journal objects (could be in the Journal)


=== Documentation on semantic templates ===
== Thoughts from [[User:Mstone]] ==
{{SMW for software features}}


When you fill in [[Template:Feature tracking]] on one of the feature roadmap sub-pages, the template both ''displays'' the feature's information in a basic table (using {{tl|Definition table}}) and makes ''semantic annotations'' for many of the template fields &mdash; assigning values to properties such as [[Property:Requested by]]. That allows this page and others (such as [[Features-test]]) to query for and display these properties.
* [[Security]] already contains my immediate security roadmap.
* My [[User:Mstone|user page]] links to several of my other ideas, many of which are procedural improvements with software components.
* My largest ongoing concern is that we have not yet smoothly carried a deployment through an update to a new major stable release. (Peru may become our first exception to this rule, but this remains to be seen.)

Latest revision as of 16:05, 10 February 2011

For current information on OLPC's feature planning process, see Release Process Home.

Stop hand.png WARNING:
The content of this section is considered
DEPRECATED and OBSOLETE
It is preserved for historical or documenting reasons.


Overview

This page goes hand-in-hand with the Feature requests page, as follows:

1. Feature requests
Features, requirements and requests by country. This page contains verbatim requests from technical leads or translated and reviewed rewrites of initial feedback. Only items specifically requested by a qualified technical lead, administrator, teacher or student in the country should go in this section. See also: Deployments
2. Feature roadmap
Feature suggestions by technical strategy. Each item on this page should include reference to the;Requester: (e.g. country or engineer or URLs to relevant discussions and sites). It should also include a reference to which element of the strategy it fits in to (if available).

Suggestions for providing input

  1. Please sign in to the wiki when updating this page and its subpages so we know who made the edits.
  2. Raw, unfiltered feedback from countries and deployments should go on the Feature requests page.
  3. Feel free to add to this page following the guidelines described above. You can add a subsection to #General comments below, or add to this page's discussion page.
  4. To comment on a particular feature, click the feature's title to go to its subpage, then comment on its discussion page.
  5. Before editing the subpage for a particular feature, , discuss your edits with the original poster /owner beforehand.
  6. You must use the template correctly when requesting features or enhancements, otherwise your feature won't show up. Follow #Adding to the roadmap carefully
  7. Use <trac> when referencing tickets/bugs.
  8. Additional suggestions for providing input are welcome.
  9. Create a new section (At the == header 2 == level) for your country or request if none present are adequate.
  10. Make sure all ideas have a very solid basis for being valuable to customers. Including links to blogs, reports or other data that proves users really need your feature will make a big difference.

Roadmap

This section lists major features to be added to XO software over time.

All features

Click on the arrows in any heading to re-sort by that heading. {{#ask: Is part of::+

?Is part of=Area ?=Feature ?Requested by=Requested by ?Helps deployability#yes,-=Helps deploy ?Target for 9.1#yes,no ?Contact person=Owner(s) ?Priority sort=Is part of mainlabel=- limit=200 default=Nothing found in Category:Software features with Property:Is part of?!

}}

Other queries

Feature roadmap/Page of all features that target 9.1.0 embeds all the pages with Target for 9.1 set to "yes".

See Features-test for other queries, you can add your own to it or copy them to other pages.


Adding to the roadmap

When adding a new feature please follow these guidelines.

  1. Make sure the feature doesn't already exist
  2. Read the Usage section of Template:Feature tracking for help filling out the template on the new page
  3. Pick a "Feature subcategory" from Category:Software features
  4. Find the requester(s)' wiki pages and the feature owner's User: wiki page
  5. Change Good feature name to your new subpage title, following the OLPC:Style guide for page names
  6. Ready? Click the button below to create a new wiki subpage with the right title convention that's prefilled from Template:Feature tracking/Preload, edit it to suit, then save. After a delay (due to wiki query and page caching), your new subpage will appear in lists of features.

<inputbox> type=create preload=Template:Feature tracking/Preload buttonlabel=Create a new Feature roadmap subpage. default=Feature roadmap/Good feature name width=40 bgcolor=#f0f0ff </inputbox>

A description of each field is listed here:

Requesters
Deployments, engineers, or both who support the request
Requirements
User level requirement definition; Links to detailed wiki pages, mailing list threads, or other resources are welcome
Specification
Design and technical implementation ideas; Links to detailed wiki pages, mailing list threads, or other resources are welcome
Owners
Names of developers and/or champions of the request who will ensure that progress is made
Priority
1-5 (1 = Critical, 2 = High, 3 = Medium, 4 = Low, 5 = not needed)
Helps deployability
yes or no Better deployability is the goal of 9.1.0. Set to "yes" if the feature helps that goal, regardless of its "target 9.1.0" status.
Target for 9.1
yes or no "yes" means that an OLPC engineer is (or will be) assigned to work on this for 9.1.0 release.

See also: general suggestions for providing input.

Adding a category

Only do this with careful forethought and a confirmation on the wiki gang list http://lists.laptop.org/pipermail/wiki-gang/>

1. Mention the new category name in the template:

Feature subcategory=Easter eggs

2. Be sure to create the subcategory: edit the category's page (Category:Easter eggs) and add [[Category:Software features]] to it.

If you forget #2, some queries will omit the page and people may have a hard time finding your new feature subcategory.

Documentation on semantic templates

Enables a dynamic Feature roadmap — see Semantic MediaWiki#For software features.

When you fill in Template:Feature tracking on one of the feature roadmap sub-pages, the template both displays the feature's information in a basic table (using {{Definition table}}) and makes semantic annotations for many of the template fields — assigning values to properties such as Property:Requested by. That allows this page and others (such as Features-test) to query for and display these properties.