Menu

Regressive disclosure: designing complex interfaces by reducing choice

I’m currently designing an Admin Console for enterprise software, and it’s going pretty much as you’d expect it to go, which is like this:

Winning

Every time I think I’ve made a breakthrough and sit back to enjoy my handiwork, I realize I missed something, and back into the abyss I go. I’ll probably write an emotional case study once this is all said and done, but for now there’s one breakthrough that has actually lived up to repeated scrutiny, so I wanted to share that.

First, let’s define what an admin console is. It’s that area of a site where admin users go to manage users, content, billing, notifications, and all kinds of other admin-y things. It’s also the area of a site that mostly gets ignored because (1) very few people have to use it, and (2) it’s freaking hard to design. There can be hundreds of options, and figuring out how to make it all fit together while still providing a good user experience can drive a grown man to tears very quickly. But if you don’t spend the time on this, and admins can’t do what they need to do, the whole site can fall down for its users.

So onward we go.

Initially I approached the design as primarily an Information Architecture problem to solve. I assumed that the main concern for admin consoles is findability of features. Where do you go to send invites? Manage authentication options? Set up analytics? But as I thought about it more, I realized that when it comes to admin consoles, there are actually two very distinct user actions, and they need to different design paradigms:

  • First, there’s the action of finding the thing you’re looking for. And yes, that’s primarily an Information Architecture problem to solve.
  • Second, there’s the action of doing the thing you found. And that is less of an IA problem, and much more a user experience problem to solve.

In most admin consoles the acts of finding and doing are both built on the same interface. What this usually means is that even if you get your IA right, performing the action you go there to do can be really difficult and confusing because the interface is still in finding mode. What we need is to separate those two actions. How do we do that? I have pictures!

Let’s begin with how most admin consoles work:

In this case, the whole thing is a mess. The Information Architecture is not well thought through, so finding what you’re looking for is extremely difficult. To add insult to injury, if you do manage to find your path and switch to doing, all those distractions remain in the interface, and you’re left to fend for yourself amidst the chaos.

Now, let’s see what happens if you look at this only as an Information Architecture problem, as I did at first:

We’re certainly making progress now. The list of things you can do is neatly ordered, so it’s much easier to navigate. But there’s still a problem: the interface remains consistent during the doing phase, so the probability to get confused is still high.

So what happens if we look at finding and doing as completely separate actions? What if we try to solve both the IA and the UI problems, depending on which phase we’re in? I think we end up with something like this:

Now we’re talking. With every step, you get fewer choices, so you’re essentially getting guided to the most appropriate choice. And even more importantly, once you enter the doing phase, there is no more distraction. Everything is focused on completing the task at hand. Maybe this results in more clicks overall, maybe it doesn’t. That’s not important, though. What’s important is that the next action to take is as obvious as possible.

This approach is in direct contrast with progressive disclosure. Instead of starting with a few options, and opening up to more options as you go, you start with many options (which is essential in a complex UI like an admin console), and provide fewer options as you go. Perhaps we can call it regressive disclosure? I don’t know, I’m bad at naming things.

How is this thinking manifesting itself in my current project? Well, instead of providing a traditional navigation—however well thought out it might be—I’m leaning towards a design that is much more linear, and provides fewer choices as the user goes along. I’m also working on a full-screen design for the doing phase, where the rest of the IA disappears completely once you move on from finding. As an added bonus, this is a much more natural design on mobile is well, so it’s going to make our responsive efforts easier as well.

There’s still a long way to go, but at least I now feel like the framework is solid. Hopefully you can use this for something you’re working on as well!

How to improve Enterprise UX

A couple of weeks ago I did a talk on Enterprise UX at UX Burlington. You can now read a written version of the talk on A List Apart. From Unsuck the Enterprise:

So if you’re someone who works in enterprise software, come a bit closer—I need to tell you something…

I know the work can be difficult. I know there are an infinite number of factors involved in getting product live, and sometimes what gets launched isn’t what you had in mind. I know there are sleepless nights about this sometimes. But don’t give up. Don’t think that enterprise design has to be boring or tasteless. With a little bit of effort and a lot of tenacity, it’s possible to create great enterprise product. We need you to make it happen, though. Who else is going to do it?

Or if you have 20 minutes to spare, the video for the talk is also now available on Vimeo:

Feature prioritization with remote teams using Mural.ly and the Kano model

As if feature prioritization isn’t hard enough, many companies are starting to introduce another tricky variable into the mix: remote teams. If you’re a product manager who spends a lot of time on video calls with team members in different parts of the world, you’ll be forgiven for feeling like involving the team in prioritization is too much to deal with. But don’t give up on the dream yet. One of the teams on a project I’m working on is very much distributed, and I think we may have found a reasonably painless way to do prioritization together.

Here are the ingredients you’ll need:

Let’s discuss the recipe in detail…

On Mural.ly

Mural.ly is virtual whiteboard software. Before you scream “BLASPHEMY!”, I want to assure you that I still enjoy physical sticky notes as much as the next person. Nothing compares to the feeling of ripping a bad idea off the board and rage-throwing it into the closest trash can1. That said, physical sticky notes have two major drawbacks:

  • It’s hard to get remote teams involved in the process.
  • Transcribing them is such a chore.2

And that’s where Mural.ly comes in. It lets you create virtual sticky notes on a whiteboard, move them around, change their color, and best of all: the whole team can play along. You can do voting sessions, multiple people can edit at the same time, etc. This tool has really done wonders for our collaboration efforts across offices.

On the Kano model

The Kano model isn’t new, and it’s been fairly widely used in software product development for a while. Developed in the 1980s by Professor Noriaki Kano for the Japanese automotive industry, the model is a helpful method to prioritise product features by plotting them on the following 2-dimensional scale:

  • How well a particular user need is being fulfilled by a feature
  • What level of satisfaction the feature will give users

The model is generally used to classify features into three groups:

  • Excitement generators. Delightful, unexpected features that make a product both useful and usable.
  • Performance payoffs. Features that continue to increase satisfaction as improvements are made.
  • Basic expectations. Features that users expect as a given — if these aren’t available in a product, you’re in trouble.

Here is a visual representation of the Kano model:

So, as we started our prioritization exercise, I drew the x and y axes on a new mural. We then listed out all the features that we’re thinking about for the next few months—one feature per sticky note. We proceeded to go through each sticky note, and discuss where it fits on the Kano model—how far are we in meeting the need currently, and how satisfied do we believe users will be once we’ve met the need better?

We ended up with something like this:

(Yes, it’s small—unfortunately I can’t show the feature details. Maybe once they’re live…)

This now becomes a great tool for prioritization and release planning. There are couple of rules of thumb I like to stick to when doing sprint/release planning:

  • Make sure there is a balance between the 3 different types of features. Don’t overemphasize one type over the other.
  • Start with the features with the biggest upside. For Basic expectations, that means features on the far left, where a little work would result in a big increase in satisfaction. For Excitement generators that shifts to features closer to the y-axis, since the real benefits start to kick in exponentially once you go the extra mile on fulfilling the need. For Performance payoff features the story is a little less clear since the relationship is linear, but I would still argue for starting on the far left. The sooner you can get users on the “satisfied” side of the scale, the better.

We’re still learning our way through this, but so far I’m happy with the process. It’s a model that everyone understands and can rally around, and with Mural.ly at our side we get to involve the whole team. I believe marketers call that a win-win.


  1. Why do rage-throws always miss the basket? Such a let-down. 

  2. Funny how you never see photos of the lone product designer sitting in a room, tearfully writing down every sticky note in an Evernote document as everyone else leaves the room high-fiving each other. 

Don’t sell features, sell outcomes

I don’t want Yelp; I want to know where to eat. I don’t care about Google Calendar; I care about not missing appointments. I don’t buy iPhones; I buy best-in-class pictures of my kids. I’m loyal only to results, and I suspect you are, too.

— From John Pavlus’s Apple and Google Race to See Who Can Kill the App First, a good reminder that users care about outcomes, not features

A little friction can be a good thing

