Archive for the 'OLPC' Category

Interview

JD over at The UI Thread approached me months ago about interviewing me about my experience redesigning the AbiWord word processor for the OLPC educational laptop as part of Google’s Summer of Code program. I took my sweet time actually responding to his questions, but the the interview finally went up today..

State of the Code

My official time is up for Google’s Summer of Code. I didn’t get as far as I would have liked, but I think I made a good start, and I had a hell of a summer.

Design

What’s been done…

A decent bit of user research: writeup of related projects in history, who are the users?, education in Brasil, and education in Nigeria.

A big part of making Abi work well on the OLPC is making it mesh well with the design work being done at Red Hat. I’ve documented their vision as I understand it and how it applies to AbiWord here.

Part of making Abi simpler so it can fit Red Hat’s vision is paring down the functionality. I did an inventory of Abi’s features and their relevance in an OLPC context.

Many sketches have been created.

What’s left to do…

The big hole in the design process is evaluation and iteration. I didn’t do a very good job finding kids to help me evaluate Abi on OLPC (I had only one lead, and it fell through), so I haven’t done any evaluation yet. This has been especially hard because I’ve been travelling around so much this summer.

When I get to San Diego (next week) I will start looking for some kids to try AbiWord out so we can get some real feedback. And from there we’ll be able to do some real iteration which will help fix the massive problems my design undoubtedly has.

Implementation

What’s been done…

  • AbiWord runs in the sugar shell
  • It has a minimal interface with a custom toolbar
  • I implemented a new clipart toolbar that lets kids drag and drop pictures into their documents

What’s left to do…

  • Polish (make clipart bar look nicer, have it look for clipart somewhere intelligent)
  • Finish implementing table menu button
  • Integrate AbiCollab with Sugar shell
  • Use clipart bar to add drawings drawing app

Documentation

I’ve dumped a lot of documentation on my wiki and my Summer of Code blog, but I think there would be some value in writing up more polished, complete guides to both designing UI for Sugar and getting software to work with it. The Red Hat folks are already working on some of this, but I could certainly contribute.

So, that’s that

My #1 goal for Summer of Code was to start building relationships with people in the Free Software world and get started hacking, and I absolutely accomplished that.

So this is both a retrospective and a look to the future. There’s more to be done to get AbiWord onto the OLPC, and I intend to keep contributing to the effort.

But for the next few days at least, I’ll stick to enjoying the American West.

Progress

Yesterday I did, in fact, manage to get my “final” mockups finished, and I figured out what was holding my code back (I had to add the header file I created to the makefile template thingy). And I finished before midnight, so… two snaps for transparency.

I also got a lot of great advice from Martin about how to implement the drag and drop featured described in the spec. So, hopefully that will be moving along quickly.

On that note, here are today’s goals:

1) Get AbiWord to print a happy message to the console when I drag one of the clipart items onto the document.

2) Make the font format toolbar button.

Transparency

I haven’t been very good about hitting my Summer of Code milestones over the last few weeks, so I’m going to try to be a little more transparent, and put daily goals on my blog. That way, if I fall short of those goals, anyone who reads this thing will know it. Hopefully that will light a fire under my butt.

So, for today I have just two, fairly simple goals:

1) Non-functional interface mockup, demonstrating intended functionality for basic and advanced prototypes (Deliverable)

2) Figure out why the stuff I wrote on Friday is not compiling.

Wish me luck.

India backs away from OLPC

A variety of sources are reporting that India is no longer planning to implement the OLPC program in their country. Some quotes from The Hindu:

“The case for giving a computer to every single is paedagogically suspect. It may actually be detrimental to the growth of creative and analytical abilities of the child”, Education Secretary Sudeep Banerjee told the Planning Commission in a letter sent last month.

“…..We cannot visualize a situation for decades when we can go beyond the pilot stage. We need classrooms and teachers more urgently than fancy tools,” Banerjee said.

