Posts filed under Usability
Doing Drupal Justice
By improving the user experience, admin_menu.module and admin.module help tell clients the real story about Drupal.
Until recently, Drupal’s administrative interface has been a big hurdle, and I don’t mean limited capabilities or functionality problems. I’m talking about a presentation hurdle. Too often clients miss the power of Drupal simply because the default admin interface doesn’t effectively bring commonly-used controls to the surface, leaving first-time users underwhelmed and confused.
At Aten Design Group, we tend to prototype in Drupal early in development and get our clients engaged with the prototype as soon as it is practical. This approach provides several advantages - a shorter feedback loop, a gentler learning curve, and a transparent development process. But for many of our clients, this requires a conceptual leap past the default interface to grasp all that even the simplest Drupal prototype has to offer. We work hard to prepare clients for the leap, but things could be so much better, and thankfully there are a lot of talented folks pushing Drupal’s administrative user experience forward.
First up, admin_menu.module
The admin_menu module brings all the options below “administer” into a low-profile dropdown menu at the top of the website independent of other themes being used. In our experience, the results have been great. Clients can easily get the lay of the land by quickly drilling down through the menu tree without leaving the context of the public website.
Next, admin.module
The latest contributed admin UI project, admin.module, provides a more immersive experience based on some of the work done by Mark Boulton and Leisa Reichelt for the Drupal 7 User Experience Project. The interface utilizes a control panel-style theme with a tiered top-level menu featuring a slightly recategorized set of commonly-used administration options. Prominent icons for each menu element help illustrate and bring clarity to the wide range of options. While acting as a real-world proving ground for new ideas from the D7UX Project, admin.module also allows developers building Drupal 6 websites right now to show off Drupal’s powerful administrative tools to the uninitiated.
Like most of the community, I have high hopes that Drupal 7 will provide an even more elevated user experience for administrators, among other things. In the meantime, these two modules have taken significant steps toward a UX that demonstrates Drupal’s capabilities.
University of Baltimore Usability Testing Day 2
Quote of the day: "Taxonomy is like biology and stuffed deer."
So we've wrapped up the first two days of Drupal 7 usability testing at the University of Baltimore, and we're all really excited about the information we've gotten so far. I've been surprised to learn how stressful it can be sitting in a dark room on the other side of a two way mirror watching a red eye marker bounce around the page as someone tries to solve a particularly challenging task. There are definitely times you just want to cheer them on when they finally get through it.
As with most testing, we've uncovered some positive things:
... and a few negative things:

