Jeffrey Veen

Be Less Specific

Take the stairs in a building with a basement, and you'll likely notice a gate in the stairwell when you reach the ground floor. This is called a "forcing function" -- a physical impediment to jolt users out of their routine and ensure appropriate behavior. In this case, the relatively infrequent annoyance of opening the gate is offset by keeping panicked people out of the basement when the building is on fire. An extreme example, sure, but there are lessons to be learned for interface in digital products. Often, we can and should constrain user behavior to not just help them avoid errors, but make errors impossible.

Take, for example, the preferences interface in my online email reader. I've been given the chance to show an arbitrary number of messages on each page. Since it's Web based, I find it tedious to page through the email listings, so I requested 200 messages per page. Here's what the system told me:

A dialog box scolding me for typing the wrong thing


If the system can't accept anything greater than a value of 100, then why am I able to type a number bigger than that? But more to the point, why do I have to type a number in the first place? Is it really that important to be able to specify that I want 83 messages per screen to be displayed?

A better choice would have been a drop-down menu with the options "10, 20, 50, 100." I neither want nor need any finer grained control over this option. A drop-down would constrain my options in a way that eliminates the need for an error condition.

As a UI designer, I would argue that even if a small percentage of my users did want more control, I should probably ignore them. And that's just another way of saying that superfluous power may sometimes have to submit to overall simplicity.


This entry was written by Jeffrey Veen and posted 9 November 2004 at 10:32 AM. It was filed under Web Design.

Comments
1. On 9 November 2004 at 11:10 AM Charles Martin wrote:

Not only does the interface you use as an example create much more work (i.e., javascript validation), but it was probably assumed to be the lazy way out since the developer didn't have to create this dropdown and then determine the best options to place in the list.

However, had the individual been able to do the dropdown, the complexity of the page drops and the user is not left having to "guess" what would be the best choice. In fact, some users probably shouldn't be able to select 100 posts when they have no consideration for other dial-up users who may go to their site.

If it is much like what I've been through at various companies, the decision was taken away from the developer and given to someone else who decided that the input box would be much more open to users giving them the feeling of "being in control". Again, that falls flat for the user who enters 200 and finds out that there are limits after all.

2. On 9 November 2004 at 12:51 PM ptaber wrote:

Interesting. I agree that you should have been given guidance that it wanted a number between 1 and 100. But extending it to say that a UI designer should make the users' choices for them is not so hot. Why would I want 83 messages per page? What's it to you?

Personally, I'd have made the field numeric-only and two characters wide.

3. On 9 November 2004 at 2:02 PM Charles Martin wrote:

ptaber, your suggestion of "numeric-only and two characters wide" would definitely work in this scenario, however, should the limit be 200, then the field would have to allow 3 characters and the validation becomes necessary because of the possibility of entering 300 in the three digit field.

Also though, I do see the point of giving the user some flexibility (after all, 83 messages may be exactly what their screen resolution best displays). Mostly, it would depend on the particular application and what is being defined by the user and what would be acceptable values in the eyes of the user and the developer.

It's like the same argument over having two fields for the time (one hour field and one minute field). Do you put in dropdowns for the values (including one that goes from 00 to 59 for the minutes), or limit the dropdowns to specific values (00, 15, 30 and 45), or do you leave them as 2-character numeric fields that you then have to validate? After all, two input fields is less html work, but more validation work, while two dropdowns is the reverse.

4. On 9 November 2004 at 3:05 PM mkohpotts wrote:

Strangely, I recently had this same problem in a web-based survey I participated in. It asked me how many blogs I read and ... well, considering my RSS feed, I added them all up and entered the number only to find I needed to enter a number lower than 100. I guess they didn't REALLY want to know how many blogs I read on a regular basis. I'm not sure why they bothered to limit it either. It's not like there's technical constraint for that kind of information. Are they trying to prevent liars from saying they read thousands? Instead they're skewing their numbers artificially downwards because I was forced to enter a number much lower than my actual total. They could have at least had the dropdown (as you say) with ranges, and the top range 100+.

5. On 9 November 2004 at 3:50 PM nadav wrote:

I think the main point here is that all interface design (all design!) involves making trade offs. If you use a pulldown as Jeff suggests then the user has less precise control. But she gains a much simpler interaction and less cognitive effort. So, as always, the designer's job is to make the decision. In this case, I agree with Jeff that the added ease of use is of greater benefit than the lost precision.