This certainly won’t stop the project, or even slow it down, but I think India’s concerns are valid, and represent a significant gap in the OLPC message. Us academics are used to saying “well, we think this might work so let’s try it,” but people outside the Academy are rightfully wary of this approach. It’s fine when you have tenure, but not necessarily when you have voters or shareholders to report to.

I’ve blogged before about the kinds of problems the OLPC might face, and I think the organization might have a stronger message if they had some context-sensitive research to back up their claims. In fact, maybe they do… I just haven’t seen it.

That said, I think Nicholos Negroponte and Seymour Papert believe in the concept strongly enough that they feel the first pilot test will answer most of the doubts, and prove the program’s value. And the part of me that believes strongly in the concept thinks they just might be right.

First Code

I still have a lot of design work to do, but given that this is Summer of Code, I need to be coding too. So, I’ve been picking at the Sugar codebase and got a “Hello World” activity working:

Hello World Sugar activity

It’s not much, but my Summer of Code mentor, Robert Staudinger, knows a thing or two about embedding AbiWord in Python, so hopefully getting AbiWord documents in there shouldn’t be too hard.

Also, I talked to Wendy on the phone, and she said she will try to put me in contact with the after school program she used to work for, which means that I may get to do observations, and possibly even usability testing, with some kids up in Boston this summer.

It was interesting talking to Wendy anyway because she’s had some experience watching kids who can’t really read yet use computers. She said a lot of kids just go straight for the games, which was also true in the Hole In The Wall project. But Wendy said some of the older kids really got into Word Processing. It made them feel professional and grown up, and they’d spend an entire afternoon typing one paragraph if they had to.

Hopefully I can learn more.

Sugar in action!

I finally got Sugar (the front-end for the OLPC) running on my laptop. I say finally not because it was particularly difficult (it’s just a few steps to get it running on ubuntu) but because I thought it made sense to do a bunch of other things first: buy an external hard drive, backup all my stuff, and install Fedora on my old laptop.

In the end, all I needed to do was upgrade my new laptop from Ubuntu 5.10 to Ubuntu 6.04, which was 100% painless, and then install git, which was equally painless.

Lesson learned: I really need to keep Ubuntu up to date if I want to keep up with the Joneses. Obligatory screenshot:

Sugar in action!

The beginnings of a design project

I’m back in Connecticut, and getting slowly settled in. I don’t have a desk, but I’ve got two boxes next to my bed that I can put my laptop on, so at least I have somewhere to work. And I’m starting to get a good sense of the constraints, goals, and problems that need to be worked through to get AbiWord into shape for the OLPC. Here’s where I’m at.

How can we conform to Red Hat’s design vision?

Right now, the folks at Red Hat[1] are sort of holding the UI design reigns for the OLPC. Marco has told me that they they want to make the work more open, but it will take some time to get there. They are under a tight schedule, and releasing their work to the public takes time and energy, so for the time being I’m mostly just going to try to follow their lead and put as much of my work out in the open.

You can read about my understanding of their design direction here, but this is what they seem to be going for, in short:

Simplicity. Their apps are generally simpler than the stuff we are used to seeing on the Linux desktop. There are no menus, and they are using pretty basic toolbars with no labels. Abiword has a lot of features, so getting down to this level of simplicity is going to be tough.

Collaboration. They are really focused on the online presence stuff offered by (I think) Galago. And other people are excited about it too. Marc and Martin have been doing some amazing work with AbiCollab, which fits in beautifully with the Red Hat folks’ vision. To really get this cooking on the OLPC, I think AbiCollab will need to integrate with the OLPC’s presence and chat infrastructure.

Direct Editing. Chris Blizzard mentioned this to me, and if I interpreted him correctly, what this means is moving away from the open-edit-save cycles, and towards just editing documents in place. “Instant Apply” for documents, if you will. I think this makes a lot of sense, especially in the context of AbiCollab. When lots of people are editing the same documents, it just seems simpler to have one current version of the document. Having an open and a saved version would just create confusion. Doing this in AbiWord might be as simple as removing the save buttons and having documents be automatically saved on exit.

Making sure it works on the hardware

The biggest constraint of the hardware is, of course, the screen size. But Red Hat’s strategies are design to take that into account, so I think by following their lead, we’ll get this one “for free”.

Staying aware of the context

I’ve posted a few posts about the kids who will be getting OLPCs (here and here), and I’m starting to pull together a picture of this very diverse group of people here, but to sum up:

In the first round of pilot deployments alone, the OLPC is going to be going to kids in grades K-12 who speak dozens of different languages across three continents. Most of these kids will have no computer skills, and very low literacy rates. The current desktop system is littered with metaphors that will be completely foreign to them. There’s a good chance they’ve never seen a clipboard, a floppy disk, or a manila folder before, and they never will. Many of these kids have an insatiable thirst for learning, and a variety of competencies they’ve learned participating in the economic engine of their household, farming and hunting and bringing goods to market after school.

It’s not clear exactly how AbiWord or the OLPC needs to change to meet these kids needs, but I’ve taken a look at a few of the metaphors AbiWord uses and asked how they might fit in to these different cultures.

Starting to prototype

Taking into account some of the prescriptions above, I threw together a quick mockup:

Mockup of AbiWord on the OLPC

This design is really just a “straw man”… there are a lot of problems with it. For one, it drastically reduces the usefulness of Abiword, removing a lot of features. But I think it’s probably going to be the case that if we want to hit the level of simplicity the OLPC folks are striving for, we’re going to have to make some AbiWord features inaccessible.

Deciding which features are important is going to be a bit of a task. I did an inventory of most of AbiWord’s features and tried to think though what would be important on the OLPC and what would not. It’s a starting point, but I think what we really need to do is talk to someone who’s worked with kids and computers and find out how they actually use word processors. User research is much more useful than my barely informed guesses.

But for the time being, we can still explore how to present AbiWord’s various bits of functionality. Trying to get more of AbiWord’s functionality represented I put together some sketches of a slightly different kind of toolbar:

Mockup of what happens when you click Table

You can see how some of the other buttons would work on my sketch page. This would be a pretty non-invasive change. It doesn’t require changing much about how AbiWord works, just reorganizing the interface a bit and cutting some features out.

I’ve also been sketching out some possible UI for integrating chat and AbiCollab into the OLPC style:

Chatting within a shared document:
Sketch of a document being edited by multiple people

Labelled cursors showing who’s doing what:
Sketch of AbiCollab remote cursor

And I mentioned using clip art to help teach language. Here’s a sketch of what that might look like:

Sketch of clip art drag and drop

There’s still a lot to do to figure out what’s feasible implementation-wise and what’s really appropriate from a design perspective, but at least these are a starting point and they’re heading towards something a little more OLPC friendly.

Hacking

I’m still working on getting Fedora Core 5 and the Sugar development kit installed on my old laptop. It’s slow going, but I’m holding off on playing with the source until I get that set up.

Next steps in research

I have some good research that was sent to me on kids and education in Malaysia which I’m planning on filtering through at some point. But what I think is most important right now is that I start talking to people who have experience with kids and computers so I can get a better sense of what they really use in a word processor. I also need to talk to someone who knows more about how kids learn to read and write to get a better sense of how AbiWord fits into that picture. I’ll keep you posted.

[1] As far as I can tell, the team is Chris Blizzard, Diana Fong, Marco Pasenti Gritti, and Dan Williams.

Education in Nigeria

One of the great things about being at the University is that there are knowledgeable people in almost every area of inquiry you could think of within a 1 mile radius, and there doors are almost always open.

Today I met Dr. Shittu R. Akinola, who is visiting IU as part of the Workshop for Political Theory. He’s from Obafemi Awolowo University, in Ile-Ife, Nigeria, and Nigeria is one of the pilot countries for the OLPC. He is very knowledgeable about Education in Nigeria, and we had a great conversation. Here’s what I learned from him, with some bits and pieces I found on the web sprinked in:

Government

