Hi!
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:
https://github.com/NoiseEHC/sugar-webkit-native
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.
https://github.com/bancek/light-swift
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.
Regards,
Andrew
_______________________________________________
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel