Posted in Walter Bender

On Thursday, April 26, One Laptop Per Child held a three-hour analyst meeting at their headquarters in Cambridge, MA. The OLPC Leadership spoke on several key aspects of the Children's Machine XO architecture and the program's overall production strategy.

OLPC Talks received exclusive audio tapes of the meeting, transcribed below. Please reference OLPC Talks if you use any quotes or information from the transcripts.




Walter Bender of OLPC
Walter Bender, President, Software and Content, One Laptop Per Child:

Walter Bender: One of them is every child is a learner, and every child is a teacher. Some children learn; they have a natural affinity to learn and a natural affinity to teach. And actually, Antonio [...], who's our education officer, studies the teaching brain-- that actually studies the physical change of the brain as you engage in teaching. And that's part of human cognitive development.

The second thing is that people everywhere, children everywhere are fundamentally social beings. And so we build being social into the very part of the software. And thirdly, people everywhere, children everywhere are expressive. It's a fundamental of being human. And so we're building upon learning and teaching in a social context through expression.

Now, what we did was we took Linux, first off-- and I'll talk about open source at the end of the discussion-- but we took Linux for a number of technical reasons as well, and one of them is that it's very easy to sort of make out of Linux a very small footprint that fits to the particular needs of what you're trying to do. So we're working with Red Hat; we're using a stripped down version of Fedora for the laptop. We made a few decisions early in the process about our development environment. We decided rather than having every single choice to build on the laptop for everyone all the time, we'd actually make some decisions.

We made some decisions, one of them being that our core development environment is Python, and Python is a simple, clean language. It's got a broad development community. It's an interpretive language, which means that everything is transparent and available all the time within the context of the language. One of the reasons-- the primary reasons why we switched to the LX processor is not more [..], but because it has an L2K and that L2 Cache makes a tremendous difference in terms of the interpretive language processor.

And I'll give you an example later; I'll show you the difference in performance between this laptop, which is very close to what the mass production of the machine will be, and the machine you've got there. When we were designing the software, we thought about the experience we wanted children to have, and we also thought about some opportunities we had. One of the opportunities we had is that for the first time we're designing something where we know that every single laptop, every single user is gonna be connected to every other user.

So we were able to take the notion of connectivity and build it right into the very fabric of the operating system, into the very fabric of the user experience. So it's not an add-on; it's not something you'd-- connection, being social, engaging in dialog and critique-- it's not something you'd do only when you go off to the internet, but it's woven throughout the entire experience.

And we think that that may or may not be appropriate for office workers but boy, is it fundamental to learning, to engage in a critical discourse with other people. And so we built that into the very fabric of what we do.

Now a couple of other constraints we're operating under-- and this comes to what I talked about security a few minutes as well-- is we're dealing with a group of people that to begin with, at least, are illiterate. A lot of children come to school not learning how to read and a lot of teachers to where we're going in the developing world aren't necessarily very proficient with language and reading. And so one of the things we wanted to do was we wanted to have a level of simplicity in access that wasn't depending on literacy. So you'll see that-- we've already experienced it-- we were driving this primarily through an iconic interface. But as you hover over anything you can drill deeper and deeper and deeper, and at some point it becomes a language-based interface. Yeah?

Questioner 1: The underlying PC interface; is that Gnome underneath?

Presenter: What we have is, we have Linux. Actually, before we had Linux, we had open firmware. So our bootloader was open firmware, was the fourth interpreter. It's also open and open source. Um... then we had Linux.

And that's Kernel. On top of that we're running X Windows. On top of X Windows we're running the Matchbox Windows Manager. So there is actually a Windows system running on the laptop. On top of that, we built what we call the Sugar User Experience. So Sugar-- it's layered-- and again the children can drill down all the way down to the fourth if they want to on the laptop.

Questioner 1: Right. Well, this-- the reason I asked though is that the interface itself is very unique, but you get into the, like, file open menus - and they look to be GTK.

Presenter: Yeah, I know. So we're using the GTK Libraries. Although, right now what you're experiencing in terms of the file open menus-- are an anomaly of where we are in terms of the development process.

Most of that's gonna go away, and only [..] the secondary measures of [..] and I'll get to that in a minute. So just for brief-- some of you at least in the back end of the room managed to discover a few things about the laptop. But this is your home script. And on the home screen you have an iconic representation of you.

Each child chooses a set of colors to represent them throughout the interface. And on the home screen, everything's available, everything's visible. You have your launch card[?], your task card[?] down here to launch applications. You have your clipboard over here. You have-- this is how you know what it is you're currently engaged in, and over here cut off to the side, are little icons of people. Those are the people you're working with right now, your buddy list that you're working with on whatever activity you're engaged in.