The Education system in Nigeria suffered some serious upheval in the 80s. Because of the Structural Adjustment Program (SAP), which were a set of policies recommended by the International Monetary Fund (IMF) aimed at “poverty reduction”, much of Nigeria’s infrastructure collapsed. It was difficult for the government to pay salaries, which meant that many teachers in public schools went unpaid. Because the country was being controlled by a military regime, corrupt officials embezzled money from the educational coffers.

Public vs. Private

In order to survive, teachers began teaching private lessons and evening classes. Unemployed people with degrees saw these teachers’ success and also started teaching to make money. Because of this and the fact that public schools are not free, there was been an increasing trend towards privitization of education in Nigeria since the mid 1980s. The goverment is trying to reverse this trend by offering good salaries and benefits to teachers and making public education free again, but private schools are still very prevalent.

Today, there are many kinds of private schools in Nigeria: expensive schools for the rich, more affordable schools for the middle class, and cheap private schools that might be run out of someone’s house or some rented rooms. According to research done at the University of Newcastle, in three of the poorest districts they look at, “an estimated 75 percent of schoolchildren were enrolled in private schools.”

Religion

There is a very large muslim population in Nigeria, particularly in the north, and among these people there is some distrust of western education. As a result, muslims in Nigeria tend to have much less education, although there are some private islamic schools. Additionally, some muslims believe that sending a girl to school will make her a less appealing bride, so many girls are not allowed to go to school. This is reflected in the literacy rates in the country: 72.5% for men, and 48.2% for women. In the north west, 55.7% of men are literate and only 20.9% of women. These are up-to-date numbers provided to me by Dr. Akinola today.

According to Cynthia Sunal at the University of Alabama:

“There have been concerns in families that primary schooling conflicts with traditional practices, reducing a female’s ability to pass on her culture to her children (Mohammed 1984; Sunal, Osa, Gaba, & Saleemi 1989). Mohammed found that 58 percent of the one hundred rural Muslim parents she interviewed in northern Nigeria were concerned with their daughters’ marriageability (Mohammed 1984). These parents favored marrying girls at an early age, from 12 to 14, if there was a good prospect for a husband. In 1994 the average age of marriage in Nigeria, as reported by UNESCO, was 18. Although parents who favor the tradition of early marriage do not represent the average Nigerian, they do constitute a large group in the society.” (from Perceptions of Unequal Access to Primary and Secondary Education: Findings from Nigeria)

Geography

Education is much less prevalent in the northern part of Nigeria, partly because of the larger muslim population. The problem is not the quality of schools, but rather the lack of support for education in general, particularly western education.

The School Day

School starts at 8am and lasts until 1:30 or 2pm, Monday through Thursday. On Friday school ends at 1pm so that kids can go to the mosque. Some students might travel by bus or motorbike or just trek to school, but poorer students tend to just go to the school closest to them, so they might not have to travel far. Typically classes have 35-40 students, although there are sometimes less. In the 80s there might’ve been 50 in a class, sharing desks, but this is less common today. Public schools have utilities and toilets and playgrounds, but this is not necessarily the case in private schools, which might be a group of small rented rooms each big enough for 10 students.

After school, some students go to additional lessons, if their parents can afford it, others just play out and about, or go to after school programs. Some have to go sell goods for their parents. They might carry oranges or bananas on their heads to market where they can try to earn some money to support their families.

Teachers

The standard for teachers in public schools is that they have a certificate in education, but this isn’t necessarily the case in private schools. Because private schools don’t always pay good salaries, offer poor job security, and no benefits, turnover is high. But after the crisis in the 80s, there is still fear of nonpayment of salary in public schools.

Disposable camera study

Some of the people who read Planet Gnome will remember Nat Friedman’s disposable camera study from 2004, when he gave disposable cameras to a bunch of kids in one of the Favelas near Rio. This seems like a good example of the urban poor in Brazil, and is the kind of environment that OLPC kids are likely to live in, so it’s a good design resource for people designing for it.