We've got to do better

It's 2012 and setting up online accounts for things like credit cards, bank accounts and paying bills is still far too difficult. I spent last night helping my dad get set up with online accounts, and even for an average internet user like him, the process was horrific.

I was appauled at the number of ways web designers and developers continually make simple online tasks much harder than they should be.

It seems that few designers, developers and project managers of large web applications actually factor in how people actually use the internet.

Here are a few of the gaffes I discovered last night.

    Password Requirements

    Each site had different password requirements. Some sites required a special character like # or !, but other sites refused to accept such characters. Usually it isn't without trial and error that you realize this.

    (I've written ranted about password requirements before. I'm sure we're all in agreement that they should largely be abolished.)

    "Cancel Registration" Button? Seriously?

    Edison's registration form provided a "Cancel Registration" button their signup form, with equal size and weight as the "Submit Registration" button. I thought we all agreed this was a bad idea back in the days of the now-largely erradicated "Reset Form" button.

    Javascript Validation Gone Bad

    Another form didn't work with Chrome's autofill feature. It required the user to enter a 10-digit phone number (across three fields, of course). At the end of typing the last group of numbers, a second set of inputs appeared, requiring the user to re-enter the phone number to confirm accuracy.

    But because my dad used Chrome's auto-fill feature to enter the whole phone number automatically, it failed to trigger the javascript to show the second set of fields. This resulted in an error message telling him, "You forgot to enter a phone number" even though he already had.

    Making Answers to Challenge Questions Case-Sensitive

    This is always a bad idea. You might be surprised at how many people type things into fields in lowercase. But if you're asked to re-enter that info later (especially a proper noun)? You might capitalize it.

    "Enter Your Name as it Appears"

    Asking for bank account info, one form said to "Enter your name as it appears on your check." The name on my dad's check had his middle initial listed, followed by a period. He submitted the form and received an error message telling him periods weren't allowed.

    "If you created an account before August 18, 2005..."

    Do I even need to explain why this shouldn't even be on a REGISTER page?

    •  •  •

    Seriously, do we not even test what we build?

      My point: We've got to stop doing this. Even in 2012, we are still making web applications that still make basic tasks pretty painful. Quite frankly, it's embarassing.

      We've got to stop building for ourselves.

      As designers and developers, we sometimes get stuck in this false assumption that everyone uses the internet the same way we do. But we're in the minority.

      The next time you're building a form or creating a flow for a signup process, think through some of the issues that might come up as a result of your design.

      Watch a few people use your app. You'll be surprised at some of the things you'll see when looking through someone else's eyes.

      And the biggest point: Don't be lazy. That quick and dirty javascript validation you wrote? More people are going to be negatively affected by it than you think. Don't want to take the time to write helpers for each input field? A little clarification might save users a lot of headache.

      If you're interested in the topic of user experience and making things simple and easy for users, you should check out the book Don't Make Me Think by Steve Krug. It's a great introduction into avoiding a lot of basic usability problems that people still encounter every day.