Please don’t build your website with heavy-handed Javascript

Last night my family and I traveled down to St. Cloud, Florida, where we have a nice little town home. Unfortunately, we forgot to put our Sunpass back in the vehicle after loaning it to some family members. This device lets us fly through toll booths without stopping because it automatically makes payments for us. We stopped at a gas station on the Florida Turnpike and bought a Sunpass transponder preloaded with $20.

This afternoon I got online to register it so it would automatically replenish when it dipped down to a certain level, only to be foiled by a horrendous website. I ended up closing my laptop and calling the 1-800 service number.

The website LOOKED nice, but each field was trying to HELP ME. When I would enter my phone number in typical area code/prefix/last 4 digits style, it was setup to automatically tab to the next field when the last digit was entered. Coupling that with my inbuilt habit of hitting the tab key caused me to end up on the wrong field. DON’T HELP ME LIKE THAT! Most websites require uses to either click on the next field, or use the tab key, so why must you hinder me by going against the established norm. Instead, effort would have been much better spent by making sure the tab keys cycled through the proper order of fields.

Part of the registration process includes filling in your name and home address. I entered the street address then hit tab, and thought I was on the state field. I was already using the DOWN arrow key to go through the list, when I realized that wasn’t it. Instead it was for the county. County? Who uses this for personal information? Well, I scanned the list, only to discover it was Florida counties. At the top was “Out of State”. The city/state/zip code field were on the second column, in a non-standard location. PUT YOUR FIELDS IN PRACTICAL LOCATIONS. Address are entered by street address (1 and 2 for apartments), city, state, and zip code. Special stuff like county can come after that. Do this, and your users won’t love you, but at least they won’t hate you for showing your lack of user experience skills.

Another screen required me to enter the serial number of the transponder, and then confirm it. That was a pretty common thing I see. I entered the values, but somehow the second field kept moving the cursor around. I was trying to type a complicated, lengthy number, so I was looking at the keyboard, not the screen. I would like up and see the numbers being entered in the middle, between the first and last digits. Huh? Had I tapped the mouse or something? I started to empty the field and start over, when it seemed to happen repeatedly. Something was screwy, because the MacBook Pro requires a physical ‘click’ of the trackpad, not just a sensory touch like my wife’s netbook. I couldn’t figure it out, but somehow, I think it was trying to help me with yet more heavy-handed Javascript code.

I have seen other websites that do this. The developers on this web page seemed to want to show off their Javascript skills, and frankly, it made them look like amateurs. Go look at something else, like Zimbra, which is really Javascript intense, but doesn’t feel so heavy handed. I used TurboTax web a few years ago when I switched to Linux and couldn’t run the desktop app. It worked…but I could feel the heavy handed Javascript. I guess they were really making sure the data you entered was valid and no pure garbage so you could get your taxes done right. But it had a heavy feeling that was a little distracting. I haven’t used the site for years, but I hope they left that behind.

Go visit something like GMail. They have tons of Javascript in there. When my network connection is off, I can still leave through emails that I already loaded into the browser. And there is the crux of it. GMail works like you think that it should and DOESN’T feel like a web app. The app itself stays out of your way and instead focuses on putting data in your hands. You don’t notice the magic of Javascript running to handle things like keyboard shortcuts. You can write sophisticated Javascript for your site. Just don’t make it heavy handed.

Leave a Reply

Your email address will not be published. Required fields are marked *