This piece was first published at OLPC News.
Ah, I can still remember the day we got the first computers in our school. Not just any school mind, but my school. And not just any of my schools, but my primary school. The school where even the lightest of impressions would burn into your naked soul until it hit the bone.
There, in that school all of a sudden we found a computer upon a table. No-one of us younglings knew exactly how it got there or what it was for... Yes computing of course; the meaning of which overlapped pretty much with game playing, although very few of us had actually played with or owned a computer.
Oh how the black magic of the thing attracted us like flies. It was a PC of sorts, but not of the Intel variety. Nor was it any of the MSX-y variety which I had come across before. But it had a tape-drive, just like the MSX. And it took forever to load anything.
But it would keep you amused by making funny screachy sounds as it did so. A bit like a demented robot. And that is about all I remember, because this wonderful educational device fell flat on it's face at the end of the eighties. I think it sort of landed there by magic, at that odd place at the end of the class.
And the teachers of my school sort of hoped it would sorcer itself away. Which it did after two months. In a puff of smoke, never to be heard of again. To great delight of said teachers who never actually tried to use it to educate us.
Now we will fast-forward to the present day. I'm Ties Stuij, Journalist come nerd/developer working for OLE Nepal in Kathmandu. Through the greyish magic with which fate spins its web I somehow find myself working in this dynamic and stinky city. Working on educational software for these black magic boxes for OLE Nepal. Well, not really working at present. Resting would be more accurate of a description.
The whole development team is in a state of lazy rest. Not a laziness used as a coping strategy to counter the dreariness of everyday office life... Quite the opposite.
This laziness is a coping strategy to alleviate our fused out brains that have been mutilated beyond recognition by our iron willpower to make the best damn educational software this side of the horsehead nebula.
Ehh.. Did that sound just a bit pretentious? Perhaps, but we have been working awfully hard to produce a final build of a software suite called Epaati, that will assist teaching children from both grade 2 and grade 6 (8 respectively 12 years old) maths and English.
Final build in the sense that this version of Epaati will be put on these mini (super) computers, called XO's. These computers will on their turn be put in the greedy little hands of Nepali schoolchildren in about a week.
Oh the pressure, the pressure!
We've been developing Epaati for quite a while now, but up till now we unleashed it's considerable power only upon our test audience, game jams and the teachers of our deployment schools. And our digital child has grown quite a bit since it's conception. We developed 47 learning activities in all.
Tons of bugs can hide in and amongst their folds and crevices, and there's nothing like the urgency of actual use to drive the hunt in uncovering and squashing them. Animal rights organizations were held at bay with long poles, while this digital mass murder was underway. It's hard to believe that there were so many bugs to be found. But then again, this suite is the result of 6 months work by three to four developers and one graphics artist.
Another thing that's annoying is that this software is for little puppy-eyed kids who might actually be helped in their development by our efforts. You know, a regular customer is a party on equal footing.
You ship a bug, and she'll know this is an industry hazard. But those little kids... somewhere in that jaded, cynical, hedonistic, western brain of mine those kids invoke scary feelings of social responsibility, which drive you to walk the extra mile.
So the OLE Nepal offices have of late been a battlefield on which many a shard of good will has driven itself in the bloody soil, when it had to admit defeat against fatigue and sleep-deprivation while all involved tried to MAKE STUFF WORK. And not just the development team of course.
While our immediate task for the coming deployment is done. Other sections are still in full gear working with getting the XO's ready, beating school servers in shape, testing jabber servers, giving press conferences, instructing teachers, aligning us with other parties involved,.. etc. Let them work like mules, we don't care. Our brains are soup, we're of no use.
As reporter after reporter is shuffling into our office to get the news on what is to come, we are already done. Filled with a vague satisfaction that stage-builders must also feel, just before a theatre play starts that they built the decor for.
Here there be monsters
We are doing quite cool stuff here, on the brink of the unknown. I myself am in charge of optimizations, as it's called. And that task was more satisfying than expected. The XO's aren't the most powerful computers in the world and as it turned out the software we use to build our activities (Etoys, on top of Squeak, for connoisseurs), wasn't yet prepared to handle a project of our scope in such a constrained environment.
For example, when I started off, a number of activities we made would take over a minute and a half to load, and some wouldn't load at all. Also our software took up way to much memory, affecting other software as well if it was being used at the same time. This was making the user experience much less fun and much more frustrating than is acceptable.
Not to speak of the activities that didn't even work. If I wouldn't be able to find some solutions, or find people that would find solutions, my job would be unenviable to say the least. Once I oversaw the full scope of our problems (or was I just exaggerating everything in my head), I got scared indeed.
Also considering I had hardly coded in Smalltalk (the language of which Squeak is an implementation) before. Luckily Smalltalk/Squeak is a very comfortable environment to work in and me and others managed to trim our problems down to an acceptable level. In certain cases the loading-time speedup was tripled or even quadrupled. All our activities are now loading, while memory consumption is halved. Not that we're there though.
While I'd like to bring down loading time even more (Most of our activities load between 20 and thirty secs now; Still quite a bit in the light of a child's impatience.), we need to address amongst others character-encoding and sound related problems. But these seem to be solvable problems, our biggest enemy being time and manpower.
Live or die
The strange thing is that we've created a beast, but we've got no clue how it's going to behave in the wild. Maybe it'll just curl up and die, just like the computer in my boyhood school. But I must say that the enthusiastic reactions I've seen from actual teachers (two of which have stayed in my house for a few days, while they received training) have very much outstripped my expectations.
And I think that if I and my comrades could already be enchanted by that computer that was basically just sitting there at the back of the class, these action- and content-packed babies will certainly have an impact on those child-brains in rural Nepal.
For those that want to try our beast of burden, you can download the XO bundle by surfing to http://dev.laptop.org/pub/epaati/Epaati-10.xo For XO illiterate Squeakers: the bundle is a simple zip file. Just unzip it and click the image in the epaati dir.