Feature roadmap: Difference between revisions
No edit summary |
DanielDrake (talk | contribs) No edit summary |
||
(43 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 |
# 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 Sugar over time. Each request should use the [[Template:Feature request| feature request template]] (you can copy/paste from below), providing as much information as possible. Direct feedback from countries and deployments should be provided on the [[Feature requests]] page instead. |
|||
<br>''Please sign in to the wiki before adding or editing feature requests.'' |
|||
<pre> |
|||
{{Feature_request |
|||
|Name= |
|||
|Requesters= |
|||
|Requirements= |
|||
|Specification= |
|||
|Owners= |
|||
}} |
|||
</pre> |
|||
The elements of such a request are described below. The text for these elements may be listed on the same line as the parameter, just after the equals (=) sign, or on the following line(s). Where appropriate, please use numbered or bulleted lists to identify individual requirements or specification ideas. |
|||
; 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 |
|||
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]] [[ |
[[Category:Software features]] [[Is part of::+]] |
||
|?Is part of=Area |
|?Is part of=Area |
||
|?=Feature |
|?=Feature |
||
|?Requested by=Requested by |
|?Requested by=Requested by |
||
|?Helps deployability |
|?Helps deployability#yes,-=Helps deploy |
||
|?Target for 9.1 |
|?Target for 9.1#yes,no |
||
|?Contact person=Owner(s) |
|?Contact person=Owner(s) |
||
|?Priority |
|?Priority |
||
Line 66: | Line 41: | ||
|mainlabel=- |
|mainlabel=- |
||
|limit=200 |
|limit=200 |
||
|default=Nothing found in [[:Category:Software features]] with [[Property: |
|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 |
|||
; 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: [[#Suggestions for providing input|general suggestions for providing input]]. |
|||
== Sugar architecture ideas == |
|||
From thread started by Michael S <br> |
|||
http://lists.laptop.org/pipermail/sugar/2008-July/007304.html |
|||
== |
=== Adding a category === |
||
http://lists.laptop.org/pipermail/ |
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: |
|||
=== 1. The datastore === |
|||
|Feature subcategory=''Easter eggs'' |
|||
Sugar's design calls for a centralized rich data storage system, the |
|||
2. Be sure to create the subcategory: edit the category's page (Category:''Easter eggs'') and add |
|||
datastore. The datastore provides secure, limited file access to |
|||
<tt><nowiki>[[Category:Software features]]</nowiki></tt> to it. |
|||
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. |
|||
If you forget #2, some queries will omit the page and people may have a hard time finding your new feature subcategory. |
|||
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. |
|||
=== Documentation on semantic templates === |
|||
Additional Links: |
|||
{{SMW for software features}} |
|||
* [[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 |
|||
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 — 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. |
|||
=== 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. |
|||
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. |
|||
== Thoughts from [[User:cjb]] == |
|||
* Translation of Sugar inside Sugar? |
|||
* A working Distribute activity for journal objects (could be in the Journal) |
|||
== Thoughts from [[User:Mstone]] == |
|||
* [[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.) |
|||
=Template proposal= |
|||
A proposed template for managing this page:[[Template:Feature_request]]. In addition to looking nice, use of a template makes it easy to update or adjust the appearance of all feature requests easily in the future. |
|||
{{Feature_request|Name=My cool feature |
|||
|Requesters= |
|||
Some countries |
|||
|Requirements= |
|||
Some requirements |
|||
*or |
|||
*a |
|||
*list |
|||
*of |
|||
*them |
|||
|Specification= |
|||
Detailed specification |
|||
*or a list |
|||
*of relevant links |
|||
|Owners= |
|||
Some developers |
|||
}} |
Latest revision as of 16:05, 10 February 2011
For current information on OLPC's feature planning process, see Release Process Home.
OverviewThis page goes hand-in-hand with the Feature requests page, as follows:
Suggestions for providing input
RoadmapThis section lists major features to be added to XO software over time. All featuresClick 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 queriesFeature 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 roadmapWhen adding a new feature please follow these guidelines.
<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:
See also: general suggestions for providing input. Adding a categoryOnly 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 templatesEnables 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. |