Chris Palmieri’s A Practice of Ethics gets a bit rambly at times, but I really like the questions he wants designers to ask themselves. This bit on friction is particularly good:

Some friction is borne of our simple incompetence. This friction leads to the potholes of user experience — hidden data entry requirements, inscrutable error messages, long page loading times. Some friction is borne of greed, such as the tedious impedance of user abandonment. “Are you sure?” Yes, I’m sure.

But some friction is borne of respect, when we present information about the choices available to users and help them make better decisions. An emailed invoice could remind a customer they were paying for a service they no longer use. A checkbox could assure a user of their current content privacy settings before posting a sensitive photo. Recognition of a past purchase can save a customer the hassle of having to return a book they already have, or confirm that they are re-buying exactly the same shampoo.

It reminds me of Andrew Grimes’s excellent Meta-Moments: Thoughtfulness by Design:

Meta-moments can provide us with space to interpret, understand, and add meaning to our experiences. A little friction in our flow is all we need. A roadblock must be overcome. A speed bump must be negotiated. A diversion must be navigated. Each of these cases involves our attention in a thoughtful way. Our level of engagement deepens. We have an experience we can remember.

Not all friction is bad…

Advice for people who thought flying was fun and then realized how awful it is

I really enjoyed Craig Mod’s How to survive air travel and Cennydd Bowles’s Advice for people who aren’t exactly afraid of flying but aren’t exactly unafraid of flying either. That said, I don’t agree with all their points, so I thought I’d keep this thing going by writing about my own self-imposed list of travel rules. If you learn one thing from all these lists, let it be this: people who spend time on airplanes think about being on airplanes a lot.

In my opinion the main ingredient to a reasonably bearable flying experience is to spend as little time in the airport and on the plane as possible. Anything you can do to minimize the time you spend getting from origin to destination will have a direct effect on keeping your rage levels under control. So that’s the lens through which my advice should be seen. It’s all about minimizing the pain.

So, here we go.

If you travel in the US, sign up for TSA Pre. It costs $80, it lasts 5 years, and it lets you get through security without removing any clothes or laptops. The line is also always shorter than the general security line, so it rarely takes more than 5 minutes to get through.

Set an alarm to remind you when it’s time to check in online. That way you can usually get a reasonable seat (more on seats later), and you can avoid lines at the airport (more on that later, too).

Never check luggage. If you have a long trip and don’t think you can fit everything into a carry-on bag, make a plan. Go to a laundromat half-way through the trip. Wash clothes in the shower. Just do whatever it takes to avoid standing in check-in lines. Remove the ability for an airline to lose your bag or make you miss a connection. Don’t wait 30 mins at baggage claim when you could have been at your destination already. People who check their luggage is where the phrase “sometimes bad things happen to good people” comes from. I use a Tumi Alpha 2 International Expandable Carry-On and I really like it.

There is one big area where I diverge from Craig and Cennydd’s advice. They tell you to get to the airport way early. I’m telling you to get there dangerously close to your flight. I aim to be at the airport 45 minutes before the flight leaves. That gives me just enough time to get through security and walk up to the gate without standing in any lines (remember: you’re checked in already and you have TSA Pre). This is a dangerous art, but worth pursuing. The holy grail is getting out of the cab and walking straight on to your plane without having to stop or run once.

Bring your own food. Airport shops always have lines, and airplane food is gross.

Choose an aisle seat, always. As far to the front as possible, always. The photos you get from the window seat will get you over the “20 likes” barrier on Instagram, but it’s not worth it when you have to go to the bathroom and the person next to you has their 17″ Dell laptop open and is working on an intricate Excel spreadsheet. Also, aisle seats get you out of the plane faster.

Noise-canceling headphones are more magical than they appear. It’s amazing how the lack of constant droning in your ears helps to reduce fatigue. I like the Bose QuietComfort 20i headphones because they have a button you can push that lets you hear announcements/flight attendants without removing the headphones.

And finally, the most important piece of advice I can give you: If at all possible, avoid flying altogether.

When explosive growth hurts a product

I’m seeing this sentiment about Slack quite a bit these days:

This is such an interesting side effect of being successful. Slack is an amazing product, and the way they’re building it is nothing short of remarkable. From their launch strategy to the way they keep innovating, it’s a wonderful case study.

But now something else is happening. Slack is so successful that public groups have exploded, and it’s not uncommon for people to switch between 5 or more Slack accounts during any given day. I think we’re now learning that the thing that makes Slack so useful also requires it to remain a relatively small part of one’s workday.

Slack is a great communication tool, with integrations that make it possible to reduce the amount of time spent on other services. But once you have multiple accounts and multiple rooms to contend with every day, it has the potential to become worse than that technology we all love to hate—email. At least with email there’s an assumption of asynchronous communication. With Slack there’s always an expectation to get an answer immediately, so the stress it induces can really skyrocket out of control.

What a predicament. This is a product that is incredibly useful, but that needs a relative measure of quietness to remain so. This means that explosive growth actually hurts its utility. What an interesting design problem to solve…

Elezea Newsletter 31: Authenticity, grammar heroes, the web, streaming music, texting & driving

If you’d like to receive these updates in your email, you can subscribe to the newsletter here.

My friend Gio tells me he liked the tone of the last newsletter. Sure, it’s a sample of one, but I like writing how I talk, so I guess I’ll keep going—until I get a request to be a little more “corporate”, in which case I’ll start using words like “engagement” and “take it offline”. I refuse to use “ask” as a noun, though. One has to draw the line somewhere.


Anyway, the quote I can’t get out of my head this week is from Madeline Ashby’s No one cares about your jetpack — an article about the relative box office failure of the movie Tomorrowland. The whole thing is good, but this paragraph stands out:

In the end, the lacklustre performance of Tomorrowland at the box office has nothing to do with whether optimism is alive or dead. It has to do with changing demographics among moviegoers who know how to spot an Ayn Rand bedtime story when they see one. There are whole generations of moviegoers for whom jetpacks don’t mean shit, whose first memories of NASA are the Challenger disaster. And you know what? Those same generations believe in driverless cars, solar energy, smart cities, AR contacts, and vat-grown meat. They saw the election of America’s first black president, and they witnessed a wave of violence against young black men. They don’t want the depiction of an “optimistic” future. They want a future where their concerns are taken seriously and humanely, with compassion and intelligence and validation. And that’s way harder than optimism.

I’ve felt for a long time that what people (I agree with Rebecca Onion that we need to ditch generational labels) now crave the most is authenticity. We’ve learned how to see through most flavors of BS, and we are drawn to people situations that don’t try to dress things up to hide the truth. In short, we prefer “I made a mistake” to “Mistakes were made”.


I love What exactly are our rules comprised of?, a story in The Economist about a guy who believes his grammatical mission in life is to remove every Wikipedia instance of the phrase “comprised of” that he can find. And then there’s the guy who doesn’t believe in the past perfect tense. We should all have this much conviction about something in our lives.


In The Web of Alexandria (follow-up), Bret Victor continues a very interesting discussion about the role of the web to both preserve knowledge (the idea of a “common record”) and forget certain things (ephemeral discussions). He draws the following, well-argued conclusion:

[The web] currently has the property that it forgets what must be remembered, and remembers what must be forgotten. It manages to screw up both the sacredness of the common record and the sacredness of private interaction.


Mike Errico looks at the economics of music streaming, and those who try to game the system, in Everything in the Music Industry Has Changed Except the Song Itself. There’s a fascinating story about a band who made $20,000 by releasing an album of silent tracks and convinced their fans to stream it while they slept. It’s a weird new world in this industry.


Here’s an upside down thought. Clive Thompson asks us to consider that maybe when people text and drive, the most important of the two activities isn’t the driving, it’s the texting. So maybe we shouldn’t stop people from texting, but rather look for ways to get them to stop driving. Park the Car, Take the Bus is a very intriguing take on this topic.


And finally, in honor of Google I/O this week, I’ll leave you with this:

Happy weekend, everyone!

More

  1. 1
  2. ...
  3. 73
  4. 74
  5. 75
  6. 76
  7. 77
  8. ...
  9. 201