It's great to see more and more fellow FLOSS enthusiasts realizing both the impact of education in our goals and the importance of free software in improving our society, this time by impacting children's education.
Celebrating tomorrow's Software Freedom Day, the Free Software Foundation and Sugar Labs are announcing a partnership to improve learning with free software:
http://www.fsf.org/news/sugar-labs
http://www.sugarlabs.org/press
If you are a software developer concerned about the challenges that our global society faces and think that early education is part of the solution, please consider contributing to Sugar Labs. You don't even need to get your hands dirty in Sugar code if you don't wish to, there's plenty of code elsewhere in the stack that will benefit our young users, for example:
* Improve the rendering performance of librsvg for the kind of icons used in Sugar,
* Add tile-based rendering to Evince #303365,
* Improve GObject-Introspection support in PyGObject (what used to be called PyBank),
* Improve startup performance and memory usage of Python by reducing eager loading of module dependencies,
* Improve Linux' handling of low memory conditions in userspace,
* Package Sugar for your favorite distro,
* Improve the infrastructure for Live USB images in your favorite distro,
* Spread this call for help.
Of course, if you prefer to help us develop the Sugar shell and its activities we'll be happy to help you put your skills on use. Just say hi in #sugar @ Freenode or in sugar-devel.
And as any other FOSS project, we also need testers, bug triagers, designers, web developers, technical writers, you name it.
Friday, September 18, 2009
Sunday, July 26, 2009
Writing Sugar activities with PyQt
At David Boddie's suggestion, have dedicated part of this weekend to explore how well PyQt can be used to write Sugar activities. The results have been very satisfying, I would say thanks to python's flexibility and to the Sugar activity architecture, an excellent work of Marco Pesenti Gritti.
So I got something that looks and behaves similarly to activities compliant to the Sugar Human Interface Guidelines, with the following exceptions:
* No combobox for selecting the sharing mode.
* Some theme quirks were fixed with a custom stylesheet, I think these should be treated as bugs in either QGtkStyle or the Sugar Gtk theme. Or if QGtkStyle is not up to this job, we would need to implement a new QStyle. Couldn't workaround all of the issues in the stylesheet.
* No palettes at all. Hope implementing them in Qt will be much less work than it has been in Gtk+.
* The XCursor theme is not picked up, need to investigate further.
* Some Gtk stuff is still used, I think PyQt activities shouldn't use Gtk+ at all for better memory usage and startup performance.
Good news is that I have reimplemented good part of the activity API in PyQt quite quickly, but we may want to design a better API learning from the mistakes of the past.
Now, let's let the Sugar platform get flooded of KDE Edu activities :)
Update:
Code: http://git.sugarlabs.org/projects/hellow-world-qt/repos/mainline
Screenshot:
So I got something that looks and behaves similarly to activities compliant to the Sugar Human Interface Guidelines, with the following exceptions:
* No combobox for selecting the sharing mode.
* Some theme quirks were fixed with a custom stylesheet, I think these should be treated as bugs in either QGtkStyle or the Sugar Gtk theme. Or if QGtkStyle is not up to this job, we would need to implement a new QStyle. Couldn't workaround all of the issues in the stylesheet.
* No palettes at all. Hope implementing them in Qt will be much less work than it has been in Gtk+.
* The XCursor theme is not picked up, need to investigate further.
* Some Gtk stuff is still used, I think PyQt activities shouldn't use Gtk+ at all for better memory usage and startup performance.
Good news is that I have reimplemented good part of the activity API in PyQt quite quickly, but we may want to design a better API learning from the mistakes of the past.
Now, let's let the Sugar platform get flooded of KDE Edu activities :)
Update:
Code: http://git.sugarlabs.org/projects/hellow-world-qt/repos/mainline
Screenshot:
Friday, July 24, 2009
On Negroponte's omelettes
For the people who aren't following closely the Sugar project (specially my GNOME friends), if you read in certain media that Negroponte thinks that Sugar is OLPC's biggest mistake, you may want to know that some confusion has arisen from his badly-chosen words.
Negroponte is referring by the name Sugar to the whole OS image that ships in their machines, something different to what everybody else refers by Sugar, even OLPC's own Support FAQ.
No need to extend on this myself because others have explained better the gory details:
http://radian.org/notebook/nonsense-omelet
http://gregdek.livejournal.com/52052.html
Something I can add to those posts though is that OLPC management tried once before to refer to the whole software they made as "Sugar" at one occasion before. It was when the community was outraged at the company's approximation to MS, they announced that their commitment to Sugar was still strong and proof of that was that they had doubled the resources available to Sugar.
What in fact happened was that they hired several people to work on the base system, but the people working on the real Sugar were still the same, sad, 2 and a half people.
Given that the Sugar community is working in the benefit of OLPC's customers, I wonder why Negroponte cannot think a bit more before making such "courageous" statements.
Negroponte is referring by the name Sugar to the whole OS image that ships in their machines, something different to what everybody else refers by Sugar, even OLPC's own Support FAQ.
No need to extend on this myself because others have explained better the gory details:
http://radian.org/notebook/nonsense-omelet
http://gregdek.livejournal.com/52052.html
Something I can add to those posts though is that OLPC management tried once before to refer to the whole software they made as "Sugar" at one occasion before. It was when the community was outraged at the company's approximation to MS, they announced that their commitment to Sugar was still strong and proof of that was that they had doubled the resources available to Sugar.
What in fact happened was that they hired several people to work on the base system, but the people working on the real Sugar were still the same, sad, 2 and a half people.
Given that the Sugar community is working in the benefit of OLPC's customers, I wonder why Negroponte cannot think a bit more before making such "courageous" statements.
Telepathy Developer's Manual
I'm skimming through it right now and this is REALLY good stuff:
http://people.collabora.co.uk/~davyd/telepathy-book/
Ideally, 90% of Sugar activity authors shouldn't need to get to work much with telepathy directly, because they most likely only want to share a data structure and interchange some messages or signals.
But for the people doing activities such as Chat or VideoChat, implementing collaboration frameworks such as Groupthink or messing with the presence service in Sugar, this will be invaluable and will hopefully lower the floor for new contributors.
Thanks, Collabora!
http://people.collabora.co.uk/~davyd/telepathy-book/
Ideally, 90% of Sugar activity authors shouldn't need to get to work much with telepathy directly, because they most likely only want to share a data structure and interchange some messages or signals.
But for the people doing activities such as Chat or VideoChat, implementing collaboration frameworks such as Groupthink or messing with the presence service in Sugar, this will be invaluable and will hopefully lower the floor for new contributors.
Thanks, Collabora!
Tuesday, July 21, 2009
Sugar, usando Software libre para aprender
Por casualidad tropece con este articulo excelentemente escrito por Maria del Pilar Saenz Rodriguez: Sugar, usando Software libre para aprender. Explica muy bien la importancia del software libre en educacion y como encaja Sugar ahi.
Desafortunadamente se necesita Flash para acceder al pdf, esta disponible en la caja "My shared files" en la misma pagina. Y claro, seria muy bueno que Pilar alias befana sindicara su blog en planet.sugarlabs.org.
Tambien seria estupendo tener una traduccion al ingles para la gente de Sugar Labs que lo promueve a nivel internacional, voluntarios?
Desafortunadamente se necesita Flash para acceder al pdf, esta disponible en la caja "My shared files" en la misma pagina. Y claro, seria muy bueno que Pilar alias befana sindicara su blog en planet.sugarlabs.org.
Tambien seria estupendo tener una traduccion al ingles para la gente de Sugar Labs que lo promueve a nivel internacional, voluntarios?
Monday, June 15, 2009
Progress on Sugar activities with SWF content
Following the work I did some months ago, Rob Savoye has been kind enough to update the rpm spec of Gnash to also produce rpms for the SDK and for the python bindings for embedding the player.
This will allow us to run activities that use Flash content in the next release of Sugar, 0.86. Rob has also updated the .deb control files so this work is well under its way to be in the next releases of all the major distros.
If you want to try it today, you can install some rpms in the Fedora 11-based Sugar on a Stick and run EatBoom, a sample activity that contains a flash game developed by Innovations for Learning. It is a simple game for practising additions that is part of their TeacherMate product. IFL has released this activity as GPL and I hope they will find value in releasing more of their work so it can be used by children in Sugar or in other platforms.
Step 1: download the last SoaS snapshot from here.
Step 2: install it to a USB stick following this instructions and boot it in your computer.
Step 3: start the terminal activity and run the commands below:
Step 4: start Browse and type the following URL: http://shell.sugarlabs.org/~tomeu/EatBoom-1.xo The EatBoom activity will be downloaded and installed.
Step 5: Run EatBoom!


