Today, I'm dealing with forms of all kinds. There are small ones, large ones and then ones capable of making a user cry. It is necessary evil - because it is an application that collects a user's information for his visa/citizenship application.

My concern is, the user might get frustrated, because it looks long with many empty text-fields to fill up, but in reality - it doesn't take much time to complete. So I wanted to display an approximate time taken to fill it on top (given the user has pre-required documents). The fields are auto saved upon each edit.


download bmml source – Wireframes created with Balsamiq Mockups

Any recommendations / improvements / suggestions? I did some diligent googling for similar patterns, no bueno. The only intention here is to inform the user "hey it looks like a tedious task, but trust me - it would only take you X ~ Y minutes to fill".

  • 6
    in line with Roger's answer: to prevent people who take longer than average from feeling stupid, you may show a 3 sigma confidence interval rounded instead, something like "this form takes 3-7 minutes to complete". Or even lie a bit and use the right half of the interval only, but leaving them with the impression that it is the whole, "5-7 minutes". Then people who take less than 5 minutes will feel great because reality was better than their expectations, and people who take longer than 7 minutes will not feel as badly as when knowing that some make it in 3 min. – Rumi P. Jan 27 '14 at 13:07
  • @RumiP - I was going to suggest an 'adjusted range' but a right half rounded 3 sigma confidence interval sounds much better :) – Roger Attrill Jan 27 '14 at 13:18
  • I'd note that, given the high variability in response times that may occur (how many people will leave the form open, or come back multiple times), 3sig may likely reduce user confidence than increase it. – Matt Jan 27 '14 at 14:17
  • 1
    @RumiP. A second order problem we want to consider here is that some users should feel like they're taking too long: the users that need additional help. If I take longer than xx% of users (here, agreed, for OP to decide based on business needs), I should be encouraged to call support and get help. I'm otherwise very likely to quit and not complete the process at all. – Matt Jan 27 '14 at 14:52
  • 1
    I've got the mechanism programmed. I've scheduled a user testing on the prototype (we've got 7 people from computer pros to people who are going to touch a keyboard for the first time). The analytic data is going to determine the sigma. I'll post the results and update the thread when its done. – Rayraegah Jan 28 '14 at 6:42

It's very common on surveys to give some idea of a typical time that it may take for it to be filled out. After all, surveys can take quite some time and you can't typically gauge how much there is to do.

That time should not be how long it takes you to fill out, but should be taken as an average of how long it takes real people to fill it out for real.

You don't want to give users an opportunity to feel stupid. Because, if you say it takes 3 mins to fill out and it takes someone 10 mins - that's how they're going to feel.

So make sure to word it very carefully!

Personally I don't think it's going to give great results by auto calculating the expected time.

You want real data from real people. Perhaps you can gauge that from determining page display time and page submit time and gathering data to inform the expected time at the top (excluding outlier data)

  • Absolutely agreed; calculation can't account for "think time", so a programmed approximation is going to be difficult. Time to read and understand the questions is also variable. I also agree very strongly with the point in the comments about rounding up. (FWIW, rule of thumb for allowing folks enough time to simply read a small block of text is to time how long it takes you to read it aloud at a relaxed pace and then double that, which winds up being massive overkill for most readers but minimizes the risk of taking it away before folks are done.) – keshlam Jan 27 '14 at 15:25
  • Good answer. Also note that for this kind of form, you can't expect the language of the form to be in the users native language. That can add a lot of time. – André Jan 28 '14 at 9:12

Providing this sort of helpful information is a good way to help reduce the angst visitors feel toward an unknown/uncomfortable process.

Red in forms often indicates something is required, is wrong, or is a warning. I wouldn't use that color. Instead, Blue is a cool color often used for information and notes in interfaces.

An alarm clock may indicate to a user that you're instead presenting them with a time limit. Instead, I would recommend forgoing icons, and instead just use friendly, direct language to communicate the information to the user.

Also, instead of a single time, I would provide + & -2 standard deviations from the mean you find with your collected statistics. This will cover 95% of your users. You can do this real-time or could cache a time daily, and determine the average by weighting more recent responses higher to reflect changes you may make in the UI/UX.

To note, +/- 3 standard deviations (or more) covers almost all (99.7% or more) users, but because of the effect of trailing edges on either side of that curve, you'll likely end up providing a maximum so high that it may be practically meaningless, discourage users from starting, or not provide the necessary feedback indicator that a user should seek help (if they see that they've spent much more time than average).

Consider something like:

Based on an average of past users' experiences, this form should take between [-2sd] and [+2sd] minutes to complete.

  • 1
    Matt, I've taken your suggestion on caching real-time weighting and the phrase at the bottom of your post. Thank you. – Rayraegah Jan 28 '14 at 6:46
  • Glad I could help – Matt Jan 28 '14 at 8:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.