
Model Your Users: Algorithms Behind the Minuum Keyboard - wxs
http://minuum.com/model-your-users-algorithms-behind-the-minuum-keyboard/
======
yelnatz
My biggest gripe with smart keyboards is that it doesn't work well for
multiple languages.

I speak three that uses the english alphabet, and the keyboards get annoying
when it starts predicting english words when I'm typing something in a
different language altogether.

Most of the time I even disable the dictionary on normal keyboards.

~~~
wxs
My cofounder (spaky here) seems to be comment-limited on HN, but here are his
thoughts on this:

I completely agree. I speak two languages regularly (English/French) and I
also find it to be a pain point.

It's something that I hope we can address over time with Minuum. Certainly the
first step will be making it really fast and painless to switch languages.

We've also considered having a quick way to disable auto-
correction/disambiguation on the fly.

Do you have a favoured solution? Sounds like maybe simultaneous language
support doesn't quite cut it for you.

~~~
yelnatz
I don't really have a favoured solution, as of now, other than not using
predictive typing.

I can see that Minuum works well using Bayes to predict a certain english word
given the user input.

If you guys generate/use a language model for other languages that would give
us around the same accuracy/prior probability as the english model, then I
think it shouldn't be a problem.

Having quick settings and options that you can setup and choose which
languages to include in the prior probability.

Being able to quickly turn off/turn a language, add/remove languages to the
priori, etc.

~~~
wxs
We do have English, German French, Spanish, and Italian now actually, but the
experience of switching between them could be improved.

~~~
TheZenPsycho
This might not work at all but I wonder how it would work if you supplied it
with a "mixed" language model. That is, a language model based around a person
using multiple languages interchangably on the fly, simultaneously, instead of
doing this modal switching stuff that causes so many headaches.

------
jerf
"Incidentally, this is also why the Dvorak keyboard layout is exactly the
opposite of what you want in a highly ambiguous scenario; Dvorak places all
the vowels adjacent to each other, significantly increasing ambiguity.
Intuitively it rearranges word-space to put many common words right next to
each other."

I suspected as much when it came to Swype; it's nice to see someone who has
actually done the work verify this intuition. I use Dvorak on my physical
keyboards, but I find it sort of... ironic, for lack of a better word... that
the suboptimality of QWERTY is itself the key to how these alternate sloppy-
keyboards work. It's sort of nice that my QWERTY skills don't entirely go to
waste...

~~~
wxs
I think a big part of the appeal of Dvorak in the dev community is that
there's something very satisfying about a keyboard based on real research.
That research was done for 10 finger full-size keyboards though, and doesn't
really map to the current generation of keyboards. As I allude to in that
footnote, we've actually done some really cool research into optimal keyboard
layouts in ambiguous scenarios. We'll probably do a follow up post diving into
that! (also stay tuned, there should be a paper coming out soon).

~~~
jerf
Yes, that's probably true. QWERTY is unlikely to be optimally suboptimal
either.

...

OK, OK, that was snark, I admit it, _but it felt good_. Mmmm... oh yeah,
that's the stuff.

More seriously, it is unlikely that QWERTY is optimal for this use case since
it _certainly_ was never designed for this.

~~~
cbr

        it is unlikely that QWERTY is optimal for this use case
        since it certainly was never designed for this
    

QWERTY was designed to minimize jams on manual typewriters. You get a jam when
you press two nearby keys in quick succession. This is actually extremely
similar to the layout constraint swype operates under.

~~~
jerf
I was talking about Minuum, not Swype there. For Minuum, "maximizing
alternation" is not _a priori_ obviously the same as "maximizing the
information theory _distinction_ " between two subsequent keypresses. In fact,
the fact that you are trying to maximize separation tends to imply that you
are thereby tending to make the next keystroke more predictable than it should
be, which is to say that the likely next keystrokes have clumps where too many
of the most likely "next letters" are all on one side, which is suboptimal
from the information theory perspective. QWERTY is not likely to be optimal
for this use case; it may even turn out that the optimal keyboard resembles it
as little as QWERTY resembles Dvorak.

