One sure way for software to annoy its users is to ask them for data the software obviously doesn't need. The form of this blooper that annoys users the most is asking them to reenter data they already entered...
Make it a high priority not to require users to enter data repeatedly. Here are several ways:
• Ask only for data you really need. If you aren't sure what you will do with a piece of data, you don't need it.
• Stick to the current transaction. Data you would like for other purposes, such as marketing or establishing a relationship with the user, should be requested in separate and optional areas of software.
• Don't make any data "required" unless you really cannot proceed without it.
• Don't require data some customers won't have: you will just force them to make it up... or take their business elsewhere.
• When someone gives you information, deduce as much as you can from it. Use what you know to fill in other data fields.
Asking for data you don't need scares away customers who value their privacy, prevents customers from achieving their goals, frustrates those who don't have the information you require and slows throughout."
In a book by Jeff Johnson "GUI Bloopers"