Charles Engelke's Blog

December 2, 2003

Too smart for their own good

Filed under: Web Development — Charles Engelke @ 9:47 pm

It’s not rare for a website to be hard to use. Website development
is pretty difficult, and making it work well is a pretty tough
assignment. But sometimes very smart website developers work very hard
using difficult technology to produce a site that’s just awful to use.
If the developers had just been a bit lazier, or a bit less sophisticated,
the site would be much better.

The on-line shop for The Hunger
Site
is an example of this. I was browsing the Jewelry section for
gift ideas, and had a very strange and frustrating shopping experience.

I can’t give you a URL directly to the Jewelry section because when
I try to return to a page I’m always taken directly to the shop’s
home page. From there, click on
the link for “The Hunger Site Store”, then click on the link for
“Jewelry”.

I like to browse through the items available, but this is just “page
1 of 13”. That’s a lot of browsing. But the page lets you see up to
72 items per page, so I clicked that link. Now the page is “page 1 of
3”. That’s a lot better.

I use Mozilla
Firebird
, which supports tabbed browsing. When I have to scan several
pages of items like this, I tend to “control-click” the links to first
open each page in a separate tab, then “control-click” on any items I’m
interested in to open each of them in a separate tab. Then I switch
between tabs, closing any that I decide I’m not interested in. Pretty soon
I’m down to a small number of items that I might want to buy.

If you try that on this page (or open separate windows for each page
if your browser doesn’t support tabs), something very odd happens. When
you click on an item to see its details, the resulting page is for a
different item. Well, usually. Sometimes it’s for the right
item.

I finally figured out what was happening. The web server was remembering
every page I had opened. Whenever I clicked on a specific item, the
web server seemed to return the details of the item in that position
on the most recently opened catalog page. If I tried to look at the
first item on page 1, I actually got the first item on page 3.

This is annoying and stupid behavior. It must have taken a lot of
work for the server to remember my prior clicks so that it could fetch
the item from the most recently opened page. It would have been a lot
easier, and worked a lot better, if each item just had a link with a
catalog number for that item. That way, the web server wouldn’t have
had to remember anything about me, and I could have browsed through the
pages however I wanted.

I suspect that this behavior resulted from the programmers’ desire
to control the user’s session. But an interesting and valuable
characteristic of most web applications is that the user remains in
control of navigation, entry points, and sequence of operations. And
users like that. Web programmers have to let go of their natural desire for
total
control
, and put the user in control.

Based on the page URLs it seems that this site uses WebObjects, a
fairly expensive and very sophisticated web platform. I can see why
they needed it; a simpler platform would have been so limiting that they
might have had to design the site to behave in a sensible way!

Advertisements

Blog at WordPress.com.

%d bloggers like this: