GSoC/GCI Archive
Google Summer of Code 2009

Sugar Labs educational platform (a member of the SFC)

Web Page:

Mailing List: It's An Education Project <>

Sugar Labs is the community organization behind the Sugar Learning Platform, a free and open-source software project. Sugar is the core component of a worldwide effort to provide every child with equal opportunity for a quality education. Originally developed for the One Laptop per Child XO-1 netbook and designed from the ground up especially for children, Sugar offers a hardware and distro independent alternative to traditional “office-desktop” software. Sugar Activities running on the Sugar Learning Platform promote collaborative learning and critical thinking, and are used every school day in 25 languages by almost 1,000,000 children in more than 40 countries.

Sugar Labs, a volunteer, non-profit organization, is a member project of the Software Freedom Conservancy. The mission of Sugar Labs is to support the Sugar community of users and developers and establish regional, autonomous “Sugar Labs” around the world to tailor Sugar to local languages and curricula. Sugar Labs volunteers are passionate about providing education to children.


  • Adding Print Support to the XOs One of the drawbacks the XO laptops suffer from is the lack of a printing scenario. My project will not only add USB printing and include a moodle CMS plug-in which will feature a teacher moderated/intervened environment through which the teacher will be able to check the print jobs from students and approve/disprove accordingly, but it will also be having a PDF conversion facility which can be used on the image/doc mime types saved in the XO datastore for conversion.
  • Decentralized Asynchronous Collision-free Editing with Groupthink The centerpiece of Sugar's collaboration technology is the Write activity's live shared editing. However, Write is not tolerant of network disruptions, common on our mesh networks, because all traffic must pass through the initiating node. To provide a more robust system for shared editing, I will add to the Groupthink library a distributed editing system, using Operational Transformation to provide robust coherence. I will then write a "gtk.SharedTextArea" widget and a demo activity.
  • Karma + Activities The main idea is to boost educational Web Develop. This project will allow activity designers to quickly build activities utilizing widely-used tools. Karma will enable web designers to quickly build activities for the XO without having to learn a whole new skillset. The objetive is to provide a single prototype activity which could be used as a template for sugarizing AJAX activities.
  • Version support for Sugar data store / Journal Currently, the Journal irrevocably overwrites existing entries (which happens automatically upon activity exit unless the user explicitly changed the name). The purpose of this project is to add a new version to the entry instead, thereby preserving both the old and the new content.
  • Webified I'm making a SSB and an associated creation tool for Sugar. This implies minor enhancements to the Browse activity. The SSB will be based on the existing Browse activity, with Gears for offline mode. Browse will be extended with the ability to create SSBs from the current website.