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.

We have a part of our intranet that lists all the foreign language speakers within the organization that fellow employees can reach out to if they need translation assistance. Naturally, there are many speakers of the more common languages such as Spanish or French, and fewer of the less common languages.

The current challenge is that when someone filters down to see high frequency language speakers (such as Spanish), those at the top of the default sort end up getting all the traffic asking for translation assistance (for the user, there is no reason to look further), while those at the bottom of the default sort are almost never contacted. Regardless of the chosen sort, it seems this pattern will continue.

What are good ways to prevent this type of bias from happening?

We have discussed:

  • Randomizing results within the filter
  • Tracking clicks and sort least to most popular within the filter (translators are contacted with an email link)
share|improve this question
    
I would love to know a solution to this issue. Similar selection patterns are common-place in the application I work on. –  Itumac Sep 4 '12 at 22:21
2  
"Regardless of the chosen sort, it seems this pattern will continue." Why? The sort can just move the least used translators to the top. –  you786 Sep 5 '12 at 18:27
    
@you786 Agreed... if we start tracking and sorting by usage - currently not being done. –  Luke Charde Sep 5 '12 at 21:56
add comment

5 Answers 5

up vote 3 down vote accepted

Simple is better.

Unless you really need the load to be balanced equally, just randomize the list. Doesn't require any more data being stored and can be done client-side in the javascript anyways if necessary.

share|improve this answer
    
Simpler was better. We went with this solution as it solved the issue at hand without going back to the drawing board to rethink the app. Had there been time and resources, the other suggestions may have been useful. –  Luke Charde Sep 10 '12 at 22:31
    
Haha, so this is how it feels to be the accepted answer with the least votes... :) –  you786 Sep 10 '12 at 22:41
add comment

Is the equity of choice a good thing for the user? If the user could benefit from better load balancing due to shorter queue times, longer assistance or better resources, why not expose that fact to the users and let them choose less busy staff for their own sake?

If the equity isn't useful for the user, try exposing more points of difference in the list so users have more to choose on (much as Greenforest suggests).

If you do implement invisible re-sorting (eg randomization), I would consider implementing a 'known translators' feature, where translators the user already knows are placed highly on the list. That way, if a user comes back to the page to request something else of a translator they already have a relationship with, they won't be tripped up by the randomization.

share|improve this answer
    
+1 for a very sound and general answer. Finding the points of difference is a task for Luke. I can also think of many such points: user ratings, queue size, specialization area, proficiency level, preferred communication type... –  Bartosz Rakowski Sep 6 '12 at 7:25
1  
I think it might be hard to implement a load balancing scheme in into this. Once you have used a translator and liked the interaction, why return to the list at all? I'd just stick my head around his/her door directly, or shoot him/her an email with additional queries. That will not register on your balancing system, apart from people not using the link but just typing the name in the email box, talking to the person at lunch or coffee, etc. –  André Sep 6 '12 at 9:00
    
@André - you raise a good point; I suppose it depends on whether there are any ways to interact with the translator outside of the proposed system. –  Jimmy Breck-McKye Sep 6 '12 at 9:31
add comment

You could balance the workload by assigning points to the translators but hiding those from the user. Let's say we have 5 translators: Alfred, Bianca, Carlos, Dave, and Eliza. Assuming lazy users we'd expect Alfred to shoulder most of the workload, especially in a very long alphabetized list.

Instead, let's say that every time a translator completes a translation they are assigned a point (maybe based on length of translation, maybe not). Thus, the list can be ordered by point value in reverse so that the most-used translators fall to the bottom.

To make it even more equitable, simply remove the user's ability to select a particular translator and enforce random assignment based on the actual need.

share|improve this answer
1  
Removing a user's ability to select a particular translator is a bad idea. Reordering is sufficient. If a user likes a particular translator (or prefers to always use the same translator to allow that translator to build up expertise with the specific product line), they will be unhappy. –  Brian Sep 5 '12 at 16:50
1  
That's fine. I'm looking at the business process from an apathetic standpoint, where input=(translation need) and output=(translated text) and A,B,C,D,E all perform the work without regard to differences in quality, speed, likeability, etc. –  Alex Addison Sep 5 '12 at 17:51
add comment

Sometimes (I guess more often than not) very good translations require some domain knowledge. How about listing the fields of expertise of each translator in addition to name and language? This might distribute the requests for assistance and at the same time increase the quality.

Regarding your options: A click counter on the email address might not work as intended, as some users copy+paste email addresses instead of clicking them (think using webmailers that won't open with mailto links). And clicking the link doesn't neccessarily lead to an email sent to the translator. So I guess randomization would do the trick too, especially in smaller lists.

share|improve this answer
add comment

Does it need to be a list? You might be able to simplify it with a recommend or suggest pattern that selects one result that meets your criteria. The select algorithm could be random for the initial iteration and then build in intelligence later (read never).

share|improve this answer
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.