This is essentially a look into the memory the machine's processes are running. So right now there's an ink program in journal and a browsing application running.

As you zoom out, you see your friends, you see your buddies, you see the people you're engaged in projects, work groups... teams... it might be something assigned by the teacher, might be just groups of people, your friends, your buddies. You can hover over them, you can see what your friends are doing, engage in chat with them, etc.

And as you come all the way out, you see the "mesh" view, and the mesh view is the entire school. You see entire communities, you see all the other people in the community. And any of these levels you can launch activities, launch aplications so you can launch the web browser, and you can do it by yourself, you can do it with your friends, or you can invite anybody in the school if you want to engage in an activity.

So the idea is you're zooming in and out of scope in terms of the breadth of socialization in the sense as you're working on something. So you can always find someone to talk to; you can always find someone to help you.

Yeah?

Questioner 2: What if all the children run back home with their computers? Is there still sort of what they're operating with?

Presenter: Yes. The way that the mesh works, is that as long as there's not an unbroken chain between you and someone else, you'll always see other people, okay. So in other words, my laptop talks to your laptop talks all the way down til I get to you. And actually, in some of our experiments-- actually independent of us-- there were some experiments in Australia, they actually got 2 by 3 kilometers between talks. Now, that's an ideal condition; that's not the real reality of it. But in a village for the most part, the kids are always gonna be connected, whether they're in school or not, connected to each other. And if any laptop sees internet access, it shares that access for everybody else's [..].

But a lot of what we've done is work within the context of the mesh itself. So, for example, if we want to chat today. Right now, if you chat, we'd usually go off to AOL or whatever and [..] friends goes there, we make a connection and we talk to each other. And you're utilising the server.

We have a serverless way of approaching this. There's a protocol called Avahi, which is sort of like Rendezvous and Apple [..]-- I forget-- I'm not sure what the Windows [..] is. But the idea basically is it's a peer to peer where you can keep up with the world, so that you can talk within the mesh regardless of the availability of the internet back call connection. And what that means is that the kids are always connected to each other. They all have a rich [..] connection with each other. And they're also able then to use the available back call resource much more efficiently.

Because they don't have to waste it on traffic out and back, because they're trying to talk to each other locally. They only need to use it when they want to get something that literally really is external. And so the idea is that when they're at school they see each other, but also as they move away from school the mesh still operates.

Maholas[?] has designed a solar-powered mesh for Peter, so that there happens to be a group of three houses-- a couple of kilometers away-- you can drop a couple of these in trees and connect them as well. So we're looking at those kinds of augmentations as a whole ecology here.

But, anyway- let me go to the next slide, and talk a little bit about the collaborative aspect of the interface, is what we're doing is we talked about not just applications but activities. And the goal is that the children will work together in their learning process. So every single application, at the system level the application is operating full screen. But there's an overlay, and that overlay supports chat, file sharing... it's going to even support-- it's small numbers, albeit-- video conferences. So actually, Chris Blizzard from Red Hat's been working with a group from the UK about video conferences over the laptop.

And so the idea is... I'm not sure why this is not, uh... This guy's not updating, so I'm just gonna hop out of here and use Open Office instead.

Basically, what happens is that I'm in a drawing program; my friends are in the drawing program with me. We're talking about what we're doing. We're having a conversation. We're sharing things.

Yesterday we had a demonstration of how this mesh interaction would work. We had multiple video cameras going, different kids with their laptops with their video cameras going. I take a picture of you... Mary Lou takes a picture of you... and the picture I took also shows up on Mary Lou's laptop; the picture she took also shows up on my laptop. So we can go off if we're on a project and we're supposed to take pictures of different types of trees or something.

I know which ones Mary Lou has already got... she knows what trees I've already got and we can begin to collaborate. The idea that we can use this peer to peer level of collaboration to work together. And then another thing that we're doing, is we have this concept of a journal. Now when you had asked about GTK and the file menu, hierarchical file systems are great-- nothing wrong with it-- but it's not the only way to do things, and we think that for young children, there's a lot of cognitive studies about this [...] used to be a work with Seymour Papert and Piaget. They studied this in great detail.

We decided that the primary mechanism by which the children will interact with their work, will interact with their computer, is through a temporal interface rather than a hierarchical interface.

So what we do is we maintain a journal or a diary of all the interactions with a laptop. And so the laptop automatically accumulates a portfolio of their work. And they use that diary to go back to return to something they were doing, so in this case this is an entry. These are the people they were drawing with. Here's some comments in the diary. You can go to the previous entries. You can use this diary entry to re-engage, to re-launch the activity. It sort of adds a sense of persistence from day to day. If you've got to recall a project, you don't have to reassemble everything. You click it on the diary and all the pieces come back together.

Yes.

Questioner 3: How long does that journal last for? [..]

Presenter: So what we have behind the scenes is the differential filestore, and the differential filestore is automatically backed up to the school server. And so any time a kid comes to school, everything's backed up and then from there it's backed up to Google, and so there's this transparent flow. And the kids have some sense of affinity.

There's also a little star, sort of like star Gmail. And so if somethings really important, you can click on it and make sure that that's always locally cached.

Questioner 4: Do you save everything by default?

Presenter: We save everything by default. What we do is we have this notion of we're saving differences. So, saving differences, as opposed to saving everything is a lot more efficient. But we also-- what we can do is, we can periodically collapse the differences. And the way we collapse the differences primarily is geometric [..]. So that if something happens yesterday and you want to preserve a very fine grainset of differences. If something happened last year, you have a much more [..] set of differences.

Again, the star mechanism allows you to override that. And you can always go and delete it. The [...] of the journal is just [...].

Questioner 5: So are you saying that, like, each one of those kids has their own Google account?

Presenter: Every kid is going to have a Google account.

Questioner 5: And so, if they collaborate, it gets put in each of their Google accounts, and then it gets kept forever like our Gmail accounts?

Presenter: Yeah. That's sort of the deep storage, but there's a much more active--

Questioner 5: On the school server and on their laptop as well.

Presenter: Yeah.

Questioner 5: And then it gets backed up so you have the most recent stuff?

Presenter: Yeah.

Questioner 5: And then the other thing is... this-- I guess it's the whole concept of this thing-- this looks like sophisticated software and if it was on my laptop it would take up a lot of memory and resources, but on this laptop it doesn't, right?

Presenter: It's pretty basic stuff. And again, within the context of Linux, at least-- I can't speak for other operating systems, from the Google-Linux [coughing] ... compact and pretty tight and pretty efficient.

Questioner 5: But it's written to be that way.

Presenter: Yeah.

Questioner 6: Is the school server a standard configuration or-- what's-- how's that being handled?

Presenter: The school server-- there's sort of two different iterations of it. The first iteration of it is a standard software configuration on it, and that standard software configuration was designed exceptionally different. Sit on top of any i86 architecture, and we use it as the school server system, another node on the mesh, but in addition it's a special node on the mesh in that it's actually three mesh nodes, not one mesh node.

It's got three of these nifty, little antennas, not one. So it segments a mesh, and makes the mesh be so you can connect more kids to the mesh. It's got more memory than the laptop, and it's got some hard disks.

And then it would have typically a connection out or it might be that we have a mesh of school servers sharing of the satellite dishes-- something like that.

But the idea is that the standard software configuration, that one of the things we're working on is also a standard hardware configuration. The standard software configuration allows schools to use legacy hardware and legacy infrastructure.

The thing we're working on, though, is the same reason why we want low power for the laptop and we want low power for the school server. So we're working on a very low-- green school server the same way we want-- but more important is that software ecosystem, because the numbers--

Questioner 7: Do we know anything about the school server yet in terms of how much it's gonna [...] how many laptops per server or...?

Presenter: Um... I don't have all those numbers exactly in hand, and I apologize so I can get them for you after, but-- don't quote me on this-- but I think we're talking about 35 laptops per server. And the server itself, again, it's basically any i86 box. It's nothing to it. I think we're talking, you know-- we're talking about a 100 dollar server, in the same we're talking about a 100 dollar laptop.

Questioner 8: Does the connection scale-- I mean, if 1000 people with these all got together in a stadium, could they all communicate with each other?

Presenter: Um, yeah... yeah, they could. But what you have to do, you have to think about-- um, I mean, actually, it's a nice metaphor. Because a lot of the earlier work of [..] is using exactly that metaphor. If you think about it, there's a fixed amount of bandwidth in a stadium, okay? And yet can support all these people at the baseball game-- we go to Fenway Park-- you got 38, 36,500 people at the Yankees game, and believe it or not, they all can talk to each other. I can talk to Mary Lou, and you can talk to your neighbor, and when a peanut vendor comes down the aisle, we can pass a message down to him and he can pass the peanuts back.

And every once in awhile, you can also get the PA announcer broadcasting to everybody. So if you only try to communicate through the PA system then the communications breaks down. But if you are using a mesh-like structure, you don't have to shout. You can whisper to your neighbors. And so you have actually a much more efficient use of the available bandwidth so you can support a much bigger set of conversations.

Questioner 9: Is Google trying to get all these kids to sign up for Gmail?

Presenter: Um... Google's not trying to do it. We went to Google, and said, "Do you mind if we give Gmail accounts to all these kids and violate your service agreements?"

[audience laughs]

And the way in which we're violating the service agreements is we're saying we're not just going to use these accounts for mail or else gonna just use them to backup their laptops. And Gmail graciously said, "Yes." So you've got the cart before the horse.

Questioner 10: What about server space? I mean, the given the state of the processors... Could be--

Presenter: Could be big. So...

Questioner 10: Could bring down Google.

Presenter: I don't think so.

[audience laughs]

Questioner 11: So how many million accounts does that mean?

Presenter: Um... well, there are one billion children between the ages 6 and 16 that are developed in the world. So hopefully, it means 1 billion accounts someday.

Questioner 11: But, like in the next year...? By the end of next year?

Presenter: I think by the end of next year we're talking-- [..]-- hopefully, we're talking between 5 and 10 million more accounts.

Questioner 11: Mm Hmm. Yeah.

[audience laughs]

Presenter: Uh... a couple of years from now, it's going to start to scale up. And certainly one of the things we can talk into Google with, we've been talking to a number of other people with is, got more to do, not so much with Google and the server farms, but more has to do with the local infrastructure. Um--

Let me get back to that for a second, because there's a subtle point I want to make about the infrastructure that's driven by something else we're doing. And that is to say-- I want to touch a little on the learning side of this software for a second...

I grew up with this wonderful device called the mimeograph machine.

Man: How many of you remember the mimeograph machine?

[people laugh]

Presenter: I can still smell the ink. Purple plague, we used to call it, because what the lazy teachers used to do is crank out the worksheets, right? They got nothing on the computer. I mean, the computer is the ultimate mimeograph machine. We can crank out worksheets till the day you [..] There's just no stopping it.

It's no question that you can provide the structural material with a traditional way on the laptop. Easy. Lots of people doing it. There's lots and lots of material out there. We're working with things like the Wikibook communities. We're working with Project Guttenburg; we're working with Internet Archive. We're working with the Open Courseware people-- they're -- that's just the tip of the iceberg, with lots of people preparing content in the traditional metaphor for the laptop.

That's just gonna happen.

We're also interested in all this other stuff. This is why we want computers in the hands of kids, not this. This will happen. But this is what we're trying-- we're trying to bias the equation a little bit more this way. It's about expressing, constructing, designing, blogging, critiquing, debugging. The best learning happens when you're debugging and collaborating. And what that means is that the kids are gonna be exploring-- give them a web browser, give them a multimedia player-- I'll show you Sesame Street in Urdu on the laptop in a minute.

But they're also going to be expressing. They're going to be creating content, and they're going to be sharing that content. And so, when it comes to the infrastructure, we've gotta make sure that the infrastructure's not just optimized for pulling things down from the web, but also pushing things up.

Because we envision a world where these kids are creating, not just consuming, and so we need to have a much more symmetric model that people have designed in the past. So again, tools for exploring, every laptop will have a web browser and ebook reader. It'll support chat, VOIP, email, voice mail, video conferencing, multimedia, video, music, lots of games, game communities that start to really catch on with this thing. (And they're really going at it, suddenly.)

It's got a word processor, it's got the journal I was describing. It's got a Wiki. It'll be a web server, not just a web browser, graphics programming. We support five, actually, if you could include [..], we can support six programming environments on the laptop. And multimedia creation, not just multimedia consumption.

So these are sort of the core set of expressive tools we're putting into the laptop, because we think that core expression is fundamental to how they'll learn. They'll still be able to explore and stand on the shoulders of giants, with a lot of great ideas that really are received ideas. We don't want them to have to reinvent everything.

But at the same time we think that the appropriation of knowledge comes from creation opportunity, so you can play music on the laptop, you can download a musical player, you can also compose music online. In fact, music is probably-- I think-- the example that we've got farthest along in terms of development.

We've got this wonderful group from Montreal, Jean Piche and his students at the University of Montreal. They've developed an application called TamTam. The TamTam starts off-- it's sort of an example of low floor/ no ceiling. The low floor is just a busy box. You go into Tamtam, and what it does it, it just lets you pound away and make music. The keyboard turns into a piano keyboard. You can choose from 100 different instruments and voices and play music, and explore these different instruments. You can record your own voice and turn that into an instrument.

You can play with rhythms and drums and reverb and stuff like that-- great fun. I've seen two year olds do it; I've seen this really talented guy in Brazil play some beautiful music with it. You can record things, you can share your recordings, etc.

That's the low floor, but you can also-- once you've explored, you can say, "Wait a second; I actually want to start to compose music. And I happen to like the clarinet and the [..] and the [..] and guitar. So I'm gonna compose music that consists [..]. [people laugh] and so you can compose music with the instruments you've explored. But it doesn't end there. Because maybe there's an instrument-- then what you can do is you can actually turn the whole classroom into an orchestra, with every single laptop through the mesh is a different voice in this composition you've made.

And then you can, "Wait a second. There's not an instrument for me. I want new instruments. You go into a synthesizer and start playing around with wave forms, and filters and random number generators. And not every kid's gonna do that. You can go all the way there. And then-- no wait, there's more --so then you hit the view source key in the laptop and you can go into Csound-- Csound's an interpretative programming language for music. They use Csound for in Hollywood for special effects for movies, and these kids have that, too.

So these kids go from a busy box to the same tools they use in Hollywood for special effects. That's low floor/ no ceiling. And we're doing that with every aspect of the laptop.

I'm gonna finish in just a sec. The audio jack microphone is also a data port. The kids can turn the laptop into an oscilloscope; they don't just play Dance Dance Revolution; they build their own Dance Dance Revolution machines. They learn through debugging open source. When it comes to learning, it's appropriate to appropriate. And the kids have to have the opportunity and freedom to take these ideas and build from them, to change them, to localize them, put them in their own context, share them, critique them, beat up on them-- that's about learning. And so it's not about proprietary versus open in the commercial world. This is about learning and kids and it's gotta be overt; it just fundamentally has to be overt. There's no other choice.

And then finally, just gonna wrap up just a little bit on security... For the 100 dollar laptop, we have the million dollar security system. We learned a lot of lessons from lots of places, and we actually haven't invented anyting new. We were able to take, because we don't have any legacy to worry about. Lots of the best ideas and put them in place; we've got a very robust anti-theft system. We've got a very robust system to protect the kids from malware and viruses, so we don't have to have an anti-virus system in the laptop. But at the same time, we're not doing security through obscurity. Everything's open to the kids. The kids can change anything they want on the machine.

But we've got a very simple way of letting them recover back to the original state of the machine. Because everything's always backed up it's easier to recover from your mistakes. We're not using passwords, we've got a [..] encryption system. Anyway...

Lots of this. And one of the wonderful things we don't have-- we don't have any of those little menus saying that-- click okay in order to do this and that. Those things are written by experts for experts. They're not written for us, and they're certainly not written for kids. And so we didn't want to have that kind of interaction... so the, uh, you know. So it's no reading requirements.[..] security.

Questioner 12: Can you talk about specifics, particular places where this may be the most valuable object that's owned?

Presenter: I'll just give one example: well, two examples. One of them is that in order to turn the laptop on, you need to authenticate and if we shift the authentification key separate from the shipping container and if the shipping container is stolen en route, we've stolen a bunch of bricks. Okay, so that's one thing we've done.

The other thing we've done is we've enabled different countries will choose to or not to before this, but we've enabled a leasing system, so that if a laptop has to periodically renews its lease with the school. And if a laptop is reported stolen, that lease is denied and either the lease expires or the laptop stops working or if a laptop tries to connect to the internet it's shut down.

So those are some of the mechanisms we put into place. I can point you to a document that describes this in great detail. Anyway, that's all I have to say about software. I think we should, um--

Questioner 13: Can I maybe ask just one quick question? How are software updates handled?

Presenter: You want to answer that, Chris?

Chris: I was gonna talk a little bit about that.

Presenter: We'll let Red Hat.. Okay... Thank you. And I apologize for... If you want to play with a [..] machine afterwards, it runs circles around the ones you've got in front of you.

Woman: Do you also have a chance to ask Walter and MaryLou or Nickolas a question from 5 to 6 o'clock, so...

Tags: | | | | | | |

Comments

"Presenter:And so any time a kid comes to school, everything's backed up and then from there it's backed up to Google, and so there's this transparent flow. And the kids have some sense of affinity.(..)

Questioner 4: Do you save everything by default?

Presenter: We save everything by default. "

Ok so that means that every bit of piece of information on the life of those childresn will be infinitelly stored on google's servers? Talk about privacy concerns...

> So our bootloader was open firmware, was the fourth interpreter

That should be Forth.

Python is a fairly slow interpreted language. If they want these things to be usable, they had better have someone develop a JIT compiler or else they will be wasting most of the CPU on just interpreter overhead in these applications.