[highlight]UPDATE: Since the writing of this article Google has already implemented these ideas.[/highlight]
I was just brainstorming a bit, after reading through some online articles in a translated form. It occurred to me that online translation services often suck, even though processing power shouldn’t be any kind of an issue anymore. What the real problem is, is essentially good data to work with.
Most translation services are already quite good. I will be absolutely honest when I say that I have absolutely no clue how they work in detail. One example of a translation service is Google Translate, and I will use their service as an example to work from. Google Translate uses several methods to offer good translations, one of which allegedly is that they scrape translated pages from the internet and then use these in combination with traditional translation systems to translate texts.
One of Google’s attempts to get “good data” is to use the “Contribute a better translation” section underneath every translation. If you haven’t noticed it before, don’t blame yourself: It’s not something you’re likely to click on or use, considering that it’s neither a very appealing link nor does it work well if you do click on it. Clicking on the box results in a miniature textfield input box, with an actual submit and cancel button! Last time I ever included a cancel button on my form was back in 2001 and I have found fairly few situations in which people actually desire that button, and this is definitely not one of them.
In any case, there must be a better way to gather this “good data” for translation engines. What I personally thought up from a purely UI point of view, is something which I believe could motivate users to provide better information because it can offer better translations directly after users also offer better translations.
It is already possible to hover over the translated text and to see the original text as a tooltip. It’s a good function and seems to be quite practical. Other than that, the amount of interactivity and opportunity to give back better data to the translation, seem to be fairly limited.
That’s what I figured to be a missed opportunity.
What I figured is to take more advantage of the translated text and to grab the problem which most users have right by the neck by enabling them to change the translated text themselves. Clicking on a word automatically offers a list of suggestions from a context analysis and normal synonyms. If the word is not in the list, users could manually enter another word which would be suitable for that location.
This data could be sent back to Google and used for much more accurate translations, as these are context specific translations provided by users themselves. The benefit of doing it this way is getting users to actually offer alternatives themselves, and rewarding them immediately with an improved translation.
If the alternative word also influences the words around them, these could also be automatically changed depending on the context. If this context is incorrect, users would also be more inclined to fill in the correct contextual changes, once again offering better and more useful data to Google which could be used to offer better translations.
Essentially this is a form of crowdsourcing, which could serve several functions to whoever implements this or something similar: it could improve branding, it could improve the relation a user has with a service as it creates more interactions, it could improve satisfaction with a service because it empowers a user to immediately correct mistakes.
Most of all though, it could offer a permanently better translation database which could prove to be invaluable to a translation or search service.