homepage Welcome to WebmasterWorld Guest from 54.163.84.123
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Pubcon Platinum Sponsor 2014
Home / Forums Index / WebmasterWorld / Accessibility and Usability
Forum Library, Charter, Moderators: ergophobe

Accessibility and Usability Forum

    
Best way to control data input for limited number of values
when the number of possible values is about 80
zollerwagner

10+ Year Member



 
Msg#: 3859099 posted 11:58 am on Feb 27, 2009 (gmt 0)

I'm looking for an easy-to-use, fool-proof way to limit mistakes for a complicated data entry field.

One of our fields will contain group names. There are about 80 different group names. most records will only have one associated group name, but a few records will have 2-4 group names associated with that one record.

In regard to data structure, I had considered using a relational database, but that seemed like overkill. A non-relational database can give us all the functionality we need with just one field. Thre are only fields we need 'last_name', 'first_name', 'groups', and 'comment' fields (plus 'id' and 'date_entered' fields for back end functions).

I'll probably have to split the string with comma delimiter so I can compare it with the approved values. (If you think this is crazy, I'm open to hearing arguments for using a relational database.)

If I use a select (drop-down menu), the menu would be terribly long. So, instead, I'm considering allowing the user to type in the group names, but validate them against the "approved" list of groups.

What do you all think would be the best way to do this? I want maximize usability and minimize errors.

Thanks in advance for any thoughts!

 

sleepy_az

5+ Year Member



 
Msg#: 3859099 posted 9:03 am on Apr 5, 2009 (gmt 0)

I'm all for relational structure - great for flexibility, scalability, keeping things simple... though I'm sure you've considered all of this.

If your single field idea works and you have good methods to extract values when users select multiple groups - then go for it.

As for the issue of usability - before trying to offer suggestions - the main consideration would be the type of user who will be filling out the form.

Are they internal or external? Will they have existing knowledge of the groups? And so on...

Another issue would be whether the group names could be "grouped" in any way (e.g. creating 4 lists of 20 names each)

However even 80 items in a drop-down menu may not be too long - especially if they suit being displayed in some order i.e. alphabetical.

Just look at the size of lists that one uses when selecting 'country' on some forms.

Finally - if you are going to have the user manually enter in the group - and then validate it - perhaps some type of predictive 'on-screen' matching would help.

The idea of allowing user to manually enter the names really depends on their familiarity with the group names and the possibility of errors in their attempts.

Would be a good case of some old fashioned usability testing...

tangor

WebmasterWorld Senior Member tangor us a WebmasterWorld Top Contributor of All Time 5+ Year Member Top Contributors Of The Month



 
Msg#: 3859099 posted 9:21 am on Apr 5, 2009 (gmt 0)

Reduce the number of options, ie, top down by category to specific. Leave nothing to chance. And always remember the USER IS STUPID.

If you have 80 options you can't do it in one form. Otherwise you have 80 errors possible each form.

zollerwagner

10+ Year Member



 
Msg#: 3859099 posted 6:18 pm on Apr 5, 2009 (gmt 0)

Thanks for your replies. And two very different answers they are!

The options will be organized alphabetically, so that'll help users search them. Most of the users will be at least minimally familiar with the categories.

It'd be great if it were possible in a form's select element to show major categories in bold and then indent each category's entries. Can a drop down menu do that?

sleepy_az

5+ Year Member



 
Msg#: 3859099 posted 7:56 pm on Apr 5, 2009 (gmt 0)

Yes - sounds like discussions at the usability lab - everyone with differing ideas to test out.

In terms of categorizing within a select element - using just plain text - you could do something like:

=========
Category A
- group a1
- group a2
=========
Category B
- group b1
- group b2
- group b3
=========
and so on....

CHECKBOXES
Another idea would be to test out the form using CheckBoxes (yes, 80 of them :)

Actually you might find that this is the most "easy to use, fool proof" approach in terms of usability and reducing error rate.

zollerwagner

10+ Year Member



 
Msg#: 3859099 posted 9:56 pm on Apr 5, 2009 (gmt 0)

Sleepy_az, how would you code this?

=========
Category A
- group a1
- group a2
=========
Category B
- group b1
- group b2
- group b3
=========
and so on....

sleepy_az

5+ Year Member



 
Msg#: 3859099 posted 10:12 pm on Apr 5, 2009 (gmt 0)

It would just be a standard <select> element - with the "========" and "Category X" being blank options - and every group item beginning with "-".

<select>
<option value="">=========</option>
<option value="">Category A</option>
<option value="a1">- group a1</option>
<option value="a2">- group a2</option>
<option value="">=========</option>
<option value="">Category B</option>
<option value="b1">- group b1</option>
</select>

The problem with it is that there are 'empty' values that a user could select - you'd just need to validate these.

At least this approach keeps things simple - is accessible to most - and can easily be generated from a database list of groups, or manually entered when setting up the form.

Whether it's a preferred approach in terms of usability...

zollerwagner

10+ Year Member



 
Msg#: 3859099 posted 11:56 pm on Apr 5, 2009 (gmt 0)

Ah, that makes sense. Thanks, Sleepy_az for a very complete answer!

encyclo

WebmasterWorld Senior Member encyclo us a WebmasterWorld Top Contributor of All Time 10+ Year Member



 
Msg#: 3859099 posted 10:18 am on Apr 6, 2009 (gmt 0)

You can use
optgroup for this:

<select>
<optgroup label="Category A">
<option value="a1">Group a1</option>
<option value="a2">Group a2</option>
</optgroup>
<optgroup label="Category B">
<option value="b1">Group b1</option>
<option value="b2">Group b2</option>
<option value="b3">Group b3</option>
</optgroup>
</select>

sleepy_az

5+ Year Member



 
Msg#: 3859099 posted 10:24 am on Apr 6, 2009 (gmt 0)

Sweet - learn something new all the time. Thanks for that!

zollerwagner

10+ Year Member



 
Msg#: 3859099 posted 10:53 am on Apr 6, 2009 (gmt 0)

Nice one! Thanks, Encyclo.

Global Options:
 top home search open messages active posts  
 

Home / Forums Index / WebmasterWorld / Accessibility and Usability
rss feed

All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
© Webmaster World 1996-2014 all rights reserved