Tuesday, June 16, 2015

Examining the design patterns

I wanted to share a brief update on the Outreachy project that Gina and I are working on, where Gina is preparing for a usability test in GNOME.

So far, we've been in an "information gathering" mode, where she has been learning about some of the basics of usability testing. In our next step, Gina will now start doing an analysis in preparation for a usability test.

As we transition to the analysis mode, let's take a step back. We will look at the GNOME design patterns, and understand what design patterns GNOME uses. The GNOME design patterns are described here:

In a usability test, GNOME will be most interested in how the design patterns are working for people. And to do that, we need to understand which GNOME programs use each design patterns. Having that understanding will help to identify which specific scenario tasks will give the results that are most useful.

At the end of this analysis, we should have an idea which design patterns to examine in Gina's usability test, and what scenario tasks would "exercise" those design patterns. Stay tuned!
image: Outreachy

Wednesday, June 10, 2015

Outreachy week 2 - personas

I am honored to work with Gina this cycle on usability testing, as part of Outreachy and GNOME. We are off to a great start. I wanted to share Gina's excellent description of personas, and how they are used in usability testing.

Personas are an important part of usability testing. Projects that are serious about usability testing need to have a collection of personas that are representative of their users. By using personas, a project can more easily avoid adding features “because it is cool” and instead can discuss new features or interface changes in a user-focused way. “We need to help ‘Stephanie’ … does this change help her?” Or “How does this feature help ‘Stephen’?”

Different projects will create different types of personas. For example, a programmer’s editor like GNU Emacs or GNOME Builder might only include personas for software developers and testers. A graphics tool like GIMP or Inkscape might choose to create personas for graphics professionals, photographers, website designers.

For a general-purpose system like GNOME, which aims to support all kinds of users, defining the personas may be more difficult. You need to consider *all* of the people who would use GNOME.

One way to define personas for GNOME is to break down the users into categories. For example: users of different ages, and users of different skill levels. This presents you with an x-y problem.

I write about this in more detail on my blog, on creating personas.

How you group the ages, and how you group the experience levels, is a project decision. Do you choose the simple case of “beginner/moderate/expert” users? How do you group ages? You could group ages by “generation”: Millennial ages 11-31, GenX ages 31-51, Boomers ages 51-69, and so on. Or you could use elementary-age students, junior high & high school students, college students, post-college ages 22-31, etc.

This gives you a grid in the x-y problem, and you just need to write a persona for each box on that grid:

  • someone between ages 11-31 who is a Beginner user
  • someone between ages 11-31 who is a Moderate user
  • someone between ages 11-31 who is an Expert user
  • someone between ages 31-51 who is a Beginner user

…and so on.

Don’t forget to be inclusive and representative of gender and ethnicity.

But for this exercise in Outreachy, we only need a few personas. Let’s pick an “average” user with “typical” knowledge about computers (not an expert, not a beginner). Gina’s “Mark” persona is an excellent persona to use in this usability testing project. “Mark” will give us a base for writing usability scenarios and scenario tasks that are generally applicable to other users.
image: Outreachy