views:

225

answers:

11

What I can think of is pre-populating certain form input elements based on the user's geographical information.

What are other ways can you think of to speed up user input on long application forms?

Or at least keep them focus on completing the application form?

A: 

use Ajax to populate and update the controls asynchronously.It will speedup the filling of long application forms.

No amount of AJAX can encourage a user to complete a particularly badly designed form.
Jon Limjap
Very good point.
Jack
+2  A: 

Creating a multi-step wizard offering only a small number of input fields per step. Ensure that they are aware of how far they have progressed in the sequence.

The psychology is that once a user is 'invested' in a task, they are more likely to continue. If you present the whole list of input fields at once, you scare them off.

Offering musings at each step (cartoon, humor, sayings etc) makes them move to the next step out of curiosity.

Jack
"Task investment" might work, but there's also the risk of the user feeling that continuing with the task might not be worth it, so that's a risk.
Jon Limjap
Thus my point about playing on their curiosity to mitigate that risk.
Jack
+2  A: 

Users won't mind filling in long forms if and only if they feel that the questions that you ask are important: otherwise they will be discouraged, and become impatient with it.

Remember, in a web application people have very, very short attention spans. When the user starts feeling that you are asking too much, they're usually right.

Keep required information as few as possible: other info should only be optional, and you have to give something in return to the user to compel them to complete that information.

Jon Limjap
A: 
  • Split it up into multiple pages - there's nothing quite so discouraging as seeing that you have another 100 questions to go.
  • Put validation on each input and check it onblur(). If they get to the end of the page and then it says "question #2 was incorrect", chances are they've forgotten what that one was anyway and it'll be more difficult to return to it. Plus, if they answer a series of similar inputs in a particular, incorrect way, you should let them know straight away (eg: entering dates as mm/dd/yyyy when you want dd/mm/yyy)
nickf
A: 

Split the form into several steps. It's like how someone is much more likely to read five 3-sentence paragraphs than one big 15-sentence paragraph of the same length.

yjerem
+7  A: 

If you have a long form, try to prune it down. Don't ask them to fill in fields that you don't really need.

If the form spans several pages, give the user some feedback as to how many more pages there are. We users hate clicking on the continue button wondering if this will be the last page.

Never lose a field that they filled in, no matter what they do. This could have security implications if passwords are involved.

Use dropdowns to provide the user with options unless there are a lot of options that the user would have to scroll through or if the terms in the dropdown aren't widely accepted (e.g. dropdown filled with Systems Engineer, Solution Developer, IT Application... I just want Programmer.).

Provide help for fields that might be hard to fill in (or provide examples).

Tim Stewart
+1 for "prune it down". Seriously. Don't ask lots of questions unless you're a survey company.
Tanktalus
+3  A: 

If it is possible in your case, just collect the bare minimum up front and then allow the user to use the basic features of your service.

For the user to upgrade to a better level of service, they will need to fill in the 2nd form with more detail.

How important it is to you to collect ALL that information up front ? It is worth losing customers by demanding too much from them ? Why not demand it later at a time more convenient to the user.

Adam Pierce
A: 

However you implement it, please please please use some kind of Ajax hearbeat to store their progress server side and repopulate it if it's lost. There is nothing more infuriating to a user that working through a long form and having a browser or network hiccup lose their entire submission.

Whenever it happens to me I generally never give it a second shot, because at that point recreating my submission isn't worth whatever I was signing up for.

Bob Somers
A: 

I agree with tim; just let them fill in the bare minimum information and then leave the rest to profile updates. If any data is necessary for the service offered on your site, ask for it when they try to avail of the service (and no earlier).

That said, I wouldn't advocate the kind of forcing function that adam suggests. It pays to give your users the warm, fuzzy feeling that they are privileged and can use ALL of the services on your site. Although, if you look at it hard enough, adam's and my suggestions are pretty much the same.

dexterous
A: 

If the application needs to include a lot of information, then make sure the user can save at any point, and log off, and log in later to complete the form. This would make more sense if some of the information is not necessarily easily available. Tax returns are an obvious example, where some of the data may need to be calculated, or the user must find the relevant documentation.

In some cases the user might use the same information in multiple applications. In that case it might make sense for the user to register their details (Name, Address, Telephone numbers, etc), which are automatically filled in on each application. For example, if you had a website for a recruitment agency, they may allow users to register their details, and then to apply for a particular job, they can just include a personal statement that applies to that job in particular.

As another consideration, if some information may be incorrect (particular if this is not always clear, such as a CAPTCHA, or a user name that must be unique), either separate it from the rest of the data, or otherwise make it so a mistake doesn't mean the rest of the information must be reentered.

These are basically ways of avoiding the user having to enter the same information twice.

Silverfish
A: 

Checklist:

  1. Explain clearly the purpose of the form. (What's in it for them?)
  2. Prune, prune, prune, and keep questions clearly relevant!
  3. Give the user feedback on his/her progress (if the form is split over multiple pages)
  4. Ask for as little as you can up-front and leave the rest for later.
  5. Clearly mark required fields
  6. Group fields logically.
  7. Keep labels/headings brief and easy to understand.
  8. Prefill as much as possible - but not too much.
  9. Spread super long forms over multiple pages and allow backtracking.
  10. Cleverly placed "Back", "Save" and "Cancel" buttons put people's minds at ease - even when redundant.
  11. Provide friendly (but clear!) validation error messages, in a timely manner.
  12. Allow the user to reclaim half-filled in forms - don't lose their data!
  13. No matter what you do, do not include a reset button. :-)

Finally:

  1. Explicitly tell the user when the process is finished. ("Thank you! Your application has been sent.")
  2. Tell the user what will happen next. ("A confirmation e-mail has been sent to your e-mail address, and we'll process your application within two working days.")
Már Örlygsson