Difference between revisions of "0.86/Roadmap"

From Sugar Labs
Jump to navigation Jump to search
Line 118: Line 118:
  
 
== Proposal Goals ==
 
== Proposal Goals ==
<strong>Switch to a standard compliant window manager (possibly Metacity)</strong>
+
 
 +
==== Switch to a standard compliant window manager (possibly Metacity) ====
 
* better non-sugarized activity support
 
* better non-sugarized activity support
 
* our current version of matchbox is unmaintained
 
* our current version of matchbox is unmaintained
Line 124: Line 125:
 
* goal: test patch in a custom Soas image
 
* goal: test patch in a custom Soas image
  
<strong>New toolbar widget</strong>
+
==== New toolbar widget ====
 
* add new widget and switch basic activities to it
 
* add new widget and switch basic activities to it
 
* keep the old widget if some of the activities do not change in this cycle
 
* keep the old widget if some of the activities do not change in this cycle
 
* http://wiki.sugarlabs.org/go/Design_Team/Designs/Toolbars
 
* http://wiki.sugarlabs.org/go/Design_Team/Designs/Toolbars
  
<strong>Browse</strong>
+
==== Browse ====
 
* tabs support (open popup windows in tabs, saving of tabs history, standard behavior of Browse should not change -> no open tab by default)
 
* tabs support (open popup windows in tabs, saving of tabs history, standard behavior of Browse should not change -> no open tab by default)
 
* better naming of files to be uploaded (change temp name to something based on the title)
 
* better naming of files to be uploaded (change temp name to something based on the title)
Line 136: Line 137:
 
** bookmarks (global bookmarks, at the moment we only have session bookmarks and the autocompletion functionality)
 
** bookmarks (global bookmarks, at the moment we only have session bookmarks and the autocompletion functionality)
  
<strong>Tags in the Journal</strong>
+
==== Tags in the Journal ====
 
* auto completion for already existing tags, tag clouds
 
* auto completion for already existing tags, tag clouds
 
** its implemented in Library activity as well
 
** its implemented in Library activity as well
  
<strong>More Accelerators (short cuts)</strong>
+
==== More Accelerators (short cuts) ====
 
* make sure we use the accelerators where possible, get discussion about which modifiers to use for which settings as early as possible going
 
* make sure we use the accelerators where possible, get discussion about which modifiers to use for which settings as early as possible going
  
<strong>Printing support</strong>
+
==== Printing support ====
 
* http://wiki.sugarlabs.org/go/Print_Support">google summer of code project
 
* http://wiki.sugarlabs.org/go/Print_Support">google summer of code project
  
<strong>Search in home view</strong>
+
==== Search in home view ====
 
* the search is recently builds disabled
 
* the search is recently builds disabled
  
<strong>Collaboration</strong>
+
==== Collaboration ====
 
* Scalable presence service - Integrate gadget in the Sugar UI http://dev.laptop.org/ticket/7711
 
* Scalable presence service - Integrate gadget in the Sugar UI http://dev.laptop.org/ticket/7711
 
* Make collaboration more stable
 
* Make collaboration more stable
  
<strong>Flash activities</strong>
+
==== Flash activities ====
 
* using the http://git.sugarlabs.org/projects/sugar-gnash widget -  a blog post from Tomeu has some more info: http://blog.tomeuvizoso.net/2009/04/embed-flash-movies-with-gnash-in-your.html
 
* using the http://git.sugarlabs.org/projects/sugar-gnash widget -  a blog post from Tomeu has some more info: http://blog.tomeuvizoso.net/2009/04/embed-flash-movies-with-gnash-in-your.html
  
<strong>Groups</strong>
+
==== Groups ====
 
* tagging buddies to build up relations, tagging can happen by a teacher tagging a class or the learner can tag himself
 
* tagging buddies to build up relations, tagging can happen by a teacher tagging a class or the learner can tag himself
  
<strong>List views</strong>
+
==== List views ====
 
<ul>
 
<ul>
 
<li>in the mesh view a list view of the access points</li>
 
<li>in the mesh view a list view of the access points</li>
Line 165: Line 166:
 
</ul>
 
</ul>
  
<strong>Mesh View</strong>
+
==== Mesh View ====
 
<ul>
 
<ul>
 
<li>use buddy color to seed the position to get a more stable positioning in the mesh view</li>
 
<li>use buddy color to seed the position to get a more stable positioning in the mesh view</li>
 
</ul>
 
</ul>
  
<strong>Ad-hoc networking</strong>
+
==== Ad-hoc networking ====
 
<ul>
 
<ul>
 
<li>as an alternative to the mesh</li>
 
<li>as an alternative to the mesh</li>
 
</ul>
 
</ul>
  
<strong>Bindings</strong>
+
==== Bindings ====
 
<ul>
 
<ul>
 
<li>Moving Sugar to <a href="http://live.gnome.org/PyBank">PyBank</a> to save memory and improve startup speed. Pybank builds the bindings as you need them,
 
