Previous Entry Add to Memories Share Next Entry
Exploring New Technologies
cananian

Last Monday I rejoined One Laptop Per Child as Director, New Technologies. My mandate is hardware and software for the XO-3, OLPC's upcoming ARM-based tablet computer for education in the developing world. The new machine should be lower cost, lower power, more indestructible, more powerful, and potentially more expandable than ever. There are about two million machines in the XO-1 family (XO-1, XO-1.5) in the hands of kids today. The XO-3 will build upon this impressive foundation to reach further into the poorest and least-connected regions of the world.

I will kick-off my work with a series of four week-long sprints between now and eduJAM Uruguay to investigate a number of possible directions for the educational software stack on the XO-3 tablet. On the XO-1—series machines OLPC ships Sugar, an impressive collection of educational software developed by Sugar Labs. How can we best keep the best of Sugar while yanking the UI forward into a touch-friendly tablet world?

  1. This week (April 4-8) I'll begin by working on a port of the GTK3 UI library to Android. The GTK3 library contains touch support missing from the GTK2 library on which Sugar is currently based. The end goal here would be a full port of the Python/GTK-based Sugar APIs, running on something like the Honeycomb Android OS. Our existing educational activities could be ported to the new APIs without too much difficulty, but we'd largely use the existing Android OS facilities instead of the parts of Sugar concerned with low-level system management. To clarify: this is a preliminary exploration—we haven't decided to base the tablet software on Android (or anything else) yet.
  2. The next week brings a new direction. During the week of April 11-15 I will start porting Python/GTK3 to Chrome or ChromeOS via the Google NativeClient plugin. This path would result in activities which more fully integrate with web technologies—even in disconnected regions of the world. On desktop machines, Sugar activities could be run inside the Chrome browser, while ChromeOS (or another embedded OS running chrome/webkit) would provide the system management functions on tablet machines like the XO-3. As with the Android port, this is an exploration, not a definite software direction.
  3. The week of April 18-22 I hope to focus on mesh networking. This has a somewhat checkered history in our deployments; I hope to identify the remaining roadblocks and map a way forward to make this a flagship feature of the XO-3 software.
  4. The week of April 25-29 is for the existing Python-based Sugar codebase. In order to continue moving forward, it needs to migrate to GTK3, gobject-introspection, and some other key enabling technologies. I believe it would also benefit from language-independent APIs and better modularization to allow a more incremental migration path.

The following week is Conozco Uruguay and the Uruguay EduJAM where I'll present my progress on these initial exploratory projects and discuss the path ahead with the wider OLPC and Sugar communities. Clearly, a week each is not enough time to finish any of these projects! But the focused effort should help to better identify the promise, roadblocks, and challenges in each of these paths, which then in turn will help us to plan the future.


Awesome to see you back :)

sayamindu

2011-04-04 10:49 pm (UTC)

Oh wow - it's great to see you back. Best of luck, and certainly looking forward to see interesting things from you :)

OLPC could hardly have made a better choice than you :)
Looking forward to meet you in UY. We'll have lots to talk about.
- Bert -

Nice to hear more about what's happening for XO-3 :)

I'm a bit surprised about the points 1 and 2 though... I understand you say it's not definitive yet and that is just to test the idea but it sounds like there is some (considered) strong binding with Google. If the goal is to consider the portability of Sugar to Tablet/Web OS, why only focus on Google solutions and not have a look at WebOS, Jolicloud, or even Windows 7?

Maybe OLPC prefers getting closer to Google and base the future on one of their solution (if possible). Why not, but I also thought the plan for OLPC and Sugar was to stay free on not depend on closed technologies/software.


Re: Why not the others?

cananian

2011-04-07 03:25 pm (UTC)

These are just the first four explorations, although I will admit that they are roughly priority-ordered. OLPC does have a commitment to openness, both for pedagogical reasons as well as for practical reasons relating to our global deployments and price sensitivity. Royalty and licensing considerations rule out things like Windows 8 or Windows Phone (we need tablet support, which isn't present at an acceptable level in Windows 7).

Jolicloud is cloud-based (it's in the name!) which doesn't play well with out disconnected deployments.

We have looked at MeeGo, but it's business future is deeply uncertain at the moment.

Our current software stack is based on Fedora. That's obviously getting a lot of attention as well, since we've got a large investment in it already.

WebOS is something which I haven't yet looked at seriously. If you want to make a technical argument about its advantages, I'd be willing to listen. I don't think it's open, and I'm not ever sure a third party can license it from HP. Those are two big strikes against it.

Re: Why not the others?

cgueret

2011-04-07 03:56 pm (UTC)

My question was really about considering only Google's tablet OS and not any the other's (HP's, Nokia's, Apple's, RIM's, ...). However, as you saw by yourself, I'm not very good at mentionning what these other tablet OS are ;)

I don't have any specific argument to make for WebOS apart from the fact that the press I've read about it was always good. Not sure either if you could licence it and how much that would cost you. But isn't it the same for Google? If the porting to Android is successful and it is deciced to turn Sugar into a set of Android apps, you'll have to get a license from Google to run Android on every XO-3, won't you ?

I agree that MeeGo could have been an interesting option, being a free OS you can build upon just as you do now with Fedora. But its future is indeed uncertain :-/ Would there be other free tablet OS around ?


Re: Why not the others?

cananian

2011-04-07 05:04 pm (UTC)

I'm always interested in pointers to new directions.

Android licensing is discussed here: http://en.wikipedia.org/wiki/Android_(operating_system)#Licensing

No license required as long as you don't use the android trademark or Google's closed-source apps.

Re: Why not the others?

cgueret

2011-04-07 05:10 pm (UTC)

Ok, you just convinced me that Android deserve a first position in your investigation points - I'm curious to see what will come out of it.
I did not know about the licensing conditions, so sorry for the uneducated questions and thanks for your discussion :-)

And I saw Joi Ito is joining the MIT Media Lab. How does does your job relate to them and how does it relate to Sugar Labs?

I'm hoping OLPC will be a bit more open about licensing hardware manufacturers than in the past - It would be cool to have dozens of different manufacturers making OLPC approved slates and OLPC remixes of Android touchpads.

More manufacturers should help bring prices down and allow more options for deployment scenarios - allowing some darwinian competition to push forward improvements in deployment.

(If you can get mesh networking that works made a standard feature in Android pads that would be a cool too)

OLPC is a Media Lab spinoff, and I'm currently supporting a Media Labs/Tufts literacy project. But no direct relationship.

OLPC did not actually own the schematics and PCBs for its designs in the past, which was the primary impediment to licensing. However, Peru has recently started its own in-country manufacturing (http://blog.laptop.org/2011/04/11/perus-new-xo-asembly-lines/) and OLPC is negotiating ownership of the XO-3 schematics.

cool to hear you are with OLPC! It sounds like a win-win to me!