Wednesday, November 28, 2007

Bad form


Yesterday, I was filling-out an application form on the E*TRADE web site.

So here I go, entering my information in a traditional wizard-like workflow, with page reloads et al. When I get to the end of it (about six or seven pages total), I figure I would check if I could amend my mailing address on page two. So I carefully press the "Previous" button of the wizard, until I reach the page. So far so good, my information is still there (even though it turns out I can't change this particular bit). This is the beginning of the trouble:

  • First issue: there is no way to complete the workflow from page two, even though I have completed all parts of the wizard. I have to press the "Next" button again and go through the remaining pages all the way to the end.

  • Second issue: as I am doing so, part of the information I had just entered is not restored at all. It had displayed just fine as I was navigating back in the wizard, but now that I am navigating forward, it is missing and I have to re-enter it!

  • Third issue: finally getting to the end of the wizard again, I complete my workflow and reach a summary page. That page has buttons to edit particular parts of the information. I click on one of those as a last attempt to change my mailing address. This takes me to page two again, just to find out that no, I really can't change it. This time, there is no way to just go back to the summary page. I have to go forward in the wizard again. And as I do so... guess what: the information that was missing during my first attempt is missing again. So there I go, filling-out bits of information a third time.

Now you can easily imagine how the software got to be so buggy: written with software tools not particularly designed to handle forms, developers had to write by hand things such as "when the user goes to page two from page three, restore such and such information from the session". Somebody forgot to write the code that restores a particular piece of data, and lousy QA missed it. (Needless to say, there were not many usability tests on this wizard either.)

Now imagine the next version of this form if E*TRADE developers decide to use XForms and Orbeon Forms instead:

  • The information gathered by the wizard is constantly kept in one or several XForms instances. The XForms engine takes care of keeping this around and not losing it.

  • It is easy to check whether all the required information is entered correctly at any point in the wizard. This allows you to exit the workflow to the summary page from anywhere after you have amended information.

  • You can easily provide multiple views of the same information, including the editable wizard view, and the read-only summary view: they both share the same underlying XML data representation.

  • The wizard is automatically Ajax-enabled, with as-you-type validation, providing a much more pleasant user experience.

And of course, users are much happier because they enter their information once, not three times.

No comments:

Post a Comment