<li>Moving Sugar to <a href="http://live.gnome.org/PyBank">PyBank</a> to save memory and improve startup speed. Pybank builds the bindings as you need them,
Line 182: Line 183:
 
</ul>
 
</ul>
  
<strong>Keyboard control panel extension</strong>
+
==== Keyboard control panel extension ====
 
* (Sayamindu would prefer to keep it as a seperate module, since everyone may not choose to go with XKB)
 
* (Sayamindu would prefer to keep it as a seperate module, since everyone may not choose to go with XKB)
  
<strong>Dictionary support in the shell</strong>
+
==== Dictionary support in the shell ====
 
* link to email here
 
* link to email here
  
<strong>CP - Language in native language </strong>
+
==== CP - Language in native language ====
 
* link to ticket here
 
* link to ticket here
  
<strong>TA</strong>
+
==== TA ====
 
* de-couple the portfolio from the base TA
 
* de-couple the portfolio from the base TA
  
<strong>Library activity </strong> [[User:Alsroot|Alsroot]] 16:16, 21 May 2009 (UTC)
+
==== Library activity ====
 
* http://wiki.sugarlabs.org/go/Activities/Library
 
* http://wiki.sugarlabs.org/go/Activities/Library
 
* in honey
 
* in honey
 
* maybe we want a pluggable Views(Home/Journal) to ease the use of such kinds of activities(activities that can browse sugar objects)
 
* maybe we want a pluggable Views(Home/Journal) to ease the use of such kinds of activities(activities that can browse sugar objects)
  
<strong>API work</strong>
+
[[User:Alsroot|Alsroot]] 16:16, 21 May 2009 (UTC)
 +
 
 +
==== API work ====
 
* backwards compability
 
* backwards compability
 
