One of our applications has a very telephone book-like UI. I've
suggested that searching in this application be enhanced to use
Soundex (http://en.wikipedia.org/wiki/Soundex) so that users will not
have to know if someone in the database is "Alan Brown", "Allan
Brown", "Allen Brown", etc.
The question I'm now trying to figure out is whether soundex should be
used all the time or whether it should only be invoked if there is no
exact match. For example, in our test data set the users "Alan Brown"
and "Allan Brown" both appear - if someone searches for "Alan Brown"
should he get one result or two?
Both answers seem to confuse some subset of our test users, so I'm
wondering if there has been any general research on the topic that
might be relevant.