Towards a Prototype
As we have written before, we are beginning our project by checking out the technical feasibility of running a graphical, mono based dictionary application on the most demanding of a target platforms, the OLPC. Now, we can’t actually get an actual production version of one of these laptops yet, but we can load an emulator with the operating system that will be on it. The next step would be to load Mono, find out what libraries the OLPC is missing, add those, and then run our application. This would at least tell us how hard it is to get Mono running on the OLPC OS, and let us check how well our test program runs in 128K of RAM. It would help us answer two out of three of our big questions:
1) How difficult is it to get Mono running on top of the stripped-down Linux OS on the OLPC?
2) Is it feasible to run our app, with our provisional architecture (which includes db4o), in 128 meg of RAM?
We spent a couple days working on that and found it hard going. Fortunately we have friends way over in Calgary that are working on this problem, and they are more skilled in these things. So, we’re going to depend on them, and we’ll move on to something that will help us answer our third question:
3) How will a Mono/GTK/db4o perform on a relatively slow machine like the OLPC?
At this point, we really don’t know how to test the speed when using an emulator. Sure, the emulator slows it down a lot, but how much? Eventually, we hope to acquire some benchmarks done on the actual hardware, which we can then compare with benchmarks from the emulator. In the meantime, we will be setting up an old, slow desktop machine for speed tests.
Soooo…we are now building a prototype to run on the old machine. Eric and I spent some time this morning doing the CRC Card thing, which I have always read about but never actually tried. I personally didn’t get anything out of what we wrote on them, but I did like being able to move the physical cards around. Things are tough to rearrange on a whiteboard.
Later, Eric and I started pair programming on the data layer, based on the design we came up with. So far, I haven’t had any pairing experiences where I didn’t feel like my brain was on idle 70% of the time. I know there is a bunch of strategic thinking I’m supposed to be doing while my partner types, and then at a moment’s notice be ready to switch back into tactical conversation, but I guess I haven’t got the hang of that yet. Fortunately, the view out our glass-wall office here in Chiang Mai is an interesting one. Not very idylic, but interesting. Notice the rickshaw driver going by the metal shop here: