Digital Learning IX: The Domain Problem
If you were choosing a restaurant to eat sushi:
Which would you prefer?
One that serves only sushi, or one that also offers pizza, burgers, and pasta?
If you place particular value on authentic sushi, you’d probably opt for the first.
One could at least assume that it has a chef who specializes in preparing sushi.
A restaurant offering multiple cuisines, on the other hand, aims to appeal to as many tastes as possible.
And unless there’s some kind of super-chef behind the scenes, the sushi likely won’t stand out among the other dishes.
The same idea applies to the development of educational software—and is known as the domain problem.
A domain is, simply put, the specialized subject area an application is designed for.
In concrete terms, this means that while programmers are experts in their own domain (programming),
they don’t necessarily have domain knowledge in the subject area they’re building software for—for example, language training.
Companies that want to develop and market such learning applications are therefore dependent on acquiring and implementing expert knowledge,
which creates a tension between business goals and user needs.
The company wants to build and sell a product profitably.
The user wants a cost-effective application tailored to their needs.
Now, imagine a company developing a language trainer for 20 different languages.
Their goal is to attract as many customers as possible—so it’s likely they cut corners on domain expertise.
You wouldn’t hold high expectations for an app meant equally for Chinese and English learners—
just like you wouldn’t expect outstanding sushi at a restaurant that also serves burgers and pasta.
Languages can differ enormously.
To meet the demands of serious language study, one must treat language training as its own domain,
with English language training as one domain, Chinese language training as another, and so on.
As I noted earlier regarding books, quantity and quality are negatively correlated.
The more general and wide-ranging an application is, the more diluted its individual parts tend to be.