6. On 10 November 2004 at 8:10 AM Aristotle wrote:

I don't think either way works very well. The validation error message box is an abominable feedback mechanism, but limiting choices is not a solution either — at best, a workaround. I don't believe you can only have a constrained or a powerful interface at the expense of one another.

The ideal interface here would of course be a spinbutton. Unfortunately, we don't have that in HTML… so what I'd do is inform the user of the limits up front by saying 1 - 100 next to the input box, and if they enter a greater number anyway, I'd have the Javascript change it to 100 and set the input's font colour to red. That way, the user is not likely to make a mistake up front, and if he does, he will get the exact same feedback in a much less obtrusive way.

Popups are usually the wrong way to handle input errors. Simple [Ok] messageboxes are in fact a faux-pas for just about any occasion whatsoever. They're a sign of a lazy programmer with no clue about interface design.

7. On 10 November 2004 at 1:30 PM genghis wrote:

It wants radio buttons, and it wants the last of them to be marked 'All'.

Clearly whoever decided to put a numeric limit on the number of messages never had to clear a bunch of spam out with her/his webmail client.

Oh, and by the way - careful with the criticisms there, Jeff, while running a blog which

a) Requires me to give you an email address when commenting, yet also

b) Neglects to mention it.


*Spookily* similar mistake to the one written about, in fact :-)

8. On 10 November 2004 at 5:35 PM Bryan Haggerty wrote:

I agree with Jeff's idea of providing the user with a pre-defined set of options because for many users the default setting will probably be sufficient and I bet that if we tested this option we would see that many people will probably choose an interval such as 10, 20, 50, or 100 as opposed to an arbitrary number such as 83.

I am at least happy that the javascript alert does provide the user with a range which is acceptable. There have been too many times when a message only states "Your entry is out of bounds please enter a new value".

9. On 10 November 2004 at 8:56 PM Mike Monteiro wrote:

I am also annoyed that a "designer" made a decision that made spedometer should only show mph in increments of 5. I want to KNOW when I'm going 87. Please tell spedometer designers to start showing ALL the miles. Sigh.

As usual, Jeff is right. Design is about making decisions. Sometimes the decision is about where to limit choices. Simplification of single elements helps to make the whole more understandable.

10. On 11 November 2004 at 12:50 PM Jep Castelein wrote:

It seems that everybody agrees that a UI designer should find a smart compromise between the level of control given to the user, and simplicity.

What always surprises me is that the current HTML standard gives so few options. The lack of a spinbutton is already mentioned; For the problem above I was immediately thinking of a slider with range 0-100 and steps of 5. But they're ain't no such thing in HTML...

WHAT WG (http://www.whatwg.org) is doing an interesting job though, with their Web Forms 2.0 spec pushed by Opera, Mozilla and Apple. I'm looking forward to implementations.

11. On 12 November 2004 at 8:28 PM duncan wrote:

I would agrue that the best interface/widget to control a slider, that went from say 5 to 100. Mark it at the edges with the extreme values, and maybe have a number which displays the exact value of the current position of the slider.

This approach would have several advantages:
1) You can't enter values that are too high/low.

2) You can move it to precise points if the user needs/wants it (ie, if someone wants to only show 17 messages, since that's what will fit without a scroll on thier screen, then they can do that).

and:
3) It's easy, intuitive, and fun.

I've only ever seen this implemented in one place on the web, which uses a javascript (?) http://www.whattorent.com/

12. On 17 November 2004 at 1:28 PM Richard wrote:

An additional advantage of slider bars is their non-linearity. They can be set up in a decibel type format to cover a large range in a small area.

13. On 26 November 2004 at 3:34 AM Roy Schestowitz wrote:

It would have made much more sense to contrain the field to 2 characters (digits, preferably) in length, 99 being the maximum.

Currently:

() More...

About Me

Bio: Jeffrey Veen
Book: "The Art & Science of Web Design"
Book: "HotWired Style: Principles For Building Smart Web Sites"
Work: My LinkedIn Profile
Travel: China, Tuscany, Kayaking in Baja, Touring Costa Rica, Studying Theater in London

Popular Posts

» Making a Better Open Source CMS
» Seven Steps to Better Presentations
» A Contrast in Urban Design
» IA Jargon Watch
» On Writing Short
» Pain and Cycling

Recent Photos


XML Feeds

This XML Button links to a feed you can subscribe to. Subscribe to my site
Click the link above to be notified automatically every time I add a new post.

Creative Commons License