------
mrmch
The "visualize some words" graph is awesome; took me a minute to realize it
was interactive. I'd be interested in another post about how Minuum
incorporates personal typing habits over time.

~~~
wxs
Good idea, there are a number of other interesting topics we could do follow
ups on. Maybe we can get everyone as excited about keyboards as we are!

------
ericmsimons
The video of this working on the smartwatch is crazy. I've always wondered how
smart watches would deal with text input, looks like there's finally a
solution. Is it possible to run this on the Pebble or Samsung watches right
now?

~~~
wxs
Author here: That video is an in-house demo of an early prototype on a Samsung
Galaxy Gear, so yes it works on those! Minuum isn't yet shipping on any smart
watches, but we're hoping to have something out as soon as possible.

~~~
spaky
Other Minuum co-founder here.

We will be setting up an alpha with some Galaxy Gear users in the next week.
Some technical know how will be required, but if you're interested send us an
e-mail at developers@minuum.com.

------
buro9
Why does a keyboard need permissions that include:

1) Network communication (full network access)

2) Your social information (read your contacts)

?

The first makes it sound like it's a keylogger, and stops me in my tracks.

The second... just why on Earth would a keyboard need to have a list of
contacts? Are you going to spam my friends?

If #2 was asked for without #1, I could charitably hope that the contacts are
just used for word suggestions based on names and addresses. But due to #2
being asked for in addition to #1 I really just think this is a spam machine
at best, and a leaking of private contacts at worse.

Is anyone from Minuum on here who can explain why those permissions would be
required.

~~~
mutemule
I asked the very same question about #1 on the Play store, and the developers
did respond quite quickly: the network access is required to download new
language packs. This makes perfect sense to me, as much as I'd like to see
something like keyboards split off into two apps: the keyboard, with
no/minimal permissions; and the 'helper' app, for settings, dictionary
building/importing, downloading language packs, etc.

As far as reading my social information, I have no idea why it requests that.
However, upon checking XPrivacy, I can see that it has never even attempted to
access accounts, contacts, SMS/MMS, etc. Which would lead me to speculate that
this is either a mechanism for recommendations, or used to build up
dictionaries. (Edit: I never have the keyboard build up dictionaries, so I
never told Minuum to try to do anything along those lines.)

~~~
rickr
Under settings there is an option for you to import your android dictionary,
as well as import contacts. I like that they it's opt in, and going by your
comment it seems like they're being honest.

------
ToastyMallows
I want to buy Minuum, but I _really_ like SwiftKey. Has anyone else made the
jump from SwiftKey -> Minuum? Pros/Cons you can offer?

~~~
tavoe
They're both predictive typing, so they both fall on their face when it comes
to two things. Proper nouns and slang.

Whenever I try to write one of those two thing (often, think email addresses,
friends names , "yo", etc) I have to fall back on regular input.

With swiftkey, this means just going back to pecking. With minuum, it means
going into a menu and switching to minuum's full sized view or long pressing
each region to get a zoomed in view of the keys around there to pick out the
one I want.

The compactness of minuum is great, though. And when I'm entering non-proper
nouns it's as fast as any keyboard (given a few days to adjust).

I paticuraly like the "swipe left for space" function.

It makes me want to try even more radical keyboards. Maybe something chord
based.

~~~
jerf
Do they not let you add to the dictionary? Honest question, I've only used
Swype, but you can definitely add things to the Swype dictionary and they work
just like any other word after that.

~~~
frandroid
They do, but in order to enter a custom word, you have to switch typing modes
to a full-screen keyboard, which is a 2 second action. With sliding keyboards,
you just start pecking because you already have a full-screen keyboard.

------
Void_
Awesome product.

I wonder if typing on watches will be someday as normal as typing on phones. I
would rather bet on speech recognition.

Off-topic, but I'm hoping one day programming won't be a desk job. You'll get
to walk around, interact with a touch screen and just have a conversation with
the computer about what should your program do.

~~~
frandroid
I'm waiting for the brainwave typing device still... With IM display in Google
Glass, it'd be as good as IM-ing in your head.