It's actually quite interesting how much we've uncovered. In fact, after seeing our list of participants, I was a little bit worried we'd have trouble uncovering many issues at all. An interesting aspect of the people we're testing is that as opposed to other test results I've seen, we're testing people who are experienced. In fact, they're really experienced. Of the 4 people we've tested so far, they have a combined 32 years of web development experience. Furthermore 3 of them have previous exposure to Drupal, and on average they've previously had exposure to 4 CMS's. These are not people who's nephew built a site for them which they occasionally post content to, these are people who should be able to use Drupal.
I should wrap this post up, since we'll have 4 test participants coming in tomorrow. But if you'd like to follow our progress by day, tune in to the twitter tag #drupalusability or check out a few of the usability team members who have been sending regular updates about the sprint:
- Addisun 'add1sun' Berry
- Brad 'beeradb' Bowman
- Nathaniel 'catch' Catchpole
- Matthew 'ultimateboy' Tucker
Also, if you're in the Baltimore area and want to hang out with the Usability Team on Monday night, we're getting together at the UB Lab between 4:00-6:00PM on Monday. Look for details here in the groups.drupal.org Maryland group.
Card Sorting: Getting the right results
We’ve been been performing simple card sorting exercises for some time now to gain insight on how people think about content. If you don’t know what card sorting is, read about it here. The results can be fascinating, and more importantly, useful.
Why we like it
Card sorting has found a comfortable home in our information architecture process, somewhere between market strategy and industry conventions. In addition to helping us develop navigation language, card sorting puts our assumptions about information architecture to the test. We learn where people expect to find content, and what other content they expect to find there. Sometimes, card sorting provides some surprising and exciting feedback, and it’s always fun to work those results into our final product. Generally, though, the results coincide with our expectations, which is valuable in itself because it helps to get our clients on board with our recommendations that much quicker. We can simply say “it’s in the cards”.
The old method
At first, we were doing all of our card sorting manually. We’d solicit a few participants, get together some numbered index cards, sticky notes, and a few pens, and go for it. Our participants would scratch out their categories, which cards go where, and any notes they had on a sheet of paper, then collect their money and leave smiling. Afterward, I’d do the dirty work of putting the results together in a huge spreadsheet and counting how frequently different sets of cards were categorized together.
The spreadsheet was a mess. Participants were represented as columns (A, B, C, etc), and cards were represented as rows(1,2,3,etc). In each cell, I would write the number of the other cards that were sorted with the card number of that row, by the user defined in that column. Afterward, I would count up the frequency of each card appearing with another card, or a specific group of cards. It was a pain.
The new method.
Optimalsort. To be fair, Brad mentioned this to me awhile back, and it’s taken me some time to really look into it. To be fairer, if I’d googled “card sorting”, google would have mentioned it to me, too. I take little consolation in it being a paid ad.
Optimalsort is an online card sorting application. It’s free for up to three projects, with ten participants each. It’s easy to use. No more index cards and messy spreadsheets, right? Kind of.
The Problem
Optimalsort saves us tons of time and trouble actually administering the card sorting tests, and I’ve got no complaints there. They also provide a few result analysis options that are useful in their own right - including results standardized for use in an analysis spreadsheet designed by Joe Lamantia. These work great in a closed sort.
The problem is that the analysis options provided by Optimalsort for an open card sort don’t offer the metrics that I’m most interested in - how frequently individual cards are grouped together, or in other words, a cluster analysis. In Information Architecture for the World Wide Web, Peter Morville and Louis Rosenfeld mention just one “obvious” quantitative metric to capture during open sorts: The percentage of time that users place two cards together.
The solution
Optimalsort offers the open card sort data in raw CSV format, which is great, because it means you can figure out how to do just about anything with the results - given a little time and effort.
Or, even better, someone else can figure out how to do just about anything with the results. Aapo Puskala, a Finnish psychologist with a focus on user interfaces, is just the guy. His card sort cluster analysis tool turns raw Optimalsort CSV data into a whole pile of useful metrics, including, of course, the percentage of time that users place two cards together. Sweet.
Thanks, Aapo.
Usability Testing at the University of Baltimore next month!
In late February I and a handful of other Drupal contributors will be headed towards Drupalcon a week early to do formal Usability Testing of Drupal at the University of Baltimore to help continue the research done by Becca Scollan and other graduate students there last year. We'll be doing 3 days of testing, followed by 3 more compiling the data and turning them into actionable items in the Drupal.org issue queues. Finally, we'll be presenting an overview of the issues we found at Drupalcon.
If you'd like to get involved there's a lot to get done between now and then. Specifically, the UX Team is working towards finding solutions to the following issues:
- Text links for 'Select all/None/Invert'
- Allow more users to see the node admin pages
- Help System - Patch #1
- Vertical Tabs
- Text format widgets
- And anything else tagged as a usability issue on Drupal.org.
Drupal 7 core maintainer Angela 'webchick' Byron has been nice enough to promise a focus of her review/commit time on usability issues this next month as we prepare for testing, so now's the time to focus on these issues.
We'll also be using this month to create and refine our test plan. A current working version of that document has been posted to the Usability group on https://groups.drupal.org. It's already starting to solicit some feedback, but we'd love to get as many eyes on it as possible.
And finally, if contributing isn't your forte, but you'd still like to know how you can help out, we're trying to raise sponsorship money to help fund the testing. Everyone attending the testing is volunteering their time, but we will have travel expenses as well as the need to put together a budget to pay test subjects for their time. If you're willing to help out financially you can do so using the ChipIn widget to the right.


