[sugar] Interface Definition for Activity Writers

Wade Brainerd wadetb at gmail.com
Sat May 17 20:02:35 EDT 2008


Currently this interface definition consists of:

- A rough wiki page (http://wiki.laptop.org/go/Low-level_Activity_API)
- The source code to the Python modules in
/usr/share/python2.5/site-packages/sugar/
- The source code to the OLPC maintained activities (are there any anymore?).

I totally agree that this needs to be rethought and put together into
a cohesive API.  I would also argue that that this API should be first
written in C, then exposed to Python, so that activities can be
written in other languages besides Python and yet still use the native
Sugar UI widgets.  Unfortunately, that's a lot of work :/

Best,
Wade

On Sat, May 17, 2008 at 3:38 PM, Mikus Grinbergs <mikus at bga.com> wrote:
> [In the 'On the Naming of Sugar' thread, 'Glucose' was proposed as
> the name of "the minimal system that must be added to a standard
> Linux distribution in order to enable Activities to run", 'Fructose'
> as the name of a set of (demonstration) Activities, and 'Sucrose' as
> the name for "a complete Sugar environment".  I believe we should
> also have a specific name for the __INTERFACE DEFINITION__ (between
> 'Fructose'/'Glucose') to which all Activities need to be written.
> ('Sweetness' was suggested as the name of the "the abstract design
> of Sugar's appearance and behavior" - but that name addresses the
> Sugar_User's interface.  My concern is the Sugar_Activity_Writer's
> interface.) ]
>
> --------
>
> In the 'OLPC News (2008-05-17) - Tech Team' posting, Kim writes:
>> rebasing our builds ... by the weekend should have a build that
>> can be tested.  At this point many activities will need some work.
>
> I'm not sure what Kim meant by that last sentence.
>
> I believe strongly that "outsiders" ought to be allowed to develop
> Activities.  If "rebasing" the XO builds (in this case from Fedora-7
> to Fedora-9) involves work for providers of Activities, that's to me
> a sign that the __interface definition__ (to 'Glucose') needs work.
>
>
> Ideally, Activities ought not need changing, no matter what
> underlying (Linux) distribution is being used to run Sugar on.
>
> The __interface definition__ that Activities need to adhere to must
> be written down in a SINGLE authoritative document (which needs a
> codename).  Whenever the __interface definition__ gets modified, the
> changes need to be explicitly highlighted, together with an
> explanation of how "obsolete" Activity_versions will behave if run
> with the now-different Sugar.
>
>
> mikus
>
> _______________________________________________
> Sugar mailing list
> Sugar at lists.laptop.org
> http://lists.laptop.org/listinfo/sugar
>


More information about the Sugar mailing list