Need someone to lead product management at your software company? I build high-craft software and the teams that build it. I'm looking for my next opportunity. Check out my resume and get in touch.

This is the blog of Adam Kalsey. Unusual depth and complexity. Rich, full body with a hint of nutty earthiness.

User Experience

Staples.com: Yeah, we've got problems

Freshness Warning
This blog post is over 21 years old. It's possible that the information you read below isn't current and the links no longer work.

Trying to look up a product from Staples online, I received an error message telling me that I can’t use their site unless I enable cookies in my browser: (emphasis added)

ATTENTION: Your web browser is not currently configured to accept “cookies.”

Cookies are small files that are stored on your PC and that identify you to our site. In order to shop or register on Staples.com, you must be able to accept cookies. Using cookies enables us to make your shopping experience more efficient and pleasant through personalization.

Ouch. I need to take the time to reconfigure my browser so they can make things more efficient and pleasant for me?

Here’s some advice on writing effective error messages and defining sensible software requirements.

Broken Requirements

Mind you, I wasn’t doing anything that requires them to remember me. All I did is enter a term in their search box. It’s obviously possible to show me matching products without requiring me to accept a cookie.

This appears to be a case of a poorly thought-out site design. Because you need the user to accept cookies in order for them to add items to your cart, you might as well put that requirement right up front, right?

The problem is, Staples didn’t think of all the reasons someone might be using their site. Just because I’m searching for products doesn’t mean I intend to buy them immediately. I might be doing product research by evaluating what my options are before I make a purchase. Shopping is a process and not every search will lead to an immediate purchase.

Staples has several shopping channels available. They have stores that I can walk into, a catalog I can browse, a phone number I can call, and a Web site I can visit. It doesn’t occur to them that I might want to use more than one of these channels to make a purchase. I might want to look up pricing and availabilty on the Web site but drive over to the store to complete the sale. By erecting barriers in front of one of their channels, they have effectively eliminated it.

Could you imagine if you were only allowed to call a company’s toll-free number if planned on making a purchase? What if the phone checked to see that you had your wallet with you before an operator would answer the line? That’s silly, but it’s effectively what Staples is doing on their Web site. Don’t have the minimum requirements to place an order? Then we won’t even let you know what products we have.

Staples should allow you to search and view products without requiring the use of cookies. Enhancing the user experience through personalization is a great goal, but not at the expense of a poor or non-existant experience if personalization isn’t available. If the user has cookies enabled, use them and provide a personalized shopping session. If they don’t, give them a stripped down store that allows them to accomplish their tasks.

Writing Effective Error Messages

To make matters worse, there’s nothing about my browser that prevents it from accepting cookies. I use The Proxomitron filtering proxy to strip certain personal information out of cookies to protect my privacy and security. If someone wants to store my email address, name, or credit card numbers in a cookie, my filters will kill the cookie before it ever gets written. But the proxy and my browser will let most cookies pass through.

That means there’s an apparently bug in Staples’ cookie checking mechanism. Whatever system they are using to determine if I can accept cookies is flawed in some way.

But that’s not what the error message says. The message, probably written by a software engineer, assumes that everything on their end is fine and blames the failure on me.

Software shouldn’t blame the user for the problem. Doing so only serves to frustrate and demoralize the user. Even if the fault lies with the user, you should provide gentle hints about the right way to do things without implying that they did something wrong.

Staples tries to provide assistance in enabling cookies, but falls well short of their goal. After the error message is a link that says “For instructions on enabling cookies for several popular browsers, click here.

The link directs the user to a section of their FAQ that explains what cookies are and why you need them to use the Staples site. The FAQ provides instructions for enabling cookies in what Staples apparently considers popular browsers: Internet Explorer 3 and 4 and Netscape 3 and 4, all on Windows.

I’m not privy to their site statistics, but unless they have some rather unique traffic patterns, those browsers aren’t commonly used on their site. The 3.0 versions of IE and Netscape were released in August 1996, and the 4.0 versions were first released in the summer and fall of 1997. According the TheCounter.com, the 4.x versions of each browser accounted for just 1% of Internet traffic in January 2003, and the 3.x versions didn’t generate enough traffic to even register.

Internet Explorer 5 was released in March of 1999. What this tells me is that the Staples cookie FAQ has been ignored by their content management team for the last four years.

The instructions Staples provides for managing your cookies are given for Windows browsers only, although that fact isn’t mentioned in the FAQ. The information is presented as if it were the only way of doing things and users of other platforms such as Macintosh and Linux might be confused by these instructions.

The lesson here is that if your error messages give the user help in troubleshooting the problem, make sure that the troubleshooting guide is up to date. If the guide isn’t comprehensive or only provides instructions for a particular platform or version of your software, be sure to explain that.

Recently Written

Protecting your Product Soul when the Same Product meets New People.
Nov 23: Expand into new markets while preserving your product’s core value. Discover how to adapt and grow without losing your product’s soul.
Building the Next Big Thing: A Framework for Your Second Product
Nov 19: You need a first product sooner than you think. Here's a framework for helping you identify a winner.
A Framework for Scaling product teams
Oct 9: The people, processes, and systems that make up a product organization change radically as you go through the stages of a company. This framework will guide that scaling.
My Networked Webcam Setup
Sep 25: A writeup of my network-powered conference call camera setup.
Roadmap Outcomes, not Features
Sep 4: Drive success by roadmapping the outcomes you'll create instead of the features you'll deliver.
Different roadmaps for different folks
Sep 2: The key to effective roadmapping? Different views for different needs.
Micromanaging and competence
Jul 2: Providing feedback or instruction can be seen as micromanagement unless you provide context.
My productivity operating system
Jun 24: A framework for super-charging productivity on the things that matter.

Older...

What I'm Reading