How Do You Balance Different Target Audiences With Different Needs

The Problem

Different groups of your users have different ways of handling the same basic tasks and/or data. Names and addresses are just two of the more common types of data that vary from culture to culture. So how do you handle this situation? The immediate impetus for this post is this programming.reddit comment about names. I can see at least 3 different approaches, each of which has drawbacks.

The Strategies

Ignore the needs of the smaller target audience(s)

This is the one I've seen most often in the wild, and I can see it's appeal: if you are only giving up a few potential users/customers, you'll probably offset your losses by increasing your saturation in the supported target audience(s). Still, I always get a vague feeling of unease when I knowingly make it harder/impossible for a group of people to use my work.

Limit your functionality to the common subset

I don't know that I've ever encountered this, and I can see why. When you get right down to it, there's not much about this world that is constant across all places, people, and cultures. That doesn't leave you a lot of functionality to put into your app. Even when there is a common subset, your different target audiences will probably still prefer to use an application/site that supports the nuances they are used to, and nuances are the first thing to go when you start chopping functionality down to a common subset, pretty much by definition.

Hide the functionality that is subject to change until you know which variant to expose

There are a couple of problems here:

  • You may not even need the information for anything else, and users are famously reluctant to give out personal info. If you do ask them for the information, please keep Application Design Mistake No. 9 in mind.
  • It may not be feasible to hide the functionality in question. If your application/site doesn't require users to register, for example, then it might be hard to keep track of the information necessary to know which variant of the functionality to expose.

The "Solution"

In reality, I imagine most developers would prefer some mixture of the strategies listed above, though I could be wrong. What does your solution look like?

Back to flipping out...


Sneak Attack - Crunch Mode

Sneak Attack: The Crunch Mode Paradox

Back to flipping out...


Buildix in Anger, part 2 (follow-up)

According to the response on the forum, you basically can't do what I wanted to do (unless you feel like reverse engineering the webapp, which appears to be obfuscated), but Mingle 2 will have an API that should allow it.

Back to flipping out...


Buildix in Anger, part 2

Something to note: the Buildix project creation logic uses the blank Mingle template. If you want to use a template, such as the Scrum template, you'll have to create a Mingle project manually. Originally, I was going to walk you through the process for modifying Buildix to use the template you told it to use, but I couldn't figure that one out in time for this post. I've posted a question to the Buildix forums, and if I learn anything further, I'll update this post accordingly.

Back to flipping out...