Here you have the source for the activity, which can be changed to load a different SWF movie by changing just a single line of code: http://git.sugarlabs.org/projects/eatboom
This will allow us to run activities that use Flash content in the next release of Sugar, 0.86. Rob has also updated the .deb control files so this work is well under its way to be in the next releases of all the major distros.
If you want to try it today, you can install some rpms in the Fedora 11-based Sugar on a Stick and run EatBoom, a sample activity that contains a flash game developed by Innovations for Learning. It is a simple game for practising additions that is part of their TeacherMate product. IFL has released this activity as GPL and I hope they will find value in releasing more of their work so it can be used by children in Sugar or in other platforms.
Step 1: download the last SoaS snapshot from here.
Step 2: install it to a USB stick following this instructions and boot it in your computer.
Step 3: start the terminal activity and run the commands below:
su -
curl -O http://shell.sugarlabs.org/~tomeu/gnash/gnash-0.8.5-4.20090615bzr11113.fc11.i586.rpm
curl -O http://shell.sugarlabs.org/~tomeu/gnash/gnash-plugin-0.8.5-4.20090615bzr11113.fc11.i586.rpm
curl -O http://shell.sugarlabs.org/~tomeu/gnash/gnash-widget-0.8.5-4.20090615bzr11113.fc11.i586.rpm
rpm -U *.rpm
Step 4: start Browse and type the following URL: http://shell.sugarlabs.org/~tomeu/EatBoom-1.xo The EatBoom activity will be downloaded and installed.
Step 5: Run EatBoom!


