Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

Really struggling with this complex form, looking for a better approach.

I have a stock management tool. It allows my customers to edit details of individual stock items across all their branches. They can do this on a product-by-product basis, or they can 'bulk edit' many products at once. A customer could have 1 branch or as many as 50.

I'm currently designing a screen to allow bulk editing of 'stock levels' which is actually three fields, 'min', 'max' and 'order lot'. (Don't worry about the meaning of these labels, that's a separate issue!).

I'm struggling to create a usable screen to manage the three fields across all locations (branches). Specifically:

  • Is it useful/important to automatically populate a field if the values are the same for this field across every product? iTunes does this - if you go to edit more than one song at once, any field with an identical value will auto-populate, any other fields will be completely empty.
  • How should I differentiate between a field where the values are different vs all empty? iTunes don't bother to do this.
  • It's possible that none of the selected products are available at one or more of the branches (note branch availability is manages elsewhere). I'm not sure whether it's useful to say e.g. 'no availability at this branch'. I suspect it is useful, as it stops them wasting their time setting values in that row.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

UPDATE:

I have a version which I'm much happier with. I've answered a few of my own questions here...

  • It's not that useful to auto-populate fields where I know all values are itentical (a la itunes). The primary purpose of the screen it to set new values, not so see what values you already have. I also think populating a few fields and not others would look confusing.
  • I don't need checkboxes. If you put a value in the field, I'll save it. Otherwise I'll ignore it.

Any other suggested improvements greatly appreciated :)

version2

share|improve this question
    
what about using scrolling counters so that the user can use scroll wheel to populate as well as type in. –  kmonsoor Sep 2 '13 at 13:17
add comment

1 Answer

You asked a lot of different questions. As you requested, I will ignore the reasons and labels for the three different fields presented in each column.

Is it useful/important to automatically populate a field if the values are the same for this field across every product? iTunes does this - if you go to edit more than one song at once, any field with an identical value will auto-populate, any other fields will be completely empty.

If there can be only one default value for the each column, then do not clutter the table by replicating them everywhere.

Instead, it should be clear whether a custom value or the default is used. Therefore, I like your approach using check boxes. To increase productivity, you should automatically tick them when a value is entered in an empty cell. Analogously, you should untick them when a value is deleted.

Validate this with every key pressed, not only once when the cell loses focus. You could even disable the checkbox interface element for the user, so that it can't be clicked but is only automatically updated. In this caes, you could might want to use a check mark instead of a checkbox.

How should I differentiate between a field where the values are different vs all empty? iTunes don't bother to do this.

To be honest, I don't understand this point. An empty cell means use the defualt one. A cell with the number 0 is a custom value and should be handled as such.

I'm not sure whether it's useful to say e.g. 'no availability at this branch'. I suspect it is useful, as it stops them wasting their time setting values in that row.

Do not hide the fields for those products. Say the table is reviewed every month, the responsible employee should also set values for unavailable products, instead of waiting some days and try again.

Instead, you should highlight those rows in some manner. Personally, I suggest fading the background with a striped barrier tape image.

By the way, I think labeling the Edit by location button with Set individual values or Set custom values instead is more intuitive.

share|improve this answer
    
Thanks for the ideas danijar. I've got an updated version which I'm much happier with. –  Liam Johnston Sep 2 '13 at 22:32
    
@LiamJohnston If your new thoughts answered your question, you should post that as answer and mark it as accepted. –  danijar Sep 2 '13 at 23:46
add comment

Your Answer

 
discard

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.