Monday, April 28, 2008

Obligatory Future of Sugar Post

As everyone has been rending their garments over the future of Sugar and direction of OLPC, I might as well lay out my thoughts on the issue.

As I see it, Sugar is a set of tools for writing creative and collaborative activities for children. I think a lot of the confusion about, say, "porting" Sugar for Windows mis-places the reader's emphasis on Sugar as a window manager, rather than Sugar's potential advantages for the activities (née applications) which are built on it. Put another way, what's most important about Sugar is not what I see and do up to the point I launch an activity, it is how the activity works.

As an English teacher, here's what grabbed me about Sugar: it was designed to make it as easy to pass a copy of a student's work across the room electronically as it is to carry a piece of paper across the room. A close second in importance is automatic saves that don't use a hierarchical file system. Not using a hierarchy isn't such a big deal in high school, but if you've ever sat in the back of a room full of third graders while their teacher tries to make sure they've all saved their PowerPoints to the right folder in a networked drive, you'll understand the value (although the computer teachers tend to have internalized the idea that that teaching 9 year olds to use tools ill-suited to their needs is part of their job).

What is important is not just that the Sugar HIG requires that functionality, but that the Sugar libraries should make it easy for a developer to generate it. With mature Sugar, it should be possible to create a basic implementation of what I describe above by importing a Python-wrapped GTK rich text editing widget, doing import sugar and writing 100 lines of code or so to tie it all together.

In a sense, the whole OLPC project is designed to maximize the opportunity for kids to undertake collaborative Sugar activities. That's why you need a cheap laptop with great power consumption and mesh networking. In this context, porting Sugar to other platforms is simply furthering children's access to those activities.

As a teacher, if one kid fires up an OLPC running the full Sugar shell and clicks on the Write icon in the frame, and another kid double clicks on a icon on his desktop or selects Write from his Start menu, I don't care as long as they can easily collaborate. I don't really care if on Windows Write opens as a regular window, with a separate window for the neighborhood view. I can deal with that. I don't care if my Windows desktop running Write has any concept of mesh networking, because it is plugged into an ethernet jack anyhow. I just want my kids to be able to have writing circles with the least technical hurdles possible.

In a perfect world, Sugar would pre-date OLPC by about three years, and the relationship between hardware and software would be more apparent -- we've got this revolutionary learning software, now we just need to design a device to get it to as many kids as possible! Back in the real world, however, "Sugar" is the software written to run the OLPC, not vice versa, and it is all getting really confusing.

From where I sit, there has been a distinct lack of interest in Sugar from the "learning sciences" and other communities that are involved in research and development around software for kids. They have not seen Sugar for what it is, which is the one chance in this generation,and I'm talking human generations here, not technological ones, to create a common set of open source tools specifically for writing applications for kids. They don't seem to get that this is a singular opportunity to invest in the foundation of their discipline. I don't understand why, but one hope I hold out for Walter's software spin-off is that he can engage this community. However, I only see that happening if Sugar is not limited to OLPC or Linux. Also, it is certainly true that as long as Sugar is a subset of OLPC, OLPC doesn't have a strong motivation to dedicate resources to non-OLPC platforms. Sugar needs an home outside of OLPC that can look at the software in a broader context.

And if you think that "once in a generation" line is an exaggeration consider about the amount of attention around the world OLPC has gotten. Now think about the number of people actually working on Sugar (like, four). If OLPC can't make people care about solving this problem, nothing will, it simply won't be solved and everyone will just use Flash for the next 15 years.


Bill Kerr said...

You have touched on the education, development and community issues in one post -> might be the sort of analysis that's needed at the moment

I wonder if this NSF project, Steps towards the reinvention of programming is another "once in a generation" opportunity? It's hard to predict the future but the similarities b/w the OLPC and the dynabook prediction are striking.

Tom Hoffman said...

Hi Bill,

Well, Alan Kay's work breaks my "once a generation" line, since it is a rolling invitation to revolution that has already spanned a couple of generations.