This weekend, my wife and I worked on I'm See You and Bridal Obsessions.
I was busy getting our public event model going while she was busy on the registration process in Bridal Obsessions.
It was at this point, the point after she had gotten the site to send the validation email (after registration), that she started getting frustrated with the amount of usability work she actually had left to do.
You see, when you write down a task that says "Create Registration Process for Bridal Obsessions" and you think about what it involves, you very rarely think that there is much 'usability' work to do around it. I mean, surely you just capture the users details and send them a validation email and that's it right? WRONG!
You see there's a whole 'workflow' that goes around a simple registration process that may go something like this:
- User enters details and clicks 'Register'
- Save user details
- Generate validation key
- Email the validation key to the user
- User opens email
- User clicks on link in email to validate
- Link redirects user to a page that accepts the email address and the validation key
- System validates this key against email and approves/declines user
- Log user in if validation key and email match
Now besides these 'basic' steps there's a whole bunch of new questions that you must ask yourself to close this 'loop' off.
- What happens if the email never reaches the user?
- What happens if the user registers again when the email doesn't arrive
- What happens if the email goes into the users spam folder? How will you validate them then?
- What happens if the email address doesn't exist?
- Do you trace if the user has been to your site before and store their email address in a cookie, then check if they have validated and prompt them etc.
Answering these kinds of questions will force you to think from a user perspective and cover a lot more angles that you would initially have. Just imagine you were the one registering and you didn't get that email. Wouldn't you want an opportunity to have that validation email resent? What happens if you didn't get the validation email and you register again thinking it will resend it? What would you expect the system to do?
Now if you are doing this work for a client, these are the kinds of questions you must ask them to put some perspective in their heads around "Why the registration process will take 4 days and not 1?". It will also 'close the loop' around your 'Registration' task.
Remember: Don't underestimate the time you need on a task. Walk through the entire process you are about to code in detail and in your head, write down these steps as you go, you might just save yourself a lot of pain and prevent project burn in the end.