Learning from your users

A couple of months ago, I conducted usability tests and did customer training for a software project.

I didn’t reach the ideal number of users for a usability study (only four in this case), but I got plenty of interesting information from just watching and asking questions. Looking at people while they use your software is very enlightening for a software engineer.

What surprised me the most was that even though I took special care in designing a user friendly interface and I had a pretty good guess about the users’ computer know-how, I still overestimated their ability to work with the software and missed opportunities to make things simpler. A lot of software engineers are just like me I believe, they don’t have a good grasp about what happens when someone sits down and starts working with their software.

The number one recommendation that I can make is: do usability testing. Odds are that you’ll have an epiphany and find many ways to improve your project. In the mean time, maybe you’ll find the following thoughts useful:

  • In order to do usability testing you need at least one user, preferably three or more. The trick is that it has to be a real user, someone that will use/is already using/is likely to use your software. You can’t just go to Bob the tester and ask him to allow you to watch him. Sure, watching Bob will help, but you won’t get any mind-blowing insights from him; he probably has a much too similar way of thinking to you.
  • Explain to your test partners that you’re not testing them, you are testing the software and they can’t do anything wrong or somehow break the computer. This should make them feel more comfortable and allow them to be as natural as possible.
  • Tell them why they’re there, what your software does and what you hope to achieve with your test. Ask them what they think about the software at first sight.
  • Try to be general with your instructions: for instance I wouldn’t say “Let’s open the invoice window and add three items by clicking the ‘Add item button’.”, I would say “Let’s try to create an invoice” or “Let’s do an invoice for three widgets. How do you think we could do that?”.
  • Watch carefully. Having the users think out loud helps, but I managed fine just by telling them to stop whenever they’d like to ask me questions or point out something that grabbed their attention.   Steve Krug recommends that the session should be recorded. Pen and paper are acceptable in my experience, even if you have to stop for a few moments while you’re writing.

Having done more than ten usability sessions so far, I’ve made some general notes about what works and what doesn’t when it comes to UI. I’ll publish  those in a following post.

The Firefox password manager is leaking information

It’s very annoying to have the master password dialog pop up every time you visit a site that has its password stored by Firefox. Let’s say that I want to browse reddit: when I open a reddit page, the master password dialog pops up. I don’t want to login, so I cancel the dialog.

Then I see an interesting story and open it in a new tab. Here comes the master password dialog and it gets killed again. Now I use the new tab to surf to /r/cpp. The master password dialog cheerfully strolls into view.

Popping a dialog when the user selects a user name filed would be better, as it avoids leaking membership information when visiting a web site. I would also like to see this dialog redesigned – right now it’s a simple application-modal message box with an editor widget in the middle. If you have ten tabs open and you open another tab to a site that has its password stored, you won’t be able to interact with any of the tabs until you either enter the master password or dismiss the master password dialog.

You don’t want me to buy your mobile app? Ok, I won’t.

It’s late at night and I’ve just found out some news about the subway worker’s strike in my city. A friend of mine will use the subway tomorrow to go to work and I want to tell them about it. Problem is, they’re already asleep.

I know – I’ll download a SMS scheduling app from the Nokia Ovi Store, type the message and the app will send it tomorrow morning, just in time for my friend to read it.

My Ovi client doesn’t work any more after the latest E72 update, so I use the native browser. It goes like this: I open the Ovi website and search for “sms schedule”. Nothing. I search for “sms scheduler” and check the three relevant results. On a second look, it’s the same app with three different prices.

They have the same description too, so I give up and just pick the second most expensive. “Want to send a Time Based SMS to be Sent Later? Write it now & Forget it! It will be Auto Sent.” Who are these guys? I visit their website and discover that they are one of the “Largest Developers of Mobile Applications in the World”. And they like to randomly capitalize words.

A few searches later I find another scheduler app and open its description – “The application will silently assist you and won’t bother when you have limited time. You’re able to create and manage short messages in an ordinary way.”

I decided that it’s safer to wake up in the morning to tell my friend about the strike.