Help Me! (Yet another docs hackfest blog post.)

Over the past couple of years, I’ve tried to sit down and do some work with the awesome GNOME docs team on a number of occasions, but something always seemed to get in the way. So I was really happy to be able to spend three days with them at this week’s documentation hackfest.

One of the things I looked at during the hackfest was the design of Yelp, our help application. Shaun McCance and I talked about how we can make it more consistent with our other GNOME 3 style applications, and we’ve also been working on designs for an improved “start screen” – so that the content of the help browser looks more engaging.

Help Start Screen

Documentation isn’t always about “help”. To me, our documentation is an opportunity to let people learn about the functionality we provide, to master tips and tricks that will help them be more productive, and find out about the cool new features that have recently been added. As work progresses on the help, I hope that these other aspects of the documentation start to come through more strongly.

The hackfest also gave me an opportunity to participate in some interesting discussions about developer documentation. Documentation is obviously an important part of the GNOME application developer experience, and is something that we really need to improve if we want to stimulate the creation of great applications for GNOME. These conversations generated some pretty cool ideas about how to quickly create helpful developer documentation, and how to tie our existing documentation together in a more cohesive way. I’m hopeful that we’ll be able to take those ideas forward in the coming weeks and months.

Many thanks to the University of East Anglia for providing a great venue. The Ziggurats are awesome.

Fun & Games

Games often don’t seem like the most important thing for GNOME. Yet, many people expect to have some common games available, and for some individuals being able to play Solitaire or Sudoku is a major reason for having a computer in the first place.

Historically, the GNOME project has developed a fairly extensive collection of games. These used to share some of the same code, but have recently been split up into independent modules and repositories. This was a great move, and I definitely think that each of the games should be allowed to develop into independent projects in their own right. I’m sure there are plenty of opportunities here for new contributors.

I recently spent a bit of time looking at some of our games to try to help raise the quality level. Since there are quite a few games in GNOME, and this was a fairly quick design pass, I decided to focus on the most commonly recognised games that users might expect to be able to use on GNOME. As a result, I’ve so far restricted my work to Sudoku, Tetris (or Quadrapassel in GNOME language), Reversi (aka Iagno) and Minesweeper (aka Mines). I also took a look at Tetravex, since it seems like it could be an accessible puzzle game.

It should be said that I am no graphic designer. These mockups are just the first step, and if you have a flair for graphics and would like to help, your assistance would be most welcome.

The GNOME games developers have been a pleasure to work with, and some parts of the designs have already been implemented. Many of the proposed changes have also been filed as bug reports, so it’s easy to get started if you want to help to make the games into a really fun and pretty.

Initial Setup Reprise

GNOME’s initial setup assistant was originally introduced in 3.8. It helps people set up GNOME 3 when they first log into a new session, and guides them through the essential steps to make their account usable. It enables you to set a language and the date and time, and it helps you to connect to a network and to online accounts.

Without something like initial setup, there’s a risk that a new user might be faced with a system that isn’t using their language or has the wrong time. Hunting through settings on a misconfigured system is not what we want people’s’ first experience of GNOME 3 to be.

initial-setup

From a design and development standpoint, one of the tricky things about initial setup is that it doesn’t get a huge amount of attention. Those of us who work on GNOME don’t see it on regular basis and our users only encounter it once (or very infrequently). People usually aren’t in a position to file bugs when they’re using it. This makes it difficult to know how initial setup is performing.

I have recently been working with Intel’s OTC London office to investigate this situation further. The OTC recently commissioned a series of user tests in this area, which have provided some excellent data on the kind of experience that initial setup is providing. I’ve been given access to the data generated by these tests, which I have been able to use to improve the design. I’d like to say a big thank you to Intel for funding this work and for being so supportive.

The Study

The user tests were run in a fairly conventional manner: participants were given a laptop and were instructed to treat it as if it were their own. They were then invited to run through initial setup. Along the way, a researcher asked them questions about what they were doing, as well as about their understanding of what was happening.

A total of 12 participants ran through the test. One really nice thing about the study was the variety of the participants involved. Of the 12, four had Mac OS X as their primary experience, four had Windows 8, and four used another version of Windows (either XP, Vista or 7). The participants also displayed a range of approaches to the computer – there were careful users who read everything and were very considered, and there were more impatient people who clicked through without much thought. Some were confident, others less so.

The tests were recorded, using a combination of screen recording and a web cam. Unfortunately, technical issues mean that it isn’t possible for the videos to be made available. However, I’ve been given access to the data and have made fairly detailed notes.

Results

As is usually the case with this type of test, the results were mixed. All but one of the participants were able to complete initial setup without assistance from the researcher. Some parts of initial setup worked well, like language and network selection. Reactions to the experience were generally positive.

