[Sugar-devel] Activity Central's Sugar related priorities.

NoiseEHC noiseehc at gmail.com
Tue Oct 22 15:02:07 EDT 2013


Took some time but finally set up my git account...

> 2 Journal
> This is probably the issue we have been most aware of. I've been 
> thinking in the per activity datastore direction too and I think it's 
> probably the best one. Though as you say that involves UI redesign and 
> we would need to figure out compatibility with existing activities. 
> (Please share the webkit code, I don't know if I'll have time to hack 
> on it but I did think to write something like that at some point, it 
> would be interesting to look at it if nothing else).

I have put the ?latest? sources here:
It requires a "yum install webkitgtk3-devel" to be able to compile, 
unfortunately my XO-1.75 says that there are no more mirrors to try for 
mesa and libdrm dependencies so I could not try it under an ARM XO... (I 
did try it some time ago however it just stopped working.)
You may also need to create a test2/bin directory as git does not 
include it...
The code is full of static char buffers which should be fixed and it 
also crashes on an XO when you compile with webkit2gtk...

> We probably all agree that it would be awesome to have something  that 
> integrates well with Sugar and works transparently by reusing existing 
> web technologies. I don't think that's easy to achieve though. It has 
> been said in previous discussions that without the close integration 
> between activities and system, Sugar would be just yet another suite 
> of educational applications (and likely not the best of them). I very 
> much agree and I think it's tricky to preserve that while moving to 
> frameworks which are supposed to work everywhere.
> We could have started with something more web developer friendly and 
> incrementally integrated it into the native Sugar platform, for 
> example by redesigning the Journal in the way you described, and 
> somehow adapting native activities to the new design. Instead we went 
> for something targeted at the current Sugar developers with the idea 
> of making it incrementally more web friendly.
> I have been on the fence on what was the best approach and I still am. 
> Something to consider is that we barely have the resources to maintain 
> the existing native code. I doubt, for example, that we would be able 
> to ship a redesigned Journal. Consider also that the people most 
> involved with this work has all a good knowledge of the Sugar platform 
> but are not really web developers.

I fail to see why would it be bad if "Sugar would be just yet another 
suite of educational applications". Currently the "close integration 
between activities and system" consist only of 3 DBUS methods, 4 X 
properties, the Journal as a filesystem and the presence service (which 
is desugarized if I remember correctly, you have to use Telepathy 
directly?). In my opinion the single most important thing would be to 
allow developing sugar applications directly in the PC browser (like 
firefox or chrome). If that would work then you could just go to a web 
conference and after giving a presentation about sugar-web you could ask 
the attended crowd to help you in the workshop by converting just 
ONE/person python activity into a web one and you are done with the 
conversion in a day... Obviously it would not make converting 
Write/TurtleArt/Etoys/Scratch easy but at least the rest would be done.

Now, if you go standard web, then you do not need the X properties, 
view-source is built into the browser (DBUS HandleViewSource) and DBUS 
SetActive can be done with "webkitvisibilitychange" event and timers. 
The only remaining thing would be handling the DBUS Invite.
Collaboration would most likely need an OT library which should have a C 
implementation on the XO to have usable speed.
The Journal simply can be implemented by the host application by 
providing either some standard file API implementation (like 
light-swift) or just providing a virtual page with links and POST.

So if you already run a node.js server then probably it could host the 
activity's html files and could provide some virtual file GET/POST 
service in
http://localhost/journal/directory.json <- this is for file list
http://localhost/journal/guidcomeshere <- this is for GET/POST files

My plan was to support http://localhost directly from 
sugar-webkit-native (instead using file:// to be able to OAuth) and 
query/update the journal from there too but it is simpler from node.js 
if you are running it anyways. You can also assume that web developers 
have node.js running on their dev machine or already know how to install 
it. If you forget for a while to have collaboration from web apps then 
the rest can be done in no time IMHO.

So that was my $0.02. Obviously it can be too late to change plans but 
who knows. I have uploaded the source anyway so you can use it if you want.


More information about the Devel mailing list