Monday, December 23, 2013

Guest post: In 2014, let's make open source software more usable

This is a guest post from my friend Asheesh from OpenHatch.org. Asheesh and I met at an OpenHatch event sponsored at the university where I work, the University of Minnesota Morris. It was a lot of fun to participate in this open source software event; I recommend your university also look at hosting a similar event for your students and community.

I want everyone to be able to choose free software and feel empowered. But right now, so much free software—even some of the most widely-used software—is barely usable.

If this is a problem that matters to you, too, and you're willing to put in 1-3 hours per week of volunteer time over 2014, I think we can make a huge difference in fixing this. You don't have to know anything about usability today to do this; you can learn as you go.

So, we need a volunteer to step up. But first, a story:

I had the opportunity to meet the founder of the FreeDOS project, Jim Hall, yesterday in Morris, MN. Having created a popular (within its niche) operating system project, he's come to realize that the next frontier for open source is not more code: it's building software that people can use to get things done.

Free software hackers often think of usability as a vague notion, wondering what to do when confused users issues in their bug trackers. By contrast, usability researchers like Jim do something concrete: they name a specific task a user should be able to do with that app, and then tell some users: "Do that task as well as you can. Narrate what you are thinking, and we'll record the screen." If the goal is to build software that people can use, the test is finding out if they can actually use it.

The results show that people often get stuck at the same points when trying to achieve a task. It's excruciating for developers, who want to help by saying, "The save button is right there." In Drupal, recordings of these experiments caused the community to change links and text within the admin module. When they did that, user confusion decreased.

We can say that "user confusion decreased" because usability is in fact measurable. In Drupal, they performed the same experiment a second time, with that UI widget changed, and asked: "How many users were able to achieve the task in the given time?" If that number increases, then we know we are getting somewhere.

Jim is going to run a handful of tests as part of his masters thesis. He's not the first in open source to care about usability—the now-defunct OpenUsability project began in 2006. The question is, when his masters thesis is over, will the community continue to understand how to do this important work?

Here's my plan:

We—the free software community—need someone to take the burgeoning interest in usability and turn it into something that becomes embedded in existing projects and grows from there. That's something you can do.

To do that, you'll need to set a goal that in 2014, you'll find two projects that are interested in improving their usability, run one user test for each project, and work with Jim to document how anyone can run these tests. The measure of success is if one new person in the world runs a user test on a project they care about and shares that result with the project's community.

I think that won't take more than 1-3 hours per week over 2014, most of which will be spent reading about usability, chatting with Jim, and writing documentation on how to run user tests.

I, and probably other people, can support you, help you find those two projects that want usability help, and help get the word out. We can work together to help you present your usability data in the clearest way so those projects understand the findings.

You'll know that you'll have begun to change the culture of open source software in one of the most high-impact ways.

Do you want to?

Saturday, December 21, 2013

Fedora 20 desktop impressions

EDIT: I received feedback via Twitter from GNOME designer Jon McCann, and I've added his comments below.

After having used Fedora 20 and GNOME 3.10 for about a day, my initial impression is that GNOME 3.10 has made big improvements with the desktop. Some of these changes are subtle, others more obvious. Let's look at some screenshots.

GNOME initial desktop, with Help
GNOME initial desktop, with Help

After installing Fedora 20, the first thing you see is the GNOME 3.10 desktop, with a Help application to get you started. That's a great way to introduce new users to the desktop, and a good way to provide balance for more experienced users who just want to get right into things. A few things to note:

I like the minimalist icons in the upper-right. It's immediately obvious that these represent your wireless connection, speaker volume, and battery charge. The down-arrow suggests that you can click on this area to get more (and you can).

The "Activities" hot-corner/button in the upper-left makes it clear how to get to new applications.

The simple white-on-black scheme of the top bar helps to provide better focus on the desktop and applications, rather than "blending" the top bar with the desktop metaphor.

GNOME certainly addressed some usability issues, but not the big ones.

I'm still not a convinced of GNOME's decision to put menus behind the application icon. Their compromise to usability is to include a down-arrow to suggest you can click on this, but in most applications that's just an option for "Quit" (which is the same as clicking the "x" icon in the upper-right of most applications, anyway). I understand from GNOME developers (and other folks, for example on Slashdot) that GNOME intends to move all application menus under this application icon. That doesn't seem to be a good move to me. My previous usability testing shows that users prefer menus that are obviously part of the application (think "menu bar"). The application menu in the black top bar doesn't stand out as part of the application experience.

EDIT: Apparently this is not correct. McCann reports "no intent to move all menus to app menu." Good to hear!

Activities - Show Applications
Activities - "Show Applications"

If you click on the "Activities" button (or just move your mouse into the upper-left "hot corner") you'll get a view of all applications that you currently have open, plus the "favorite" applications you use frequently on the left-hand side. If you click on the "3x3 grid" icon, you'll be able to "Show Applications" and see all the applications that you can run. I think this is really well done.

GNOME Evolution using Gmail linked account
GNOME Evolution using Gmail linked account

GNOME linking to online accounts
GNOME linking to online accounts

Another thing that GNOME 3.10 has done really well is to let you link certain online accounts with GNOME. For example, you can choose to link to your Google account, which lets you access your Gmail and Google Calendar using GNOME's Evolution application. This is a good feature for those who prefer to use desktop tools, similar to using Outlook on Windows.

GNOME overlapping windows

GNOME overlapping windows with Nautilus tiled to right side

However, I think I found a problem with how GNOME displays overlapping windows. I show two instances above, where one window (GNOME's Nautilus file manager) overlaps another (GNOME's operating system update tool). In GNOME, you can drag an application to the top edge of the screen to maximize the window, and that's what I've done with the update tool. You can also drag an application to either the left or right edge of the screen to "tile" the window over half the display. And I've shown that here in the second screenshot with Nautilus.

When the application hasn't been tiled, you get a nice drop-shadow effect, suggesting that one application window is "over" another. But when the application window has been tiled, you lose this shadow effect. Take another look at the second screenshot. Where does the Nautilus window end? How do you know when you've moved your mouse out of the Nautilus file manager, into another application? Perhaps this is a bug?

EDIT: Fortunately, McCann says "Lack of tile shadow is a bug" so I hope to see this fixed soon.

These screenshots also show a poor usability choice with the Nautilus file manager. You'll notice that other GNOME applications include a menu. Not so with the file manager. In this application, you don't even get a title bar. The application's menu is under the application icon in the black top bar. You click on the application icon to access features such as "New Window," "Connect to server," "Bookmarks," and "Preferences." So far, the file manager is the only application I've found that does this. All the other GNOME applications seem to use the application icon menu for "Quit."

I'll be interested to do another usability test with GNOME. How will average users with typical knowledge react to GNOME? Will they find it useful, or confusing? What will be the pain points? What works well for these users, and what areas could still be improved? I expect to start a usability test in February or March, with results in April or May. Watch this space.

Also, some research help: I know GNOME did usability testing in the past. If anyone can point me to their usability tests, please leave a link in the comments. (I haven't done much digging yet.)

Fedora 20 first impressions

I installed Fedora 20 on my laptop yesterday, and wanted to share some first impressions. The obvious place to start is with the installer; this is the first thing that any new user will experience when installing the operating system. I've written several installers myself (including several versions of the FreeDOS operating system installer) so I know first-hand that it's important to get this right for usability.

ZDNet has a hands-on walkthrough of Fedora 20's "Anaconda" installer. I'll point you to them for screenshots.

Most operating system install programs try to streamline the install process, and use a "procedural" method. That is, the installer walks you through each of the steps; you answer a few questions (preferred language, time zone, etc) then the operating system just seems to install itself. Fedora 20's installer uses a "hub and spoke" model for the install process. I find this interesting for some parts of the installation, but overall it gives the impression that you need to know something extra before you can do the installation.

My biggest gripe with the Fedora 20 installer is the "Installation Destination" section. This is where you set up the hard drive where you will install Fedora. I previously had installed Fedora 19 Xfce on this laptop, so all I wanted to do was to install overtop what I had. I was totally okay with losing my existing data; I had already backed up the few files I wanted to keep. But it just didn't seem obvious how to do that.

I went into this section, did my thing, thought it didn't work, went back into the section, re-did my disk setup, saved … before I finally decided that it was okay. This from someone who has been tinkering with Linux of different flavors since 1993. I know what I'm doing, but I really doubted myself when trying to do something as straightforward as re-installing Linux on this laptop. (See ZDNet's screenshot for this step.)

I will say that Fedora gets it right when the system is installing Linux for you. While the installation is happening in the background, you can also set up your login account and root password. (See ZDNet's screenshot for this step.) And it doesn't let you continue until you've done that, so even if you walked away and ignored the screen, you'll still have to complete those two steps before you finish. That's about the only time the Fedora 20 "hub and spoke" install process really feels natural.

I have a few other minor issues with the installer, but these are focused mainly on visual details and presentation style, not so much about "usability."

Friday, December 20, 2013

Tuesday, December 17, 2013

Fedora 20 is out

I've been looking forward to using GNOME 3.10 for a while now. I've previously commented on GNOME's poor usability, but GNOME 3.10 claims to feature an improved user experience ("UX"). These UX features include:
  • A new "Paginated Application View" when selecting programs you can run, rather that a scrolling list (this seems similar to an iPad, for example)
  • A customizable lock screen
  • Changes to scrollbars, so it's easier to move small distances
  • Fixes to the Settings application, including changing Date & Time, easier to configure Displays, integration of chat accounts into Online Accounts, combining all features of Universal Access into a single page, and allowing the user to set their background via their Flickr account.

As a major player in the open source software desktop, GNOME is often the focus of usability reviews. Calum Benson, Matthias Müller-Prove, and Jiri Mzourek included GNOME among their 2004 findings about Professional Usability in Open Source Software (see my other post). Similarly, Nichols and Twidale link to GNOME in The Usability of Open Source Software webpage. GNOME brings attention to usability, as suggested by their Usability Testing Suite wiki.

So with GNOME 3.10, I'm hopeful that the project has addressed the usability issues I mentioned previously.

However, I prefer to wait for developers and beta testers to shake out any bugs in this initial release. So I have been waiting for Fedora 20 to come out, which promised to include GNOME 3.10. Fedora is a mainstream Linux distribution, generally well-regarded by Linux users. But most important for my purposes, Fedora prefers the GNOME desktop.

Well, the wait is over - the Fedora Project released Fedora 20 today! Check out the release notes for details. Quoting from the release notes:

3.1.4. GNOME 3.10

3.1.4.1. GNOME Overview

Fedora 20 features GNOME 3.10. This latest version of the GNOME desktop will have a number of new applications and features:
  • Fine grained scrolling when dragging the scroll bar handle, or scrolling while holding the shift key.
  • Support for login and authentication with Smart Cards.
  • Header bars merge title bars and toolbars into a single element, giving more screen space to window content and improving presentation of application controls.
  • Improved Magnifier with caret tracking, press F7 to activate caret.
  • Lock screen background customization.
  • A new geolocation framework allows features like automatic timezone updates when traveling and location detection in Maps.
  • GNOME Documents support for OwnCloud
  • Drag and drop files between your computer and a Boxes guest. Windows guests will need http://spice-space.org/download/windows/spice-guest-tools/ installed, and Linux guests will need an updated version of spice-vdagent.
  • Boxes gains support for importing filesystem images.
  • Improved user interface for Contacts
  • Improved automatic scaling for high pixel density displays.
  • Improved application selection in the shell Overview.
  • Flikr integration with GNOME Online Accounts allows access to Flikr content in GNOME Photos.
  • Improved, integrated system status menu.
  • Redesigned gnome-tweak-tool, with improved design, extension integration, and expanded functionality.
  • A new application, GNOME Maps, brings a simple map application to the GNOME Desktop.
  • GNOME Music, a streamlined application for playing and sharing music.

I'm interested in the changes to scrolling, "header bars," and the other user interface improvements.

This is perfect timing; my M.S. capstone project (working title: "The Usability of Open Source Software") starts in January. I hope to refresh the usability study I conducted previously with GNOME on Fedora 17.