Status of Develop.activity?

Andrew Clunis andrew at
Thu Dec 6 01:52:27 EST 2007

On Wed, 2007-12-05 at 19:23 -0600, Charles Durrett wrote:
>                         Andrew Clunis had it for a while but last
>                         change was months ago. 
>                         TIA

Hey folks:

I'm glad to see some interest in getting the Develop project going

A few comments/notes:

- we really need to hash out the requirements for the first iteration.

- version control.  Activity Sharing (see below) only really covers the
Pair Programming use case.  The version control concept covers a range
of other issues.  Develop should track changes made by programmers, and
provide them with a means to share and merge their changes. This one I
spent a fair amount of time on.  The current version of Develop uses bzr
for version control, and it actually works in a very minimal way (or
did, anyway).  However, by doing so I was duplicating logic; in my view
the correct approach would be to truly use DataStore/Yellow as our
storage mechanism.  However, the DS isn't a true source code management
system with merging and distributed history.  The models just don't
*quite* fit.

- the editor component has already been prepared for us;  AbiWord has
added source editing features like a line number ruler, syntax
highlighting, and of course the collaborative editing mode (which will
be very useful for Pair Programming).

- Pippy and Develop should be worked on in concert.  Right now Pippy
just uses gtksourceview, and really should end up sharing a lot of
common logic.

- Chema's been looking into internationalising Python.  I do not envy
him in this task. :)

Develop also proved tricky to work on, simply because I was outside of
OLPC proper.  Develop will likely require some work done on the design
of the sugar platform itself (the DS comes to mind).

The current code is rather over-engineered.  I tried to create a
so-called "object model" to describe every aspect of an Activity, and
eventually got lost in a big pile of classes and interactions.

I began to tumble down the rabbit hole of stressing over all these
issues, rather than focusing on having a minimal program that does the
simplest thing that could possibly work.  I did have a working tabbed
editor with TreeView and bzr version control, but it was very slow when
working with large trees.  Eventually I ended up losing interest simply
because I didn't really have much to show for my efforts, and now the
code is both broken and incompatible with the current version of Sugar.
Shame on me.

I think it might be appropriate to start over, and merely use the
current version as a reference.

What do you guys think?
Andrew Clunis

More information about the Devel mailing list