I'm trying to improve this form to make it a little more user friendly.
The main area I'm trying to improve is the validation process.
Right now, the form gets filled out on index page
/, and the user is re-directed by the server to a
/validate page. To improve the experience, the email or phone number is shown to the user so they can see whether they entered it correctly. (though rarely, it does happen)
I'm considering adding this change, but there's a bit of work required to facilitate, so I"d like to get feedback before I go ahead with it.
I'd like to give the user an option to update their information in the validation page, with the choice of resending validation by email or phone, with a 10 second timer. The timer would serve as a buffer to let a message arrive before user hits re-send because they haven't received the message by then. I find emails sometimes take almost a minute to arrive, and I haven't done enough test to get an idea of reasonable latency, but they seem to arrive within 10 seconds.
The second part of this is structuring the URLs and browser redirection.
- the form is on the
- form action points to self, but with POST header
- POST handler
- renders self
indexon failure with form filled out and error messages shown
- redirects to
validateon success with thank you message and contact info
- renders self
The problem currently is that there is no way for the person to get to the validation page other than knowing the url. If the user closes the window, the information (or reference to the form) is lost also. Other than the link that is sent to the users email, the user would not be able to get to the page. Is this acceptable? is there a better way to handle this?
I should mention that this is not to create an account but part of a lead generation website, where this contact information and it's validity is needed. A certain amount of pain is helpful IMHO to separate the interested parties from bots and tire-kickers. By pain I mean the added nuisance of validating, not dealing with an un-intuitive or confusing interface or process.