Design & UX
Article
By Wyatt Barnett

Autopostback + Checkboxen=Dumb

By Wyatt Barnett

So. I am currently considering upgrading my cell phone, and my provider is Cellular One (err Bell Atlantic . . . err . . . Cingular . . . err . . . AT&T . . . err Cingular . . . err . . .AT&T). Conveniently, Cingular’s website allows one to search for phones and devices. It even has this cute little checkbox search interface:

Cinglar's Check Box Based Search

Note the lack of a button to fire off the filtering process. And why is it missing, you ask? Well, because you don’t need a button when you setup your checkboxen to post back your form! This sounds like a neat idea, and probably worked great on the developer’s local machine, and possibly even in the lab running on an isolated network. And I bet it worked lickety split for the dev team’s demo to senior management.

--ADVERTISEMENT--

In any case, whatever the devs where thinking, this trick fails miserably in production. When running over the public internet, especially on this not particularly fast laptop on a spotty wireless signal, it breaks expected behavior of checkboxen. This expected behavior is that checking and unchecking does not cause a page action. The actual behavior is quite different, especially when one tries to check multiple boxes in rapid succession.

For example, I am looking for a slider or a bar phone. So I check slider. This starts the postback process. But, because of the nature of HTTP communications from this particular bit of earth, it takes half a second for the page to begin to refresh. In that time period I have also checked the ‘bar’ box. Unfortunately, I am just receiving the page I requested when I checked the ‘slider’ box. So, I get a page filtered for ‘slider’ phones and my ‘bar’ choice was apparently ignored due to postback effects.

Now, this example is a minor annoyance. But there are some important lessons to be learned here:

  1. Don’t make controls trigger behavior that is outside of norms—checking a box should not directly trigger any action.
  2. Testing your public user interface in multiple browsers is a no-brainer. But remember to check it using some older machines and probably more importantly over slow and/or unresponsive connections.

Notes and Disclaimers:

  1. Yes, I am aware that Cingular’s site is apparently a Java application. But the back-end here is immaterial—the whole point is UI behavior.
  2. Somehow I cannot find a phone that fits my requirements. I need a non-flipping phone with Bluetooth, a camera, 3g capabilities that is either a nokia or charges off USB that is not a Motorolla. Somehow the combination of those features cannot be found as of yet. If you have a lead on such a phone, do let me know.
Recommended
Sponsors
The most important and interesting stories in tech. Straight to your inbox, daily. Get Versioning.
Login or Create Account to Comment
Login Create Account