~~~
cpeterso
Researchers at the Imperial College of London are developing an EEG that fits
in your ear:

[http://www.technologyreview.com/news/518356/device-could-
spo...](http://www.technologyreview.com/news/518356/device-could-spot-
seizures-by-reading-brainwaves-through-the-ear/)

 _By nestling the EEG inside the ear, the engineers avoid a lot of signal
noise usually introduced by body movement. They can also ensure that the
electrodes are always placed in exactly the same spot, which, they say, will
make repeated readings more reliable._

------
pit
Okay, I'm typing on Minuum right now. It's extremely accurate but I feel slow.
You sort of have to shut your brain off and pretend you're playing a letter
hunting arcade game.

It seems like I miss the space bar about five percent of the time.

To the developers, nice job and thanks for putting it on sale in the Play
store.

~~~
wxs
Shame about the spacing issue, out of curiosity, how large is your device?

We actually prefer to use the right slide gesture for a space, the added bonus
being that then you can disable the space bar in the settings and save even
more screen space.

After you've used it for a few days, I'd love to get your impressions. You can
get in touch with me at xavier@whirlscape.com if you're interested in sending
any thoughts.

~~~
pit
Hi, thanks for getting back to me! I didn't realize that the right swipe
existed, but it's amazing! It actually solves both of my problems: now I can
keep my thumbs in pretty much the same spot, which is great.

I'm using an HTC First (please don't make fun of me), which has a 4.3 inch
screen.

------
kevcampb
Amazed that no one has linked this yet, as it's almost the same concept, at
least in terms of the inference part.

[http://en.wikipedia.org/wiki/Dasher_(software)](http://en.wikipedia.org/wiki/Dasher_\(software\))

"Dasher is an input method and computer accessibility tool which enables users
to write without using a keyboard, by entering text on a screen using a
pointing device such as a mouse, a touchpad, a touch screen, a roller ball, a
joystick, a Push-button, a Wii Remote, or even mice operated by the foot or
head."

Hard to tell how much success it ever had in terms of adoption, although I
could imagine there may be users out there who find it invaluable. Certainly
worth a look though as it gives a very nice visualisation of the text
prediction algorithm as it goes.

------
mrt0mat0
I just got this and tried it out.... awesome. recommend it. My friend and I
watched the amusing video and i said, what's 2 bucks. It is just as fast as
normal typing but gives me more real estate to see the convo!

also: took me all of 5 seconds to get fluent at it. no joke.

~~~
wxs
Hey, that's great to hear, we'd love to get feedback from you after you've had
a chance to use it for a few days. My email's in my profile, drop me a message
in a few days!

------
slacka
In addition to popular SwiftKey and Swype, it's great to see all these new
experimental keyboards coming out. Between KALQ for speed and Minuum for
saving screen real estate, there are so many great options to choose from on
the Android platform.

[https://play.google.com/store/apps/details?id=com.vardhamani...](https://play.google.com/store/apps/details?id=com.vardhamaninfotech.kalqkeyboard&hl=en)

------
joelgreen
It is apps like these that make me consider switching from iphone to android
on my next phone purchase.

------
debt
When do you think we'll get to the point where the blog header will link to
the actual product. I know there's a lil button up there in the corner but I
intuitively just click that header.

------
lpmay
It would have been interesting to see how well this would work with that
canonical phone that was going to have the side-scroll sensor in the side of
the phone, completely off the screen.

------
erikb
Instant buy. Waited for years for keyboards like this!

------
tylermenezes
Guys, I know this is an extremely stereotypical Hacker News response, but I
really want a Dvorak layout :(

~~~
spaky
It's mentioned in the footnotes of the article and discussed below
[https://news.ycombinator.com/item?id=7111183](https://news.ycombinator.com/item?id=7111183)

Basically the way Dvorak is optimized is sub-optimal for the Minuum
disambiguation engine and so it reduces the accuracy. It turns out you're much
better off with QWERTY or better yet something specifically optimized for
Minuum.

------
williamsharkey
Does Minuum use the Y position of taps as well as the X? If not, it is
throwing a predictor away.

------
madsravn
Wow, they really did their homework, huh?

