James Simmons has been working for the last months in a manual about writing activities for the Sugar platform, you can get it from the FLOSS Manuals site along other Sugar and FLOSS documentation.
If you had wanted to contribute to the pool of educational activities for Sugar and found it hard to get all the details right, it should be now much easier for you to help more children around the world to get better learning.
Friday, February 26, 2010
Wednesday, February 24, 2010
Visit to Igalia
New Igalia office by
Berto Garcia under CC BY-SA 2.0
The morning of the first day was spent with Juan José Sánchez, who explained to me the ways in which they are a special company. Igalia's management structure is very flat, with responsibility fairly distributed among its partners, which are 70% of its employees. This means among other things that when the company participates in a project, the people working on it are going to be more committed than if they just were assigned by their managers.
The first talk started that day after lunch, intended to give an overview of Sugar's origins, its present state and perspectives of future. The goal was two-fold: give them enough background so they could more efficiently jump into the community, and present a case of a FOSS project to the Master on Free Software students. The best of the session was without doubt their questions and the discussions that ensued afterwards, I'm happy I was able to pick their interest! The slides (in Spanish) can be found here.
After a break, we held a workshop about hacking on Sugar. The audience had a varied technical background, including experienced GNOME developers but also students of the Master on Free Software with little or no knowledge of GNOME hacking, so I tried to jump over the details that are not specific to Sugar and to highlight the specifics of contributing code to Sugar, in the hope that our online resources will be able to fill the gaps. I started introducing them to our jhbuild instance, went quickly through the core modules in git, explained the code review process and went through the process of contributing a trivial bugfix. Then moved to activities, explaining the layout of a simple Python activity and then the couple of X window properties that need to be set so the Sugar shell can recognize a top level window as belonging to an activity. We also spent some time peeking inside a few Sugar activities such as Browse and Write.
Morning next day, several Igalians approached me to talk about the different ways in which Sugar could benefit from their work:
Sergio Villar showed me the work that has gone recently into Tinymail (a library that provides an email backend) clients using different toolkits. They have been refactoring Modest so more code can be shared between the Hildon and Gtk+ based versions, paving the way for more Tinymail-based experiences. Though we haven't heard calls often for an email client in Sugar, this may be due to the fact that we hear most about Sugar deployments that are well connected to Internet, thus being able to use an on-line email service. This makes me think that there may be indeed a need for an email client that allows an async experience, for places with intermittent connectivity such as remote Peru where often not even electricity is available. Sergio has been quick to test his ideas and has blogged about it already.
Alejandro Piñeiro talked to me about his work on the accessibility layers in the GNOME stack. He has been working recently on the accessibility bits in Clutter and Hildon, so already has a very good idea of the work needed in the Sugar shell and toolkit so screen readers such as Orca can do their job. This will play a very important part in Sugar's accessibility story, on which I hope to write soon in more detail here.
Iago Toral has worked in the multimedia infrastructure for Maemo and has recently been involved in Grilo, a framework for media acquisition and reproduction. He envisioned an activity that would provide a rich UI for searching, browsing and reproducing educational media. These UIs already exist in the form of web apps, but an activity could have benefits such as more responsive and focused UIs, automatic caching, using secondary sources depending on connectivity, etc. We still need to understand better how Grilo could grow support for users contributing media to online services.
Mario Sánchez and Juan José Sánchez took some time to discuss how WebKit/GTK+ could be put to use in the Sugar platform (though we already use it in Read for rendering EPUB books). We discussed the feasibility of adapting Epiphany to run as an activity, and also port the Browse activity to use Webkit instead of Mozilla. This can be very important for Sugar, because distros such as Ubuntu are talking about dropping support for embedders of Mozilla, and because WebKit/GTK+'s accessibility is improving very quickly because of Igalia's work.
As you can see, this has been an incredibly productive trip, bringing on the table several opportunities for growing Sugar on top of new GNOME technologies, on which Igalia has an impressive knowledge. I'm also very happy to see the interest that Sugar has raised on our colleagues from Igalia, and I'm very confident on their capability to make excellent contributions to Sugar if they chose to.
Monday, February 15, 2010
Free love
A fan of free software sent this greeting yesterday to me, addressed to the Sugar community and to other free software projects:
free software foundation suggests people send valentine's greetings to free software developers. i could be wrong, but i think it's a great idea. i don't get many excuses to bother devs with thank yous.
i'm not only a huge fan of sugar. i have sugar to thank for helping introduce me to all of these: linux-libre (via trisquel-con-sugar) trisquel, python, gnewsense. i tried trisquel because it included sugar, i learned python because of pippy. after 25 years of coding in basic, python is probably my favorite language.
i know sugar is developed for kids and that's great. i learned basic as a kid, and i believe very strongly in pippy and i think turtleart is absolutely ingenious.
i know i have (a) team(s) to thank, but in the interest of not making spam filters angry and retributive i'm just sending this valentine to you. maybe you'll share it? thanks everyone.
Friday, February 5, 2010
Hackfest on Python 3 and GObject introspection
J5 has had the great idea of proposing a GNOME Foundation-sponsored hackfest to bring needed pushes to Python 3 and GObject Introspection support to PyGObject.
The situation in which we are today is not very comfortable, as more and more people are wanting to move their projects to Python 3.x and the old static bindings are not being able to cope with new API added to existing libraries and with new GObject-based libraries. A lot of people out there are known to be using PyGTK in long-term projects, so we really need to get our act together.
AFAICS, the plan on the table right now is to make PyGObject and PyGI run on Python 3.x and drop the static bindings, instead of having to port all of them to Python 3.x. Another possibility is to drop PyGObject altogether and have standalone python bindings for GObject Introspection, but that would reimplement lots of stuff already in PyGObject.
Have started a thread in the PyGTK mailing list: http://www.daa.com.au/pipermail/pygtk/2010-February/018222.html
Please pass this idea to whoever you think could be interested, more details will come soon.
UPDATE: have started a proposal in the GNOME wiki: http://live.gnome.org/Hackfests/Python2010. Once we have a better idea of who is interested in attending, I will complete it further.
The situation in which we are today is not very comfortable, as more and more people are wanting to move their projects to Python 3.x and the old static bindings are not being able to cope with new API added to existing libraries and with new GObject-based libraries. A lot of people out there are known to be using PyGTK in long-term projects, so we really need to get our act together.
AFAICS, the plan on the table right now is to make PyGObject and PyGI run on Python 3.x and drop the static bindings, instead of having to port all of them to Python 3.x. Another possibility is to drop PyGObject altogether and have standalone python bindings for GObject Introspection, but that would reimplement lots of stuff already in PyGObject.
Have started a thread in the PyGTK mailing list: http://www.daa.com.au/pipermail/pygtk/2010-February/018222.html
Please pass this idea to whoever you think could be interested, more details will come soon.
UPDATE: have started a proposal in the GNOME wiki: http://live.gnome.org/Hackfests/Python2010. Once we have a better idea of who is interested in attending, I will complete it further.
60.000 children more will learn with Sugar in Argentina
Thanks to OLPC and their local government, every child in the Argentinian state of La Rioja will use Sugar to learn, both at school and outside. Note that this includes thousands of children (and families) that would have never owned a computer otherwise.
I'm happy to note that they see the Uruguayan experience as a model to follow. In Uruguay the laptop deployment is something that the whole society has taken ownership of and thus is having a deep and broad impact everywhere.
I'm looking forward to work with the Argentinian free software community in improving the educational opportunities of their children through hacking on Sugar.
Thanks to Gonzalo Odiard from Sugar Labs Argentina for passing the news.
I'm happy to note that they see the Uruguayan experience as a model to follow. In Uruguay the laptop deployment is something that the whole society has taken ownership of and thus is having a deep and broad impact everywhere.
I'm looking forward to work with the Argentinian free software community in improving the educational opportunities of their children through hacking on Sugar.
Thanks to Gonzalo Odiard from Sugar Labs Argentina for passing the news.
Two Sugar talks in A Coruña
Next week I'll be giving two talks about Sugar in the Igalia office in A Coruña, Galiza, Spain. The first one will be of introductory nature, talking about Sugar's history, the community around it and future perspectives. The second will be more of a workshop on how to contribute features and bug fixes. The talks will be part of the Free Software Master that Igalia runs in partnership with the Rey Juan Carlos University, but other interested people are welcome to join us.
The talks will be in Spanish and will take place on Thursday 11th February 2010 from 16 to 19, at Bugallal Marchesi, 22, 1º, A Coruña:
* 16:00-17:15 Introducción a Sugar, historia, comunidad, oportunidades
* 17:45-19:00 Charla técnica / taller sobre cómo realizar contribuciones
I'm very happy to see Igalia's interest on Sugar, in my opinion it isn't a coincidence that a company with a strong commitment to Free Software sees education as an important area through which fulfil their social mission.
The talks will be in Spanish and will take place on Thursday 11th February 2010 from 16 to 19, at Bugallal Marchesi, 22, 1º, A Coruña:
* 16:00-17:15 Introducción a Sugar, historia, comunidad, oportunidades
* 17:45-19:00 Charla técnica / taller sobre cómo realizar contribuciones
I'm very happy to see Igalia's interest on Sugar, in my opinion it isn't a coincidence that a company with a strong commitment to Free Software sees education as an important area through which fulfil their social mission.