* (http://wiki.sugarlabs.org/go/Development_Team/sugar-port will take care for the activities needs for a working activity on 0.82 for example) see "Decoupling of Sucrose" section [[User:Alsroot|Alsroot]] 16:16, 21 May 2009 (UTC)
 
* (http://wiki.sugarlabs.org/go/Development_Team/sugar-port will take care for the activities needs for a working activity on 0.82 for example) see "Decoupling of Sucrose" section [[User:Alsroot|Alsroot]] 16:16, 21 May 2009 (UTC)
Line 205: Line 208:
 
* dbus API to get core version(at least major version)
 
* dbus API to get core version(at least major version)
  
<strong>Decoupling of Sucrose</strong> [[User:Alsroot|Alsroot]] 16:14, 21 May 2009 (UTC)
+
==== Decoupling of Sucrose ====
  
 
The major idea is to have tough core(with stable release cycle) <=> dbus-API/sugar-toolkit-API <=> unlimited count of activities that uses core functionality and do not follow 6 months release cycle(which could be overmuch for activity).
 
The major idea is to have tough core(with stable release cycle) <=> dbus-API/sugar-toolkit-API <=> unlimited count of activities that uses core functionality and do not follow 6 months release cycle(which could be overmuch for activity).
Line 216: Line 219:
 
And of course deployers can form any sets from these components
 
And of course deployers can form any sets from these components
  
=== Datastore feature requests that could benefit Library activity ===
+
[[User:Alsroot|Alsroot]] 16:14, 21 May 2009 (UTC)
 +
 
 +
==== Datastore feature requests that could benefit Library activity ====
  
 
These features can benefit [[Activities/Library]] activity. At present(for 0.82/0.84) Library uses "rich" datastore client which fetches all Journal objects to make short list of objects(by collapsing all versions to one item), moreover it has to unzip .xo bundles to get ''bundle_id'' value. So its not good.
 
These features can benefit [[Activities/Library]] activity. At present(for 0.82/0.84) Library uses "rich" datastore client which fetches all Journal objects to make short list of objects(by collapsing all versions to one item), moreover it has to unzip .xo bundles to get ''bundle_id'' value. So its not good.
Line 243: Line 248:
 
<strong>Sort by buddies count</strong>
 
<strong>Sort by buddies count</strong>
  
=== Old items ===
+
==== Old items ====
  
 
** Collaboration working properly!
 
** Collaboration working properly!

Revision as of 00:38, 22 May 2009

Team Home   ·   Join   ·   Contacts   ·   Resources   ·   FAQ   ·   Roadmap   ·   To Do   ·   Meetings

Sucrose Development

Sucrose 0.85.x is an unstable development series intended for testing and development purposes. Sucrose uses odd minor version numbers to indicate development status, so this unstable 0.85.x series will eventually become the 0.86 stable release.

Schedule

Schedule

Date Task Notes
2009 Jun 01 Release goals proposal
Jun 29 New modules proposal
Jul 29 Sucrose 0.85.1 Tarballs Due
Jul 30 Sucrose 0.85.1 Development Release
Sucrose 0.85.2 Tarballs Due
Sucrose 0.85.2 Development Release
Sucrose 0.85.3 Tarballs Due
Sucrose 0.85.3 Development Release
Aug 20 Sucrose 0.85.- Tarballs Due
Aug 21 Sucrose 0.85 Beta 1 (0.85.-) Feature, API, String freeze
Sucrose 0.85.5 Tarballs Due
Sucrose 0.85 Release Candidate 1 (0.83.5)
Sucrose 0.85.6 Tarballs Due
Sucrose 0.85.6 Release Candidate 2 (0.85.6)
Sep 17 Sucrose 0.86 Tarballs Due Hard code freeze
Sep 18 Sucrose 0.86 Final Release!

Glucose Development Team/Release/Modules

Fructose Development Team/Release/Modules

Glucose Dependencies

Fructose Dependencies

  • pyabiword
  • hulahop

Proposal Goals

Switch to a standard compliant window manager (possibly Metacity)

New toolbar widget

Browse

  • tabs support (open popup windows in tabs, saving of tabs history, standard behavior of Browse should not change -> no open tab by default)
  • better naming of files to be uploaded (change temp name to something based on the title)
  • export for offline viewing (Web page - HTML only, Web page - Complete)
  • creating of web pages (highlighting support in Write, Activity with special HTML based features(can happen outside of the official cycle))
    • bookmarks (global bookmarks, at the moment we only have session bookmarks and the autocompletion functionality)

Tags in the Journal

  • auto completion for already existing tags, tag clouds
    • its implemented in Library activity as well

More Accelerators (short cuts)

  • make sure we use the accelerators where possible, get discussion about which modifiers to use for which settings as early as possible going

Printing support

Search in home view

  • the search is recently builds disabled

Collaboration

Flash activities

Groups

  • tagging buddies to build up relations, tagging can happen by a teacher tagging a class or the learner can tag himself

List views

  • in the mesh view a list view of the access points
  • switching to use gtk-tree-view for the lists (journal, activity) - this has accessibility support already

Mesh View

  • use buddy color to seed the position to get a more stable positioning in the mesh view

Ad-hoc networking

  • as an alternative to the mesh

Bindings

Keyboard control panel extension

  • (Sayamindu would prefer to keep it as a seperate module, since everyone may not choose to go with XKB)

Dictionary support in the shell

  • link to email here

CP - Language in native language

  • link to ticket here

TA

  • de-couple the portfolio from the base TA

Library activity

Alsroot 16:16, 21 May 2009 (UTC)

API work

  • backwards compability
  • (http://wiki.sugarlabs.org/go/Development_Team/sugar-port will take care for the activities needs for a working activity on 0.82 for example) see "Decoupling of Sucrose" section Alsroot 16:16, 21 May 2009 (UTC)
  • dbus API to resume/open activities
  • dbus API to get core version(at least major version)

Decoupling of Sucrose

The major idea is to have tough core(with stable release cycle) <=> dbus-API/sugar-toolkit-API <=> unlimited count of activities that uses core functionality and do not follow 6 months release cycle(which could be overmuch for activity).

It could looks like:

  • core - glucose, six months(or so) release cycle, w/o any activities only API
  • bridge - sugar-port for example, between all(in ideal) already deployed sugars and activities i.e. it provides backwards compatibility(so the same activity code will work on all sugars) and at the same time provides features from newest sugar(so the same activity code will use last sugar's features)
  • world - the rest of sugar world i.e. fructose/honey (but now there is no differences between them) that use core directly, if all deployed sugars have the same API for desired functionality(for example in case of preselected mime type, ObjectsChooser has different API for 0.82-0.86), or use bridge otherwise.
    imho another point to have activities outside of core release cycle - activities have more shorter release cycle then core has

And of course deployers can form any sets from these components

Alsroot 16:14, 21 May 2009 (UTC)

Datastore feature requests that could benefit Library activity

These features can benefit Activities/Library activity. At present(for 0.82/0.84) Library uses "rich" datastore client which fetches all Journal objects to make short list of objects(by collapsing all versions to one item), moreover it has to unzip .xo bundles to get bundle_id value. So its not good.

With all these features implemented Library can use "thin" datastore client and not fetch all objects, just make proper request for datasotre.find() to get sorted and collapsed objects by portions (by using offset/limit find() arguments).

Get collapsed find()'s resultset

Let user call datastore.find() to get list of collapsed objects(all versions by one item).

That should mean that any datastore object should have "object id":

  • activity_id for objects that were generated by activities (already implemented)
  • bundle_id for .xo bundles in the Journal
  • uid for other objecets (already implemented)

History of collapsed object

Let datastore clients browse history of collapsed objects:

  • for activity_id objects - sort by timestamp (already impelemented)
  • for bundle_id objects - sort by activity_version(or so) field

Sort find()'s resultset

Let datastore clients sort objects by any field(not only predefined like uid, activity_id etc).

Sort by buddies count

Old items

Proposed modules

Subpages