Posted
Posted 2/7/2010 7:46:35 PM
Several months ago, I called my bank to complain about an issue I had with their website. It's a minor issue that goes like this:
When you first navigate to the website, keyboard focus goes to the Username textbox. That is to say, a Javascript script runs that moves keyboard focus to that textbox. The downside to that is, some users (i.e. me) are so fast that by the time the page finishes loading, we've clicked the username textbox, filled it in, hit TAB, and started typing in the password. This introduces a race condition whereas the user is racing against the page load complete event.
The page finishes loading sometime while the password is being entered and Javascript pops keyboard focus back to the Username textbox while the user is in the middle of typing their password. Thusly part of the password ends up in the Username textbox, which is not masked. This is a security issue, but moreover it's downright annoying as the user now has to retype both text values.
So I called them up and offered a simple solution: Check to ensure the Password textbox is not currently focused prior to changing keyboard focus to the Username textbox.
Months later, looks like they fixed the issue - just not the way I intended. I load up the website and keyboard focus goes straight to the username textbox, prior to the page load finishing. I guess they changed the script to run when the textbox loads instead of when the page finishes loading. Good enough for me.
I suppose it's possible that my internet connection is simply faster at my new apartment, though speed tests indicate otherwise. Another possibility is that the bank upgraded or fixed a performance problem, thus the script ran faster than I could click on the username textbox. Honestly I'm too lazy to check. Either way, they fixed the problem.
The lesson: Complaining gets things done.