The OLPC’s interface is simply way too complicated. I just read through the human interface guidelines for the project; and by god, I got lost after only a few paragraphs. How are kids supposed to learn all this? Read on for my thoughts.The biggest problem is that they defined everything we ‘in the West’ know from computers completely different. They do not use a desktop in the traditional sense, there are no applications, and so on. I find this a very brave thing, and it is good that they are trying to think outside of the box. However, more and more I am getting the feeling they are just doing this for the sake of doing it; not because it is an inherently better way of teaching kids computers.
I am of the strong opinion that you should not fix something that is not broken; it’s a wasted effort. Our desktop paradigm may have its shortcomings, but it does have one major advantage: it is tried and tested, it has been studied thoroughly by the big companies (Microsoft and Apple, mostly), and everybody uses it. This means that if a random person from the planet needs to teach kids computers (in 3rd world countries for instance) there is a big chance this person will be familiar exclusively with the desktop paradigm, and so he is capable of teaching this to children. Why force him too to adapt to this new way of thinking? Aren’t you only making it more difficult for this person to teach kids computers by forcing him to also learn a new way of doing things?
Other than that, the desktop paradigm is not a very hard thing to learn; I’ve seen very young children very well capable of using computers. Heck, I learnt computing ‘the hard way’, via the rather limited MS-DOS cli when I was 6 years old– in a different language than my own, mind you. Our first computer in the house was a 286 with MS-DOS, all the manuals in English, the computer itself in English, the syntax in English. Still, I managed to learn all that very, very quick. This goes to illustrate that children do not really need a special, different paradigm in order to learn how to use a computer quickly. Millions of kids, including myself, are proof that learning to use computers is simply damn easy for children (high plasticity of the brain and all).
What the OLPC team is doing is creating a whole new paradigm for their laptop’s interface, and this brings with it various difficulties, even though there is absolutely no need for this. Children in the 3rd world are not magicaly less competent than us Western kids, and hence there is no need for a special interface. Just give them what has been proven to be an easy to understand and use system, and focus on the things that really matter (price, distribution, resource management).
Then we have the problem of what Sugar, as the new interface is called, really is. It is not a replacement for GNOME and its base, as some of you might think. No, it is ‘merely’ a shell draped over GNOME’s foundation, meaning all the libraries are still there, running below the Sugar interface. What Red Hat, the driving force behind all this, should have done, obviously, was use the OLPC as an ‘excuse’ (as if they really needed that) to make a cut-down version of GNOME, one that is not as resource hungry as GNOME-proper is. Eugenia made several proposals for this:
“They could remove all of the gnome-applets (only leave in the volume and networking notification items) and Nautilus (replaced by the “presense” background), put the taskbar in that single gnome-panel at the bottom of the screen, and have icons with mouse-over explanation to launch the various apps needed on the left of that panel too. Alternatively, they could rewrite a less-heavy gnome-panel (so they don’t have to use HAL, DBUS and other stuff that usually gnome-panel requires and eats lots of memory).”
Eugenia and I often disagree over various matters, but on this one, she has my full support. Such a cleaning of GNOME code, or even a complete rewrite of certain parts, would have been beneficial for all; besides creating a decent interface for the OLPC, it might fix bugs in GNOME-proper, it might make GNOME-proper faster, it might end up as a nice low-resource alternative for the small-resource-footprint distributions.
Make no mistake, I really appreciate what these guys are doing; I just do not think their ideas are a suitable fit for this particular project. This laptop will be distributed to millions of kids around the globe, and I get the feeling they are used as guinea pigs; they must use an unproven user interface paradigm, even though an old and tested paradigm is readily available.
Why do things the hard way when they can be done just as effectively the easy way?