I am currently thinking of a wpf dialog to enter multiple values for a production line. Currently our customer uses a Excel Sheet, but since we now need to save the entered values to SQL DB and for future changes we want to implement this in .net.

  • Per Day, there are ~10 production lines which have a day and a night shift.

  • For each shift our customer has to enter about 50 values for a production line.

How would I create a dialog to insert such a high number of values while still providing good usability and readability.


Ok I just had a talk with the customer.

  1. The values entered are default 0 and are only changed when an error in the part of line accured.
  2. The values are not prefilled and are all entered by hand.
  3. The values are similar to each other but are not related

There is also another interesting fact: The values are entered from end to begin! That means they don't know how many pieces started the production process - they only know the value of how many made it through the line and how many were sorted out in each part of the line. So the start value is aggregated by end value + errors accrued.

Further there the single stations of a line are grouped together. This is grouping is the same for all lines. Each group values should be aggregated.

My thought on entering Data was to only show Data belonging to the same group, and when changing the group the previously displayed group collapses and only the aggregated data is shown.

  • 3
    10 lines x 2 shifts x 50 values ... yep, a lot of values. Where do these values come from? Are many of them amenable to defaults? Do the values change much from day to day? Are there derived values which could/should be shown during entry? Is each line shift set independent of the other line shifts? Are there categories/groups/stages of values within each line shift set?
    – Erics
    Feb 22 '12 at 3:24
  • Agree with Erics - this question needs to be more specific. Maybe you can make an example of how you plan to implement it and we can comment on that... Feb 22 '12 at 8:54
  • 2
    I would edit of the WPF .NET because the technology is not relevant to the question - UX design. (When you have an actual WPF question, ask on stackoverflow.com.) Also, give a short example of the questions the user is asked and possible answers. Is the user asked 50 questions per "production line"? Are the questions dividable into topics? Can previous inputs (from previous "product lines") be reused? Feb 22 '12 at 9:30

The question of how to make 1000 value form useable is a bit like asking how to make a car fly. You could drive it full speed up a ramp, over a cliff, or try and attach wings to it. It would be better to use a helicopter though - somewhat more expensive, but the best solution to the problem.

I believe the answer that will be most helpful with you so far is not a mockup, but a thought process: Why are these values required? Can they be captured by other means, eg automatically through physical sensors? Can the task be broken down, ie many people entering very small amounts of data?

Is this data captured throughout the day, or all at once? Will it be captured by one, or many people? What device is the data captured with, and would changing that make a difference?

If values are similar, can you provide defaults? Are those 50 data points all of the same type, eg quantities, or do they vary, eg time, quantity, weight?

This is by no means an exhaustive list. These are important questions for the user experience though, because all of them will affect the answer. UX is more than UI design, you should be thinking about and challenge the given assumptions.


a requirement to enter a gigantic block of data like this is often an indication of missing sub-processes

for example, it might be simpler/better/easier for a few values to be entered at each line, rather than all values being entered for all lines

Caveat: I'm not a UX practitioner, but I am a consultant. And this screams "missing processes!" ;)

Advice: keep talking to the customer, digging into the reasons for this. No one really wants to enter a wall of numbers.


There's a reason that they use a spreadsheet now; it is a big grid of data.

I'm making some leaps here, but it sounds like this data is collected on paper during the day, then transcribed as a block of data by someone else. If this is true, you want to achieve a couple of goals in the design: - Speed of data entry. - Avoid errors in data entry.

Mimic the paper form as much as possible so the paper can be compared to the screen.

Consider using a grid for the data entry, with meaningfully labeled rows and columns (e.g. rows such as "Line 1 - day", "Line 1 - night", "Line 2 - day" etc. and maybe just number columns for each value). In addition, it should default all the fields to 0 and restrict entry of negative numbers - and maybe to a reasonable maximum based on production values. Finally, you may be able to do some aggregate calculations and sanity checks both while the data is being entered and just before the data is committed (e.g. OK/Save button).

Make sure you support all the ways to navigate the grid via keyboard and mouse (e.g. tab key, arrows, etc.). Most good grid controls will provide most of it, but you'll need to worry about interactions with whatever dialog or other screen type you embed this in.


How would I create a dialog to insert such a high number of values while still providing a good usability and readability.

As the comments describe this question is kind of general, but I still think you need and want an answer, so I will give it a shot to help you out.

  • What kind of production are we talking about? Is it a coal mine or a pharmaceutical environment? Having these different environment close to heart you know where your software will be used. A noisy, dusty environment have its own demands with very large font size an clear basic colors. In a pharmaceutical environment you can use smaller font size and a more informative GUI.

  • Operators computer skills? Are your operators software game developers at night or do they not own a computer? Probably you have a wide range of users who will use your software, both skilled and beginners. This means your input GUI should be easy enough for beginners. Maybe like a wizard (which can later be turned off)? However, experienced user would most probably dislike a wizard or simple input GUI which (by definition) takes longer time to fill in. In this case I would go for multiple ways to do the same thing. For an experienced user, try to make a GUI which can be operated only using the keyboard.

There are many more things to take into account while designing a GUI, but a fast way to get up to speed on usability is to read Steve Krugs fantastic book "Don't make me think".

Steve Krug Dont make me think

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.