This question is specifically about web sites, but it may apply to other areas.

In my last few web sites, I have been gathering minimal info in a form to create a new record. For example, when I add a user, I get only the email address. When I add a brand, I gather only the brand name. When I add a model, I gather only the model name (number).

I do this because I know that as soon as the entity is added to the database via the form, I can do some validation and then return the user to the form to edit any remaining value, such as first and last names.

I am adhering to the DRY principle (Don't Repeat Yourself). I feel that if I enable a person to add an email, first name, last name, and everything else in the creation form, I am just repeating myself. They will already have an edit form.

I have seriously cut down on coding time by using the DRY principle. My boss isn't convinced this is a good idea.

From your experience, is limiting a user's ability to enter all data in multiple places (record creation form as well as an edit form) a problem. If it saves a lot of development time, is it a good idea? Are users too used to doing it the old way?

3 Answers 3


From the usability perspective, to me it seems like you are forcing people to do through two steps to put in the information instead of just one. If they have to put in the rest of the information, you are interrupting their flow of putting it in. If, on the other hand, the rest of the information is optional, maybe it doesn't matter. But I still think that given that they might want to put it in, it's better to let them do it all at once. If this is a data entry situation, I think it would be annoying to have to do a two-step process each time you want to add a new record.

If you are worried about code repetition, it's definitely possible to code in such a way that you are reusing the same code to generate both the add and the edit forms. So if you do that, you will end up with less code using one form then having a short form AND a long form. (But that is a code discussion, not a usability one, so I'll stop there.)

  • People will go through two steps anyway. They always correct their name and other fields. Why not make it super easy to create a field, like adding a user, and then BAM let them edit it? Have you ever filled out an entire form but realized you couldn't finish because you were missing a piece of info. So you had to discard the info and start again once you got that piece of info? My method enables them to start with the minimum and move on.
    – Evik James
    Commented Sep 17, 2011 at 18:14
  • Hmm. I'm confused. It seems to me that if the fields aren't required, you are not preventing anyone from finishing the form by including them on the initial page. They can still "start with the minimum and move on". If the fields are required, you can't split the form in the first place because you wouldn't be able to create the record without all the fields filled out. Commented Oct 2, 2011 at 9:02

Generally users don't mind filling out a few more fields if they are already commited to signing up. Its those time you are on the home page or pulling people in from SEM that you need to strip away as much as you can and get them hooked.

Also its good to note that different types of form fields have an effect on drop rate, the answer may surprise you.

  • Actually, I am not talking about a sign up form; I didn't make that clear though. I am talking about a web application that gathers a bunch of data from regular users. I find that most times, not all the relevant info is available, so it's more important to start the process with the minimum of what's available and then assume that everything from there on out is an edit and doesn't need to be in the initial form.
    – Evik James
    Commented Sep 17, 2011 at 18:17

Splitting a user input - in this case of their details for signing up - is a bad idea because it breaks their concentration ( my ongoing area of research ). So if you want someone to sign up for something, let them do it with as little filling oput as possible, and all in one form.

In simplistic terms, if you have a break in their cognitive processing while you process their first entered field before you allow them to continue, they may just decide to go elsewhere. Also, if you imply that all they need to fill out is one field, but you then present them with a form holding a whole lot of others, they are liable to leave.

DRY principles are, as a rule, very good, and it is worth coding in a way that does not involve writing anything twice, where possible. But this should apply to coding, not site design. At a site level, having repetition is a good thing - a sign up form looking pretty much the same as a user edit form is great. The real DRY principle is to do this without repeating yourself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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