User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Looking for some feedback on if there is a well known approach for this. Please note that my graphics are just for example and look much worse in the actual application.

A user has the authorization of Data Entry. They are going to be entering data for table Container

int ContainerId
string Name
string Description

There are many Containers in the table already. Instead of making the data entry user search around to see if a container exists for every entry, I was thinking about using a compare and confirm page. The process would go something like this:

Step 1, "Add": Data Entry

-----Enter A New Container------------
|                                    |
|   Name                             |
|   [_____________]                  |
|                                    |
|   Description                      |
|   [_________________________]      |
|                                    |
|   [Add Container]                  |

Step 2, "Compare": On Add Container click, server side collect a list of entries with the same name (if there are any at all). If a same name and description exists, return to a new entry form. If there is no name match at all, add the entry to the database. If there are name matches and the previous two conditions have not been met then display the list of similar named matches:

Existing Containers

       Name                  Description          
| Empty Box        A Box with nothing in it.      |
| Empty Box        A Box half empty.              |

-----Container To Add-----------------
|                                    |
|   Name                             |
|   [_Empty Box___]                  |
|                                    |
|   Description                      |
|   [_A Box half full_________]      |
|                                    |
|   [Confirm]                        |

Step 3, "Confirm": Commit new container to database.

Is there a better, or more common, approach to this process?

share|improve this question

As I understand, if the entry exists you return to a new entry form without any notifications about existing dublicate?

This may mislead the user — that the new entry actually was entered, not an old one. From technical position it is not important, but may break the user’s understanding of his actions and cause some errors outside this scenario — for instance, he can overlook that there are existing records using this container in reference.

share|improve this answer
The user is returned if there is a duplicate because of business logic. An exact duplicate would lead to a fork in the relations for that item. Moreover, the assumption is that the user did not know there was already a container of that type. Perhaps I will add in a message stating there was no addition due to an exact duplicate existing. – Travis J Aug 17 '12 at 19:34

My problem is that this stuff is reaallly cumbersome to use.

Consider what UX.StackExchange did when you entered your question: while typing, it was showing you possible alternatives.

Usually this is done with autocomplete on the title. The user starts to type, and after the 3rd character, a search is run on the database. if a user wishes to cancel edition, a down-arrow might select the item to be used. Then that container is loaded. The user might choose to edit the description and update the container, or add a duplicate under them same name, knowing the consequences (done by renaming "Add Container to Update, and adding a Copy Container button next perhaps)

share|improve this answer
Good point about the suggesting, perhaps I will add a display for name matches while typing. However, these data entry users should not have the permission to rename any containers, nor to add a duplicate. This type of data entry will not occur often and should be of a high precision. It is cumbersome to prevent error. Flying through data entry is a good way to enter a lot of bad data. – Travis J Aug 17 '12 at 19:57

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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