Here you have the source for the activity, which can be changed to load a different SWF movie by changing just a single line of code: http://git.sugarlabs.org/projects/eatboom
Sunday, May 31, 2009
Installing Mozilla addons in Sugar's Browse
Lucian Branescu thinks it would be useful for his Webified project if Browse could run Google Gears.
Browse is unfortunately unable to install and directly use .xpi files, even if it's based on Mozilla. Maybe adding support for this doesn't depend on too much stuff only in Firefox and it could be quite easy. If someone would like to investigate a bit, would be very nice. But for now we can do some dirty tricks to get it up and running.
Steps:
That would be enough, but unfortunately Gears will be of little use for now until this bug gets fixed in Mozilla, because the security dialog will be too small and you won't be able to authorize web sites to use Gears. Let's hope this gets fixed soon!
And now for the obligatory screenshot:
Browse is unfortunately unable to install and directly use .xpi files, even if it's based on Mozilla. Maybe adding support for this doesn't depend on too much stuff only in Firefox and it could be quite easy. If someone would like to investigate a bit, would be very nice. But for now we can do some dirty tricks to get it up and running.
Steps:
- expand gears-linux-opt.xpi with unzip,
- move the files inside the components dir (bootstrap.js, gears.xpt, libgears_ff2.so and libgears.so) to $(prefix)/lib/hulahop/components,
- move the file inside the lib dir (update.js) to $(prefix)/lib/hulahop/lib,
- move the dirs inside the chrome/chromeFiles dir (content and locale) to a new dir called $(prefix)/share/hulahop/chrome/gears,
- copy the file chrome.manifest to $(prefix)/share/hulahop/chrome/gears.manifest, mind the file name change. Also make this change to the file contents:
--- chrome.manifest 2009-05-19 20:34:46.000000000 +0200
+++ ../../install/share/hulahop/chrome/gears.manifest 2009-05-29 12:26:36.000000000 +0200
@@ -1,4 +1,4 @@
-content gears chrome/chromeFiles/content/
+content gears gears/content/
overlay chrome://browser/content/browser.xul chrome://gears/content/browser-overlay.xul
locale gears en-US chrome/chromeFiles/locale/en-US/
locale gears ar chrome/chromeFiles/locale/ar/
That would be enough, but unfortunately Gears will be of little use for now until this bug gets fixed in Mozilla, because the security dialog will be too small and you won't be able to authorize web sites to use Gears. Let's hope this gets fixed soon!
And now for the obligatory screenshot:
Subscribe to:
Posts (Atom)