Erik Pukinskis

Summer of Code App

The !AbiWord OLPC User Interface

Erik Pukinskis


The OLPC represents an incredible opportunity to get some very powerful computing tools into the hands of children all over the world, but it also presents some very challenging design problems. The screen has an effective resolution of 640x480 in color mode, which seriously limits how much UI can fit onscreen. Simply removing features might cause visibility problems, so how do you accommodate this small screen without losing usability?

I would like to apply a variety of User-Centered Design techniques to this problem. The bread and butter of this process will be low-fidelity prototyping and small-scale usability testing with rapid iteration.

I have also begun researching the cultural and social context into which the OLPC will be deployed and over the course of this project I hope to provide some insight about how to design user interfaces for the OLPC. I can work on this project full time.

Benefits to the !AbiWord (and/or other) project(s):


Project Details:

AbiWord currently has a few problems when you put it on a 640x480 screen:

  1. The File menu is more than 480 pixels tall.
  2. The toolbars are too long.
  3. The font family preview doesn't fit on the screen.
  4. The screen doesn't always scroll properly when zoomed in.
  5. Context menus often have a large empty space and a scroll button.

Some of these are just bugs that need to be fixed, but in many cases the design challenges are bigger than the implementation challenges. I have seen a lot of bickering on Free Software mailing about UI changes, and often design projects devolve into cat-fights based on intuition. Because of this I am proposing a design process that is centered around prototyping and usability testing.

What you prototype is highly dependent on what you are trying to test, but I expect to use sketches, paper prototypes, flash prototypes, and patched versions of !AbiWord. Usability testing for this project will be a challenge. I may do some testing on American adults because they are easy to find, but American adults seem like a poor substitute for children from low-income communities in countries like Brazil which are very different in language and culture. To mitigate this, I have been in contact with several of my teacher friends, and I plan to use American children for at least one round of usability testing.

In addition, a Dr. Eden Medina, a Social Informatics professor of mine has helped me search through the wealth of ethnographic data about the countries into which OLPC will be deployed, which has been a great design resource. In my readings I came across an essay written by Edward Colby about his experiences setting up a computer lab for children in Costa Rica. When I contacted Edward last week for details, he said his students "were much more proficient orally (in both Spanish and English) than with writing," and as a result, "much less time was spent on word processing."

As I ready the !AbiWord UI for the small screen, I hope to identify opportunities for future development that I or other developers could take to make !AbiWord a better educational tool for these children after Summer of Code is over. Adding drawing capabilities to !AbiWord or making it easier to add clip art with labels might help provide a path for kids with poor written language skills to get started. No group has emerged so far as a shining example of how to get free software applications ready for the OLPC, and I think !AbiWord could fill that role.

Work samples:

Crazy idea demonstration prototype

Functional flash prototype

Complete design project

Something that was tough to code

Beginnings of AbiWord OLPC work

Project Schedule:

Note: My current semester runs until May 26th.

PRELUDE: (May 8-June 5)

WEEK 1: (June 5-11)



WEEK 4-5:



WEEK 8-11: (July 24-August 20)

Note: What I do in the final stages of the project will depend on the results of usability testing and the questions we have about the design concepts.


I am half designer, half hacker. I have a B.S. in Computer Science from the University of Connecticut, and I love coding. I've done professional web development work since I was in high school (resume: Most of my experience is in Java, PHP, and C#, but I have some C, C++, and Python experience, and I've played with Glade and various GNOME technologies.

Before grad school, I did contract web development work for The Daily Jolt, a network of web sites for college students. I designed and implemented the Picture Pages ( and Marketplace ( features.

This month I am finishing my Masters in Human-Computer Interaction Design at Indiana University. I have completed many design projects here, using a variety of prototyping skills and user research methods. In the fall I will be starting a PhD in the Distributed Cognition/HCI Lab in the Cognitive Science Department at U.C. San Diego.

I am a longtime free software advocate who has been using Linux, GNOME, and !AbiWord for about six years. Outside of the computer, I enjoy ultrarunning, great music, and cooking Indian food.

Amount Requested:


This page was last updated June 1, 2006 at 4:30pm.