And I think that's the experience for a lot of people who live in a foreign country, or still have friends from other countries. Languages get mixed all the time.
And I think that's the experience for a lot of people who live in a foreign country, or still have friends from other countries. Languages get mixed all the time.
It is a terrible design flaw, that is primarily due to the fact that a lot of software designers assume that the average person speaks one language; in fact there are more multilingual people than monolingual people in the world (cf first paragraph of [0]).
Ideally, software keyboards would be designed to take that fact into account - a few smart things could be done! But no, a lot of software is designed by upper middle class westerners which tend to only speak a single language, and the designs we have are victims of their creators' biases.
In the meantime, I have 5 different keyboards on my iPhone, and I find texting extremely painful.
The Minuum team includes a number of multilingual people; I mix french and english on a daily basis, others on the team speak slavic languages regularly. Similarly being based in Toronto, near the bilingual province of Quebec, our friends and family early user network included many multilingual people.
I think that more than almost any other type of software designers, keyboard makers are acutely aware of the importance and the myriad of issues surrounding multilingual support. We've known since very early on that language support is a major factor that will eventually make or break us.
For us, each new language actually brings a surprising number of exciting new technical challenges. Hopefully we'll be able to gain insights from the process and find those "few smart things" that can be done to get you from 5 keyboards to 1.
Toronto is so multicultural it doesn't make sense to claim proximity to Quebec as a language bonus.
In countries where people have to deal with two or more system on a daily basis (i.e: any country that is not on ASCII like alphabet) there is no such assumption, but there is still no very good solution for this problem after decades of trying.
I don't think it's laziness or short-sighness that impedes progress. We might need a big breakthrough in some field or disrupting idea to have thing move faster.
Once a language is detected it won't reevaluate the input, so you have to paste whole sentences in it. The implementation really goes above and beyond to guess the input, I think that's what you and other mean by matching several languages at ounce. For instance "J'aime pas la philosophie du 'just do it'" will translate both french and english parts at the same time.
The thing is, 'just do it' is a ready made english sentence, but you could autocorrect it to 'juste doit' or 'jus doit', both of which are valid single words in french. There's no way to know what you really meant on the autocorrection front (we have to assume you made a mistake to suggest something), and you'll need an interface constantly suggesting correction that you'll dismiss 99% of the time. This feels like hell in a popup to me.
Even just training the markov chain on two language corpuses simultaneously should be able to handle that quite decently already.
Not to be flippant or anything. I think these words that can cause the most visceral reaction in engineering when uttered by clients or 'idea' people. There can be a very huge gap between something simple to put in words, and a concept that is actually simple (both in the easy to understand, and in the low technical complexity sense).
For the point at hand, detecting which words belong to what language is an insanely difficult problem. Even excluding words that are purely invented but still make sense (like a new fad, a technical world, proper nouns, abbreviations, short hands etc.). Even within a single language you'll still have a hard time coming up with heuristics about what the user is typing 80% of the time (my personal experience with IMEs), especially when the user makes awful typos all the time.
Up until now, the best system I've ever seen is to use a dedicated switching button on your keyboard to switch between the language contexts. Japanese mac keyboard's 'eiji' and 'kana' buttons are really good for that, a lot better than the Control+Shift kind of pattern mainly used in linux distros for instance. It's fast, fool proof, very simple to understand from the user POV, and the input system is always focused on one kind of input only. But it translates very badly to touch screens I guess.
I have a near 50/50 split between two languages in my day to day usage and I would already derive massive benefit from some very small tweaks, ranging from autocorrect accepting words for two languages at the same time to, like I mentioned, just offering prediction with a Markov model trained on two languages simultaneously.
These are fixes that are very easy to implement and would offer a significant benefit, yet they aren't being implemented because the developers just don't care enough.
I agree this. This is so important and so easy. I have basically gotten used to those red markers to the point I barely notice them anymore. It is easier to ignore them than to change language every time.
And most IMEs already work with several languages in a way, since they use the sentence context coupled with a system and user dictionary that contains the most common and some set of arbitrary words from any language you want/use regularly enough to have the IME remember the words.
What I described is basically taking that mechanism and baking it into the standard OS without all the custom personalization options the IMEs offer and just offer a ready to use "English + OtherLang" option.
I don't think iOS does anything like that, but there you can still reduce the threshold at which you'll auto-correct and get a significant improvement.
Just goes to show that on all platforms there are still plenty of trade-offs to be explored.