Friday, March 19, 2010

Sugar with better Telepathy

After three weeks of little coding but much reading, a reward:

This shows the Chat activity talking to Empathy through link-local xmpp. This was already possible, but the difference now is that Chat is a normal telepathy client, and it has been activated by dbus as would be any other telepathy-enable application in GNOME, Meego or whatever.

The current code is very sketchy, but we are starting to get a good sense of the next challenges. If you are interested in knowing why this is important, see my previous post.

Progress can be followed in this page.

Saturday, March 6, 2010

Update on the Python/GNOME hackfest

The hackfest is going to happen from 14th to 18th April in Boston (MA, USA). We haven't agreed yet on a venue, but we are aiming for something near Kendall Square.

We'll be 3 people working on Python 3 support, and 3 more on the introspection bindings. More details at

The GNOME Foundation will be sponsoring the travel, an as-of-yet unnamed sponsor will be providing the venue and the GNOME Foundation board is busy looking for sponsors for hacking food and such.

Wednesday, March 3, 2010

Early childhood hackers

Of course, Sugar hasn't the monopoly in FOSS in primary classrooms, but are there other projects whose contributors include those children? Teacher L.M.Y.Lim is working to make that happen:
- I have to narrow my focus on the goals I have for the children. Objectives will include:
The children will generate a list of responsibilities a QA engineer, or “tester” has;
The children will generate a list of what makes a good QA engineer;
The children will write about their experience – not only about what they figured things out, but also how they did it.
The children will provide feedback for future SoaS deployment or pilots.

And Mel briefed about their first meeting with the community.

Tuesday, March 2, 2010

My focus during 0.90: Collaboration

From now on to the next Sugar release in about 6 months (0.90), I'm going to be working on improving the collaboration stack in Sugar, graciously sponsored by Collabora. Collabora employees developed almost all of the collaboration code in Sugar, and are the main force behind the Telepathy framework, on which Sugar's collaboration is based. Though pervasive collaboration is one of the major features of Sugar, it hasn't been funded for a long time and there's large room for improvement, also due to the new developments in Telepathy. My work will aim to make presence and collaboration more reliable and to put the pieces in place for enriching the experience with the new features in Telepathy.

Collabora has almost 5 years of experience in open source software so they know very well that for a project to survive, someone needs to take the role of software maintenance, and that's why they are going to be sponsoring me as well 1-2 days per week of maintenance work. Maintenance work includes tasks such as reviewing proposed changes, maintaining the bug database, participating in community discussions, welcoming new contributors, making new releases, etc, and is fundamental in keeping an open source project such as Sugar alive. That's why I would like to put a call for our many users of Sugar to help the other maintainers keep doing their work by supporting them financially. As of today the only Sugar maintainers that are paid anything for doing their job are Sayamindu and me, and this is not sustainable.

The grunt of the work will be dropping custom code that was developed ad-hoc in the early days and making Sugar use instead new developments in Telepathy. Many of the bugs we see today in collaboration are due to the several layers on which collaboration information is cached. By dropping the Presence Service and having activities call Telepathy directly, we'll improve the reliability of presence and collaboration.

There's also code in Telepathy that is exclusively for Sugar and that is redundant now due to new developments in other parts of Telepathy. I will be working as well in making Sugar don't need those specific mechanisms because the Telepathy maintainers will drop those pieces at some point and Sugar cannot be left behind. As well, Sugar depends on the server being configured in an specific way, breaking collaboration with non-Sugar specific servers, there will be work as well to remove this limitation.

By using the same pieces as other environments such as GNOME and MeeGo, Sugar will be closer to the development of those platforms and will be in a better position to take advantage from new features. We'll be reducing as well the effort required to maintain and further develop our collaboration stack, and we'll be sharing with others the burden of keeping our collaboration foundations solid.

Many of the changes will be under the hood and won't be seen nor by users nor by activity developers. Other changes will affect developers because API that they were using won't be there any more, I'm going of course to try to minimize this as much as possible. Other changes will impact the UI, mostly by adding new features, but sometimes will be changes required to make Sugar closer to the other Telepathy clients. I will be starting discussions very soon about all these changes so we can find the best solutions for each.

In summary, Sugar will improve in these ways:

- the collaboration code will be smaller and simpler,

- Sugar users will be able to collaborate through more networks, with more protocols, and with people not using Sugar,

- Sugar will be more compatible with future versions of Telepathy,

- we'll have a simpler path to acquire recent and upcoming features in Telepathy and related frameworks, such as VOIP and video calls.