At the same time, some parts of the initial setup assistant could definitely have performed better. Some of the participants had problems at certain steps, and the purpose of some aspects of the initial setup assistant were frequently unclear.

The main issues encountered by the test participants included:

  • Input sources was often an unfamiliar term. The test conditions mean that it is difficult to make definite claims about the interface for adding input sources, but the signs are that it wasn’t clear enough.
  • The purpose of the location step wasn’t clear. Initial setup asks the user to set their location, so that the time zone can be configured; the majority of the participants didn’t realise that this step was specifically about time and date.
  • There were numerous issues with creating a password. Some of the participants obviously disliked the negative feedback given for password strength (this is something we were already in the process of fixing). The one participant who needed help to complete the test was unable to proceed because there wasn’t clear feedback that the password and confirm password fields did not match.
  • The online accounts panel suffered from not being clear. Some participants were unsure what it was for.

In addition to these more specific results, there were some other interesting lessons that can be drawn from the study. I think the most significant lesson for me is that the participants really, really disliked passwords.

“[Passwords are] the bit that I always hate, because they always make it complex and I never remember.”

The participants reported having trouble remembering their passwords, and they resented having to create strong ones because it makes them harder to recall. This aspect of the test was by far the most problematic and the one that provoked the most negative responses.

New Designs!

On the basis of the user tests I have been working on an updated set of initial setup designs. These are an evolution of the existing designs.

1-language

Two of the panels that the participants didn’t fully understand have been rebranded to clarify their role: “Location” has become “Time Zone”, and “Input Sources” has become “Typing”. The Online Accounts step has also been elaborated to make it much clearer.

5-2-auto-time-zone-found

Much of the work that was done in the 3.10 cycle to improve adding user accounts in the control center has been carried over; this should hopefully improve what turned out to be the most difficult part of the whole initial experience.

8-2-login-completed

These designs address the worst issues that arose during the user tests, and I’m hoping that we can get initial setup into much better shape for GNOME 3.12. The Intel user tests are an invaluable contribution here, and have provided many other insights that we can follow through on.

3.10 Reflections

GNOME 3.10 was released last week. A lot of hard work went into it (I know I felt pretty exhausted by the end), but I think that it was worth it. We ended up with an excellent release.

window-selection-3.10

I’ve been using bits and pieces of 3.10 for some time, and completely adopted it (through Fedora 20) about a week ago. It feels like some important aspects of the GNOME 3 experience have started to fall into place with the latest release. Most obviously, we have quite a few new applications, which fill gaps in the core application set. We are also seeing the application design patterns starting to mature. The addition of header bars makes a fantastic difference.

gnome-music

Header Bars

This release also includes some new things which have been planned for a long time, and which round out features that we released in previous versions. Lock screen customisation is one of these, as is the updated application launching view, both of which feel great.

lock-screen

Another exciting thing that happened for 3.10 is that our efforts to modernise the toolkit have started to bear fruit. GTK+ 3.10 has a whole collection of new widgets which will enable developers to make better applications, and should also reduce the amount of work that they have to do. I really hope that this trend continues with even more new widgets and improvements to the developer experience.

GNOME 3 is already in good shape, but as each release comes by, so the vision as a whole takes another step towards realisation. When that finally happens, I think we’ll achieve a qualitative shift in the kind of experience that we’re able to offer. 3.10 is a strong indication that GNOME is making good progress towards that goal, and is a taste of what is to come. Exciting times.

Feature Focus: GNOME 3’s New System Status Area

GNOME 3.10 isn’t far off, and there’s a lot of cool new stuff coming. One of the most visible changes in this release is the new System Status Area. For 3.10 we have reworked this part of the shell, and in this post I’m going to give a bit of background on the process involved in designing and implementing it.

The System Status Area is our term for the section on the right hand side of the GNOME 3 top bar. This is the place where icons indicate how much battery you have left and the strength of your wi-fi network, and so on. It is here that you can also perform basic system-level actions, like powering off. One of the long-standing design goals for this part of the top bar is to consistently use it for system-level status and actions. This makes the area predictable and ensures a clean separation between applications and system.

During the 3.x GNOME series, the System Status Area received quite a lot of work as we sought to refine and mature the original design that was introduced in 3.0. These iterative changes definitely improved this part of GNOME 3. At the same time, the basic design didn’t change a huge amount and was quite similar to what we had in the GNOME 2 days: a series of small icons, each with a menu attached to them. Each icon represented a different aspect of system status (battery, wi-fi-, bluetooth, etc), and the corresponding menu provided actions that you could take in that area.
Continue reading Feature Focus: GNOME 3’s New System Status Area