TheAbiWordOLPCUserInterface

From AbiWiki

Revision as of 02:55, 17 October 2007 by Maintenance script (Talk)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search


The AbiWord OLPC User Interface Erik Pukinskis

Synopsis:

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):

  • A stronger relationship with the OLPC project
  • A leadership position in Free Software UI design in the third world
  • Better usability for all users
  • Better usability on handheld devices like the Nokia 770 or even cell phones
  • Larger mindshare amongst OLPC users


Deliverables:

  • The AbiWord UI will work seamlessly on the OLPC, in 640x480 color mode as well as the high resolution grayscale mode.
  • Written usability reports and detailed documentation of my design process.
  • Active, collegial, rational, helpful participation on mailing list and blog-based discussions of AbiWord UI.
  • A series of blog posts about the social/cultural contexts into which the OLPC will be deployed and how they affect design considerations for AbiWord and other OLPC software projects.
  • (optionally, according to time constraints: Several (3+) short design proposals for projects that could help AbiWord work better on the OLPC.)


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 doesnt fit on the screen. 4) The screen doesnt 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: http://snowedin.net/misc/wordprocessor.swf

Functional flash prototype: http://www.snowedin.net/sequencealignment/

Complete design project: http://www.snowedin.net/ideas/Meeteetse

Something that was tough to code: http://www.snowedin.net/ideas/Co-Space+Project

Beginnings of AbiWord OLPC work: http://snowedin.net/ideas/AbiWord+on+OLPC


Project Schedule:

Note: My current semester runs until May 26th.

PRELUDE: (May 8-June 5)

  • Sync expectations with AbiWord developers
  • Continue reading about children in third world countries to build up a base of ethnographic knowledge to help inform my design

WEEK 1: (June 5-11)

  • Start looking for usability testing participants
  • Get AbiWord compiling from CVS on my machine
  • Get a debugging environment configured
  • Get a sense of how the AbiWord codebase is constructed and how the UI works.

WEEK 2:

  • Draft of formal design requirements
  • Solicit feedback from AbiWord community about requirements

WEEK 3:

  • Brainstorm and sketch possible solutions
  • Initial concept sketches
  • Solicit community feedback.

WEEK 4-5:

  • Implement simplest concepts
  • Start preparations for usability testing
  • Start work on bug fixes (i.e. 4-5 above)

WEEK 6:

  • Finish preparations for usability testing
  • First round of usability testing.

WEEK 7:

  • Writeup of usability analysis and design recommendations.
  • Solicit community feedback.

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

  • Development, iteration of designs, additional usability testing as needed
  • Final report
  • Submit patches to development branch of AbiWord

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.


Bio:

I am half designer, half hacker. I have a B.S. in Computer Science from the University of Connecticut, and I love coding. Ive done professional web development work since I was in high school (resume: http://snowedin.net/ideas/Academic+resume). Most of my experience is in Java, PHP, and C#, but I have some C, C++, and Python experience, and Ive 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 (http://trinity.dailyjolt.com/pictures) and Marketplace (http://brown.dailyjolt.com/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.

Contributors

Personal tools