OLPC Human Interface Guidelines

From OLPC
Revision as of 14:38, 29 October 2006 by Walter (talk | contribs) (Who Should Read This Document)
Jump to: navigation, search
  This page is monitored by the OLPC team.

Introduction

Who Should Read This Document

These guidelines are targeted primarily at developers who are building tools for the OLPC laptop. They provide an in-depth view of the various features of Sugar, the laptop user interface and focus closely on the parts of the UI that pertain directly to software development, particularly the ways in which applications embedded into "activities" interact with the operating system.

However, as these guidelines are intended to provide a comprehensive overview of the user interface, these pages should also be of general interest. Hopefully the descriptions of the various UI elements, particularly in the Laptop Experience section, will quench the thirst of all who want to better understand the project and its goals.

How to Read This Document

Undoubtedly, many who have made it to this page have read at least one set of human-interface guidelines in the past. Nonetheless, we strongly request that you read the content of this document in full. Many of the terms contained within will be quite familiar to you, however, we urge you to review them anyway, since our approach to the user experience shifts away from the traditional desktop. As such, this document may introduce some unfamiliar ideas around such otherwise familiar terms that you should consider throughout development.

Internal hyperlinking...

external links to API...

Core Ideas

Activities, Not Applications

Though it might take a little while to get used to, there are no software applications in the traditional sense on the laptop. The user experience on the laptop focuses around "activities." This is more than a naming convention; it represents the intrinsic quality of the learning experience we hope that the children will have when using the laptop. Activities are distinct from applications in their foci—collaboration and expression—and their implementation—journaling and iteration.

Presense is Always Present

Collaborative learning provides a powerful tool in the educational environment, allowing children to take responsibility for one another's learning as well as their own. Studies have shown the positive effects of collaborative activity on development, indicating that the exchange of ideas amongst peers can both make the learning process more engaging and also stimulates critical thinking skills. OLPC hopes to encourage this type of interaction with the laptops.

In order to facilitate this type of collaborative learning environment, the laptops employ a mesh network system which connects all laptops within range without need for internet access. This implicit connectivity alters the traditional computer metaphor, since every activity is a networked activity. As such a fundamental element of the laptop, OLPC not only encourages but insists that all activities should take advantage of it, and any activity that can't should perhaps be rethought.

As an example, consider the Web activity bundled with the laptop distribution. Normally one browses independently, perhaps sending a friend a favorite link now and then. On the laptops, however, link sharing features integrated into the activity transform the individual act of web-surfing into a collaborate way to explore the Internet. Where possible, all activities should embrace the mesh and place strong focus on facilitating the collaborative process.

Tools of Expression

OLPC hopes to make the primary activity of the kids one of creation, in whatever form that might take. As such, most activities will focus on the creation of some type of object, be it a drawing, a song, a story, a game, etc. This introduces another shift in the language used to describe the laptops, pointing to objects rather than files as the primary form of creative expression.

This emphasis on the creation of objects supports the Constructivist "learn by doing" approach. As most developers would agree, the best way to learn how to write a program is to write one; Studying the syntax of the language might be useful, but it doesn't teach one how to code. With the laptop, OLPC hopes to apply this principal to all types of creation.

Furthermore, this objectification of the traditional filesystem speaks more directly to real-world metaphors: instead of a sound file, we have an actual sound; instead of a text file, a story. In order to support this concept, activity developers may define object types and associated icons to represent them, which will become just as important to the interface as the activities that create them.

Journaling

The concept of the journal, a written documentation of everyday events, is universally understood, albeit in various forms across cultures. More importantly, a journal typically chronicles the activities one has done throughout the day. For these reasons, OLPC chose to adopt a journaling metaphor for the filesystem as an altogether new approach to file organization. While the underlying impementation of such a filesystem doesn't differ too drastically from some of those in contemporary operating systems, it also holds less importance than the abstraction itself, which certainly does.

At its core, the concept embodies the idea that the filesystem records a history of the things you've done, or, more specifically, the activities you've participated in. It's storage of the objects created while performing those activities is secondary, though of course also important. Of course, though many powerful means of sorting and filtering the entries will exist, the journal naturally lends itself to a chronological organization. As a record of things you've done, and not just the things you've saved, the journal will read much like a scrapbook history of the children's interactions with their machine and also with thier peers. The journal will combine entries explicitly created by the children with those which are implicitly created through use of the laptop and participation in activities, which also means that activities must think carefully about how they integrate with it, moreso than with a traditional filesystem that functions independently of an application. On the laptops, the activities, the objects, and the means of recording both tightly integrate to create a different kind of computer experience. To learn more about the benefits of the journal as a temporal filesystem, see the Journal portion of the Laptop Experience section.

Design Fundamentals

Know Your Audience

Inexperienced 
The goal of OLPC is to provide children with new opportunities to explore, experiment, and express themselves. Many children in need of such opportunities have previously had little or no access to such technologies, and so will be unfamiliar with the laptop and how to interact with it. This will undoubtedly have effects on some aspects of activity development. On one hand, it means that developers must focus a fair amount of energy into making interfaces wholly intuitive, building metaphors that strengthen and clarify the interface based upon real-world ideas. On the other hand, since many of the children will see a computer for the very first time with the laptop, activities don't have to worry too much about behaving the way current applications do on other operating systems. This frees developers to innovate, since particular features needn't behave exactly the same way they do in a current OS due to users' expectations (except, of course, in cases where they would expect it to work that way based upon the aforementioned real-life metaphors).
Young 
Many children will receive the laptops at Kindergarten age. This is, in fact, a great opportunity since children at such an age are impressionable and have strong desires to explore and learn, and the laptop should provide another tool for doing so. However, though the children will receive laptops at an early age, they will also keep the same laptop throughout their schooling. Therefore, it is important to develop activities in ways that scale to teenage audiences as well. Of course, if designed well, these activities should be both entertaining and useful to an audience of any age.
International 
The OLPC initiative, by its nature, requires international involvement and participation. Developers must keep in mind the broad range of cultures and languages that the laptops must transcend. In particular, activities should not depend on western icons and modes of thinking, but should abstract ideas to a level that would be familiar to humankind in general, where possible. For instace, consider the camera button on the keyboard. Though one might be inclined to label this key with a small image of a camera and lens, the eye graphic speaks directly to our human capacity for vision, providing a cross-cultural icon that represents the compute's ability to capture what it sees.

Key Design Principals

Performance
Usability
Simplicity
Reliability
Adaptabilty
Interoperability
Mobility
Exposability
Accessibility

The Laptop Experience

Introduction

Zoom Metaphor

The Frame

Bulletin Boards

The Journal

Activities

The Sugar Interface

Input Systems

The Grid System

Icons

Rollovers Replace Menus

Cursor

Controls