Some Sweet Enyo Sugar (or How to Help Children All Over the World)

While I was in San Francisco for the HTML5 Developer Conference, I was clued into this fantastic effort done by Lionel Laské (president and co-founder of OLPC France) for the One Laptop per Child (OLPC) project. If you’re not familiar with OLPC, it is an effort to provide low-cost laptop computers to children all over the world to enhance their educational opportunities and connect them to the broader global digital world we take for granted. A noble goal, I’m sure most would agree.

The OLPC laptop is named XO and its user interface is Sugar. Sugar presents Activities for children to participate in instead of applications to run (check that link for a better description). A good number of Sugar Activities are developed using Python, but other languages can be used. This is where Enyo comes in. Aiming to attract JavaScript developers, Lionel has worked out a method whereby Enyo developers can easily create a Sugar Activity to run on the XO laptop. His two-part article describing his method (and the mini-framework he wrote to enable this) can be found here and here.

According to Lionel, Enyo was chosen over the Flask framework (Python) because the paradigm for developing with Flask is very complex and:

Enyo is very simple, elegant, component-oriented and, portable. “Portable” means that an application developed with Enyo could work easily on lot of different devices (smartphones, tablets, …). So a developer could write an application not only for Sugar but at the same time for other systems. It’s very important for developer which could else view Sugar as a “limited market”.

Lionel’s solution does use a bit of Python to kick off an initial Web browser to load the Enyo application. He provides a template to get you running quickly. You can get more information about using the template in the second part of his post. In addition to the Activity template, Lionel has also written a small framework that allows bi-directional communication directly between an Enyo application and the Sugar interface without the need for an embedded web server in the Activity. Great stuff!

We are excited that Lionel chose Enyo for its ease of use after attempting to do the same with at least one other framework. We also would like to applaud him for his work, in general, for the OLPC project! We encourage developers to create educational Sugar Activities for use on the XO. Your efforts may help ignite sparks that will fire the imaginations of the next generation of global citizens and beyond!

- Dave Freeman, Enyo Developer Relations Team