KMnO4 13 hours ago

When the iPhone first launched, it had to pull a lot of weight to convince people that a touchscreen keyboard could work as well as physical keys. One of the tricks it used was to predict the next letter and invisibly adjust the hitbox of each key.

If you type “h” and then hit the space between “w” and “e”, it will assume you wanted “e” and register that.

This could easily be implemented by dynamically adjusting the ranges where a letter can be selected from the joystick. You don’t even need to render it differently; just adjust which letter registers at a particular angle.

  • viraptor 10 hours ago

    That's cool, I haven't heard of this idea before. There's a lot of prediction magic possibility in many places. For example I've tried the swift key keyboard on Android for comparison with the Google one and it's so bad at swiping. Somehow gboard can guess almost every single word correctly, but swiftkey chose the wrong one almost every time. (I stuck with it for a month to make sure it's not just my familiarity)

  • tyleo 13 hours ago

    A designer I work with also recommended this approach.

    I also think word prediction could go a long way towards speeding it up further.

  • socalgal2 12 hours ago

    After 18 years of iPhone I still can not type on my iPhone. My average is literally 3 corrections PER WORD! It's super infuriating >:(

    I must have fat fingers or some perception that means however it was tuned doesn't fit me. The most two most frustrating keys, period ('.') to the right of the spacebar which I seem to press by accident when I'm trying to add a space, 3 of 4 times. I don't think my finger is near it but a period appears so.I.often.type.like.this . Maybe this is the invisible button size increase. The other is delete next to 'm'. I also hit that 4 of 5 times when I didn't mean to. I wanted to screen capture my phone experience and post it as just how band the experience is but if course I'm mostly typing private stuff.

    I'd think just from every day usage of 18 years I'd some how get it but it's been 18 years and I don't

    • frutiger 12 hours ago

      Wow. Both of these things happen to me all the time, and somehow exactly as you’ve described.

      It won’t be just one space that’s been replaced with “.”s but several in a row.

      The trailing “m” is something I often hit as I do the double “ “ to get the “.” and then backspace over the final space but often hit the “m” and tap “send”/“submit” without reviewing.

      Speaking of which, it would be nice if it could trim the last trailing “ “ when leaving focus of the text entry if it had been entered due to a doubled “ “ to obtain a “.”.

      • foobarkey 11 hours ago

        Can confirm the . thing happens to me also half.of.my.google.searches.are.like.this so I have even learned to be cautious that the last word does not look like a tld :)

    • socalgal2 11 hours ago

      Let me add, I clearly see people around me who manage to type super fast so clearly it works for some. Maybe I need a class on how to type on iPhone :P

harrall 10 hours ago

It’s cool that I kind of knew where each letter was going to be.

I actually liked typing on the YouTube app on the PS4 controller. Wasn’t super fast but was one of the fastest typing on the controller for me.

I find one limitation of typing speed is sometimes the input rate that a device picks up presses is so low. I can get 75 WPM on an iPhone but I can barely type my phone number into Target self-checkout because it picks up presses so slowly. Roku input is also really slow. Yet I can absolutely rip on my grocery store credit card keypad.

tmtvl 7 hours ago

Steam used to have the Daisy Wheel input method (someone made a JavaScript(TM) port here: https://github.com/likethemammal/daisywheeljs), which I recall being very good in practise.

For Rad Type, I'm curious whether if basing it on Dvorak or Workman or something rather than QWERTY would improve it.

For issue #2 which is raised I would suggest using D-Pad Up for capitalisation and D-Pad Left and Right to switch between keyboards. The number row contains 13 keys with 2 characters each, so that's 26 characters just like the alphabet, which maps perfectly. The other special characters on a standard QWERTY keyboard are located on just 8 keys, for a total of 16 characters, which would work fine as a third keyboard.

stolksdorf 12 hours ago

Really great stuff, having demos for the progressions was a very nice touch

I had some ideas/modifications, so I sketched up a version in autohotkey and really liked playing around with it for a bit:

-> Pressing in the joystick also switches to alt mode, instead of having a separate button. Works really well, just need to tune the timing/tolerances a bit. It felt way more intuitive.

-> Right bumper => space, Left Bumper => backspace

-> Right Trigger fully down => jumps cursor to start of next word (left trigger start of prev).

-> Right Trigger partially down => moves cursor that much to start of next word (eg. half way down, halfway through current word)

-> Holding a trigger down while using the other one selects the text. This one is a bit awkward to use, needing to "undo" the initial press and not really having a way to unselect if you selected too much. Will need more experimentation to see if it's a good idea.

This leaves the buttons available for new line, key swap (numbers, symbols, etc.), confirm/exit; And dpad for direct arrow key control.

Thanks for sharing!

Bug Report: I could not get the Gamepad Mapping Settings to work. No changes registered, no errors in dev console. Win10 chrome.

  • tyleo 12 hours ago

    This is great feedback.

    I’ll look into the controller mapping tomorrow morning.

    • tyleo 2 hours ago

      I resolved the controller mapping issue :)

re 12 hours ago

The locations of letters on the "clocks" is clearly QWERTY-inspired, but it seems like D and V should be swapped to be more faithful to that. I wonder if different layouts (like a more alphabetical ordering) were tested as well—I was expecting to see some details in the blog post how this particular arrangement was selected.

  • tyleo 12 hours ago

    I tried a few letter layouts including a Dvorak inspired one. Ultimately it’s easiest to use for most folks if they generally know where to look for a letter from muscle memory.

    I’ll look into the switched letter tomorrow morning and may adjust. Or I’ll get back to you with the reasoning if it’s intentional.

    • tyleo 2 hours ago

      The placement is intentional. I passed my eyes in a ring around the keys on my left and right hands and roughly placed the Rad Type characters in the position of the corresponding key. V is below F on the keyboard so it's below F on Rad Type.

      There is a bit of voodoo in the placement. I wouldn't claim it's perfect. If this idea is ever productized, key placement would be an interesting optimization.

pests 10 hours ago

Slightly OT, just to rant about input methods a bit.

This looks great. The lag in on screen keyboards have really been annoying me lately.

Youtube, Prime, Max all have issues on multiple devices (chromecast tv, ps5 - I guess semi on topic since it’s a game pad) where if you move the cursor too fast there a delay where the letter typed is after youve already moved and you type gibberish. I have to pause now on each letter before moving on to the next to ensure it registered correctly.

madmod 7 hours ago

Reminds me of the many hombrew input methods on the PSP. There was at least one fairly popular homebrew keyboard using the joysticks like this which was embedded in a number of apps.

svarrall 13 hours ago

Be good to get some numbers to compare input speed/accuracy of the different variations.

Reminded me of the Nokia 3600/3650 [1] with its radial button layout.

Wonder if a similar concept would allow input with only one stick.

[1] https://en.m.wikipedia.org/wiki/Nokia_3650

catapart 13 hours ago

I like this!

Modifying the final version, I'd really like the delete button moved 180 degrees around the right circle, and a second space button put in its place. But, other than that, it felt pretty natural to type on, using a phone touchscreen.

  • tyleo 12 hours ago

    Yeah, I also figured there may be a more optimal placement of the additional buttons. I’ve been working on this for a couple months though and wanted to bias towards getting it in front of people :)

tyleo 14 hours ago

The interface is pretty good on touch too. I have a feeling that a radial input like this can also benefit phone because your thumb is equidistant from every character.

0cf8612b2e1e 13 hours ago

Am I crazy or was this a thing on the Stream controller?

  • tyleo 13 hours ago

    I haven’t used a steam controller but I’ve heard they may have used a radial typing interface. Sadly I can’t find any examples in a quick google search. It looks like the most recent version of their keyboard uses the touch capabilities of their thumb pads.

  • atrus 13 hours ago

    There was something similar, yeah. This feels a bit more refined though. There even was an android keyboard in this vein, except you kept circling around to get to different letters.

socalgal2 12 hours ago

How do I enter non ASCII or accented characters?

  • tyleo 12 hours ago

    This isn’t supported in this version. I considered supporting them with the back triggers.

atrus 13 hours ago

This is neat! The final version even leaves plenty of room for additional punctuation, or have even more layers.

georgewsinger 13 hours ago

What kinds of speed can be achieved, in terms of words per per minute?

  • tyleo 13 hours ago

    I didn’t formally measure but if I had to guess I’d estimate I’m hitting ~40 words per minute on the last example.

ivape 11 hours ago

I'm of the opinion that typing is now an accessibility feature. If you can speak and the computer can interpret near instantaneously, then you have a gift some others don't. Obviously, like all things, we take it for granted. Not taking away anything from the OP, this is a great thing.