Very cool, I implemented this once in python, it's a fun exercise, and knowledge that is gradually disappearing (modern phones with 12-key physical keyboards usually don't even have a T9 implementation, and when they do it doesn't perform well, even higher-tech KaiOS phones).
Although I appreciate the effort, I see a couple of issues with this implementation:
* The demo doesn't seem to work properly, the first thing I tried to type was "hello world", but it didn't recognize "hello" and I got "43556" instead.
* The word list is generated generated C code, which makes it hard to use other dictionaries (languages) or to add words during use (you can't add all place and people names to the list, but people are going to want to reference a handful of them many times). Loading from and appending to a plain text word list would make more sense, and maybe additionally use a custom binary format for the trie structure for fast loading into memory once a word list is imported on first use (hardware that would benefit from T9 might not be fast enough for conversion to be "instant")
* Non-latin script support would be nice. Although I have no knowledge whether Greek or Cyrillic languages used a T9 mechanism, it would be a minor change to define. Korean 12-key typing is also very cool, but I don't know whether that counts as T9.
I can’t stand TV keyboard input, it’s wildly frustrating. I’d be happy even with “abc” style, T9 would be even better ofc.
I can kind of understand how we got here - a fractured system of various vendors, TV makers, and customized android implementations led us to apps having their own keyboards, even if the TV offers a native on-screen keyboard, and for some reason most of those are laid out in a keypad style with A in the top-left which goes against everything the majority of users have known, even back to typewriters.
I know my comment got longwinded, it’s just…things could have and should have gotten better by now, but I’ll be arsed if I’m gonna pull out my phone to type the four letters needed to scroll to the movie I’m looking for.
Have you tried plugging a usb keyboard into your TV? It's always worked for me. My lifelong habit of connecting keyboards/mice to random devices to see what happens has been overall fruitful - hell, even the Wii supported keyboards iirc. Used my Android to test an Apple Magic Mouse at a yardsale recently too.
Nice! I’ll be honest, it’s not worth it. I’m just at the point of “if I can’t do it more easily with the remote, I’ll settle with doing it frustratingly with the remote”. I could probably get my Bluetooth keyboard paired up to the tv, but how often am I going to use it compared to how often it’s sitting in the living room unused?
It’s really more that I’m frustrated with the poor UX choices that will never go away, or at least don’t appear to be going anywhere.
If you are doing searching, then a variant can be that it does not need to predict what words you meant, but will search for all words that match the numbers you pushed.
For example, if you try to search for a title and one of the words in your search is entered "223", then either "ace" or "bad" can be in that position, and if there is a title with "ace" matching in that position and a title with "bad" matching in that position, both are displayed.
So, this variant is you enter the entire title (or a substring of the title) first before it predicts what words you meant. After it is entered then all results are displayed, with a number next to each one, and then you must push the number corresponding to the one that you want.
On Android, I always enjoy how the dial pad in the phone app will let you start typing in numbers and it tries to match into a name or number. My favorite one, 666, brings up "Mom" as the first result.
Some phone directories use this method. "Please dial the numbers that correspond to the the first 4 letters of the last name of the person you would like to reach."
I'd take multitap any day over the terrible systems that we have now, with faux QWERTY keyboards displayed on screen (or worse, the whole alphabet in a line on Apple TV devices)
I've discovered you can just plug a keyboard and even mouse into smart TV's. Get a wireless keyboard with a trackpad on it and you barely need the remote anymore. The Windows key even brings me to the home screen by default on my LG C1.
I had a Vizio tv that just gave up the ghost on me. The remote had a full keyboard on the back! Best remote I have ever had. It ran the Yahoo connected TV platform. It was fantastic. (except the whole vizio spying on its customers thing... but the hardware and YTV platform were great!)
Because that would require at least 8 dedicated buttons, instead of 5 buttons that can be used for other things when not in the keyboard context (dirs + enter). Of course, some manufacturers will sell you an upgraded remote separately to help make life easier.
I had not heard of T9 before starting the project and getting interested, I'm too young to have experienced owning a pre-touch screen phone. I don't know if the average HN reader knows what T9 is, so I went with a term that I was fairly certain most people would be familiar with. Is that so people engage with my work? I certainly found the project fascinating, I made the library to share that fascination. If I can get more people to implement and use T9 and alike systems I think my work has has been a success.
Blind-typing an SMS on a Nokia 3310 was so fast... or at least that was the feeling.
I still regularly miss those keyboards, in particular when I hesitate between swiping a word or typing it, guessing how autocorrect will fail if I don't type... This never happened with my 3310, and there was no need for it at all.
I used a flip phone for a ~week a couple months ago, I was amazed how fast T9 came back. Felt like riding a bike. I remember having a flip phone with a broken screen for a short while in the mid noughties, and being able to still make calls, send texts, change settings all from memory/muscle memory.
I bet it just felt fast (there are lots of repeated key-hits, right?). I remember around that time (maybe a little later) I had a slide-out keyboard Samsung of some sort. I got a reputation for writing long texts, haha.
You're thinking of the inferior system that predated T-9. The whole point of T-9 was using a language-specific word frequency list so that words can be entered with just one digit per letter.
The main word pairs that this often fails for are "me/of" and "no/on" (edit: other super-common words are "go/in", "he/if", and "up/us"; "am/an" isn't a problem since you usually write "I'm"); prefixes that can end with "-er" or "-es" are also ambiguous. For those you need to press the arrows to select a possibility manually. If there's an ambiguity for longer words (usually, if the word you're looking for is not in the dictionary), you might have to use the arrows ahead of time and then keep typing before the space; it will try to complete suffixes that go after that prefix.
There are only around 2000 ambiguous digit sequences after excluding the -er/-es pair, and for most of those at most one is likely to be used in texting even if they're "common" in English.
The most ambiguous sets, with 6-8 "common" "words", are:
2253 able bake bald bale cake calf
22537 abler bake[rs] balds bales cakes calfs
2273 acre bard bare base cape card care case
22737 acres bards bare[rs] base[rs] cape[rs] cards cares cases
24337 aides bides cheep cheer chefs cider
269 any bow box boy cow cox coy
4663 gone good goof home hone hood hoof
46637 goner goods goofs homes hones hoods hoofs inner
7243 page paid rage raid sage said
727733 parred parsed passed rapped rasped sapped
7277464 parring parsing passing rapping rasping sapping
729 paw pay raw ray saw say
7327 pear peas reap rear sear seas
74337 ride[rs] rifer sheds sheep sheer sides
7627 roar robs snap soap soar sobs
7673 pope pore pose rope rose sore
(no +7 since "popes" isn't common)
78337 puffs queer ruder ruffs steep steer
7867 pump puns rump rums runs stop sums suns
787433 purged pushed rushed stride strife surged
Think about how often, while texting, you actually use the second-most-common of a given word set.
Well this is going to make it very to report that I
Paid a sage boy to raid the pope’s home for cake goods.
But yeah, I guess that does make sense. Funny to miss such a significant thing—I was around then, but didn’t get a cellphone until the Samsung slider thing came out.
Nope, one key per letter. T9 uses an internal dictionary to figure which word you meant, with some memory for preferred words when there's multiple matches and adding custom words.
Exactly this, and occasionally you'd have multiple words come up for the same number combo, but in a consistent manner where the user could learn how many times you needed to hit the 'next' button to get the word you wanted.
I liked T9 but one of those Samsung phones you’re talking about were the last phone I had before I bought my first smartphone. Of course the one I had still had a keypad on the front so I could still type using T9 without looking.
Yeah, I had this too. T9 on the keypad was great for typing one handed without really looking while the keyboard was excellent for longer messages when you had two hands available.
I never saw anyone use T9 in Slovenia, but from being online and watching american movies I noticed it's used almost universally. I guess it works for typing English but Slovene didn't get such good support. Plus it was never enabled by default so people (myself included) just learned to get fast fingers.
I remember disabling T9 as the first step when getting any "new" phone, so it must've been enabled on some. Then again, I rarely got phones new from the store, so this might have been because they were factory reset.
I don't think I ever really knew what it was, other than "that thing that made typing difficult". I doubt any phone shipped with a Slovene dictionary for T9, so it was probably just doing its best trying to map my seemingly nonsensical keypresses onto English words.
The great thing about those keyboards was that a lot of people could just turn off text prediction and type text with a single hand without looking at the screen.
The great thing about T9 (certainly on the Nokia 3210 and 8210) back in the day was you could type messages fast with few k/s without looking. As long as you had enough experience to know the word combos.
Ive never found a t9 system as good as the Nokia implementation. In some respects its better than qwerty for short messages. And don’t get me started on apples fundamentally broken auto correct system. People dont know any better these days. There’s actual adults walking today that have never typed on a real keyboard.
Meh, Imma team Moto and I don't remember it well anymore, 20 years give or take.
Yes, the later variants both had a custom/user dictionary and could learn %he new words from the input. The latter could add the uncertainty in the input.
This is exactly my dream too, especially after seeing the Apple Watch prototype dumbphone cases they used to conceal them in public[0]. It would be a glorious re-purposing of the Apple Watch to serve the most diehard fans of the killed iPhone Mini.
Sadly the Apple Watch doesn't do proper external text input. You can connect a bluetooth keyboard, but it works by sending all input via the VoiceOver accessibility feature, which is slow and fidgety.
Please submit an issue on the Github repo! This is a bug, it should automatically show with words as you type. Include platform details, console logs, etc. I am unable to test every platform alone sadly.
Very cool, I implemented this once in python, it's a fun exercise, and knowledge that is gradually disappearing (modern phones with 12-key physical keyboards usually don't even have a T9 implementation, and when they do it doesn't perform well, even higher-tech KaiOS phones).
Although I appreciate the effort, I see a couple of issues with this implementation:
* The demo doesn't seem to work properly, the first thing I tried to type was "hello world", but it didn't recognize "hello" and I got "43556" instead.
* The word list is generated generated C code, which makes it hard to use other dictionaries (languages) or to add words during use (you can't add all place and people names to the list, but people are going to want to reference a handful of them many times). Loading from and appending to a plain text word list would make more sense, and maybe additionally use a custom binary format for the trie structure for fast loading into memory once a word list is imported on first use (hardware that would benefit from T9 might not be fast enough for conversion to be "instant")
* Non-latin script support would be nice. Although I have no knowledge whether Greek or Cyrillic languages used a T9 mechanism, it would be a minor change to define. Korean 12-key typing is also very cool, but I don't know whether that counts as T9.
Why we don’t have t9 support on tv remotes???
I gotta aim and peck some bullshit or open up some app with a QR code instead. Give me T9
I can’t stand TV keyboard input, it’s wildly frustrating. I’d be happy even with “abc” style, T9 would be even better ofc.
I can kind of understand how we got here - a fractured system of various vendors, TV makers, and customized android implementations led us to apps having their own keyboards, even if the TV offers a native on-screen keyboard, and for some reason most of those are laid out in a keypad style with A in the top-left which goes against everything the majority of users have known, even back to typewriters.
I know my comment got longwinded, it’s just…things could have and should have gotten better by now, but I’ll be arsed if I’m gonna pull out my phone to type the four letters needed to scroll to the movie I’m looking for.
Have you tried plugging a usb keyboard into your TV? It's always worked for me. My lifelong habit of connecting keyboards/mice to random devices to see what happens has been overall fruitful - hell, even the Wii supported keyboards iirc. Used my Android to test an Apple Magic Mouse at a yardsale recently too.
Nice! I’ll be honest, it’s not worth it. I’m just at the point of “if I can’t do it more easily with the remote, I’ll settle with doing it frustratingly with the remote”. I could probably get my Bluetooth keyboard paired up to the tv, but how often am I going to use it compared to how often it’s sitting in the living room unused?
It’s really more that I’m frustrated with the poor UX choices that will never go away, or at least don’t appear to be going anywhere.
ps2 even supported usb keyboards and mice.
silent scope with a mouse is cheesy but fun
Speaking of novel inputs, one of the only consistent uses of the PS4/5 controller's integrated trackpad is when games pop up a text input modal.
Always kind of saddened me there weren't more games that did interesting things with it, even things like scrolling around an overworld map.
If you are doing searching, then a variant can be that it does not need to predict what words you meant, but will search for all words that match the numbers you pushed.
For example, if you try to search for a title and one of the words in your search is entered "223", then either "ace" or "bad" can be in that position, and if there is a title with "ace" matching in that position and a title with "bad" matching in that position, both are displayed.
So, this variant is you enter the entire title (or a substring of the title) first before it predicts what words you meant. After it is entered then all results are displayed, with a number next to each one, and then you must push the number corresponding to the one that you want.
On Android, I always enjoy how the dial pad in the phone app will let you start typing in numbers and it tries to match into a name or number. My favorite one, 666, brings up "Mom" as the first result.
This feature is missing the final 20% in an infuriating way - it doesn't match characters with accents, so i can't use it to find my family.
Maybe you could add an alternate name for each contact without the diacritics?
Check the living room, sometimes near the tv. Usually my family come home when they are super hungry, so you can just wait till then.
Some phone directories use this method. "Please dial the numbers that correspond to the the first 4 letters of the last name of the person you would like to reach."
This sounds like it would be mostly great but occasionally really awful if you get a lot of matches.
I'd take multitap any day over the terrible systems that we have now, with faux QWERTY keyboards displayed on screen (or worse, the whole alphabet in a line on Apple TV devices)
A few years ago I started building this. The idea was to send the word and when cycling send the same number of backspaces before the next.
I guess I got busy with other things
smart tvs too busy adding spyware and AI bloat
maybe streamio + unified remote?
I've discovered you can just plug a keyboard and even mouse into smart TV's. Get a wireless keyboard with a trackpad on it and you barely need the remote anymore. The Windows key even brings me to the home screen by default on my LG C1.
I had a Vizio tv that just gave up the ghost on me. The remote had a full keyboard on the back! Best remote I have ever had. It ran the Yahoo connected TV platform. It was fantastic. (except the whole vizio spying on its customers thing... but the hardware and YTV platform were great!)
Because that would require at least 8 dedicated buttons, instead of 5 buttons that can be used for other things when not in the keyboard context (dirs + enter). Of course, some manufacturers will sell you an upgraded remote separately to help make life easier.
"Flip phone typing" = T9:
* https://en.wikipedia.org/wiki/T9_(predictive_text)
the library is named libt9, I believe the author is aware of this...
Then why is a flip phone in the title? That was not specific to flip phones at all.
Because vastly more people will know what "flip phone typing" is over "T9 typing".
Will they? I don't think I've ever heard it called that before.
Plenty of feature phones were not flip phones.
Probably in regions of the world where flip phones were the dominant form factor for phones...
It depends on region.
Flip phone is obviously English only. T9 was used globally. My parents knew what T9 was, and so we're all my friends.
I figured other way around… Kids These Days might be more likely to have heard of a “flip phone” than “t9” and thus “engage” with this “content”
I had not heard of T9 before starting the project and getting interested, I'm too young to have experienced owning a pre-touch screen phone. I don't know if the average HN reader knows what T9 is, so I went with a term that I was fairly certain most people would be familiar with. Is that so people engage with my work? I certainly found the project fascinating, I made the library to share that fascination. If I can get more people to implement and use T9 and alike systems I think my work has has been a success.
Maybe "T9" is trademarked?
> I believe the author is aware of this...
What about those reading the headline and deciding whether to follow the link or not?
There's also a T9 keyboard for android on the f-droid store https://f-droid.org/en/packages/io.github.sspanak.tt9/
Blind-typing an SMS on a Nokia 3310 was so fast... or at least that was the feeling. I still regularly miss those keyboards, in particular when I hesitate between swiping a word or typing it, guessing how autocorrect will fail if I don't type... This never happened with my 3310, and there was no need for it at all.
I used a flip phone for a ~week a couple months ago, I was amazed how fast T9 came back. Felt like riding a bike. I remember having a flip phone with a broken screen for a short while in the mid noughties, and being able to still make calls, send texts, change settings all from memory/muscle memory.
I bet it just felt fast (there are lots of repeated key-hits, right?). I remember around that time (maybe a little later) I had a slide-out keyboard Samsung of some sort. I got a reputation for writing long texts, haha.
You're thinking of the inferior system that predated T-9. The whole point of T-9 was using a language-specific word frequency list so that words can be entered with just one digit per letter.
The main word pairs that this often fails for are "me/of" and "no/on" (edit: other super-common words are "go/in", "he/if", and "up/us"; "am/an" isn't a problem since you usually write "I'm"); prefixes that can end with "-er" or "-es" are also ambiguous. For those you need to press the arrows to select a possibility manually. If there's an ambiguity for longer words (usually, if the word you're looking for is not in the dictionary), you might have to use the arrows ahead of time and then keep typing before the space; it will try to complete suffixes that go after that prefix.
There are only around 2000 ambiguous digit sequences after excluding the -er/-es pair, and for most of those at most one is likely to be used in texting even if they're "common" in English.
The most ambiguous sets, with 6-8 "common" "words", are:
Think about how often, while texting, you actually use the second-most-common of a given word set.Well this is going to make it very to report that I
Paid a sage boy to raid the pope’s home for cake goods.
But yeah, I guess that does make sense. Funny to miss such a significant thing—I was around then, but didn’t get a cellphone until the Samsung slider thing came out.
> there are lots of repeated key-hits, right?
Nope, one key per letter. T9 uses an internal dictionary to figure which word you meant, with some memory for preferred words when there's multiple matches and adding custom words.
Exactly this, and occasionally you'd have multiple words come up for the same number combo, but in a consistent manner where the user could learn how many times you needed to hit the 'next' button to get the word you wanted.
Oh wow, that’s wild.
I liked T9 but one of those Samsung phones you’re talking about were the last phone I had before I bought my first smartphone. Of course the one I had still had a keypad on the front so I could still type using T9 without looking.
Yeah, I had this too. T9 on the keypad was great for typing one handed without really looking while the keyboard was excellent for longer messages when you had two hands available.
Some of the young team haven't seen a rotary phone before.. Using t9 typing must seem like encryption to them.
I never saw anyone use T9 in Slovenia, but from being online and watching american movies I noticed it's used almost universally. I guess it works for typing English but Slovene didn't get such good support. Plus it was never enabled by default so people (myself included) just learned to get fast fingers.
I remember disabling T9 as the first step when getting any "new" phone, so it must've been enabled on some. Then again, I rarely got phones new from the store, so this might have been because they were factory reset.
I don't think I ever really knew what it was, other than "that thing that made typing difficult". I doubt any phone shipped with a Slovene dictionary for T9, so it was probably just doing its best trying to map my seemingly nonsensical keypresses onto English words.
The great thing about those keyboards was that a lot of people could just turn off text prediction and type text with a single hand without looking at the screen.
Huh?
The great thing about T9 (certainly on the Nokia 3210 and 8210) back in the day was you could type messages fast with few k/s without looking. As long as you had enough experience to know the word combos.
Ive never found a t9 system as good as the Nokia implementation. In some respects its better than qwerty for short messages. And don’t get me started on apples fundamentally broken auto correct system. People dont know any better these days. There’s actual adults walking today that have never typed on a real keyboard.
I remember it would always default to book instead of cool
A mate would regularly ask if I fancied a "riot" - was always disappointed when it turned out he was actually after a drink ("pint"!)
T9 works good for English and simple texts. If you need some other language, declensions, conjugations and non-Latin script things are no longer good.
Ericsson had a really good implementation for German. I would write entire text messages without looking.
Eh you would abbreviate things to hell to get around it. Helped with sms prices on those days too!
Which makes T9 fail miserably because it works with a non-abbreviated words.
Later there were adaptive versions which had an auto-populated user dictionary but that made "a blind T9ing" prone to errors.
I want to say you could add custom words no problem? But it's been a hot minute, so I might be misremembering.
Meh, Imma team Moto and I don't remember it well anymore, 20 years give or take.
Yes, the later variants both had a custom/user dictionary and could learn %he new words from the input. The latter could add the uncertainty in the input.
T9wording is still the easiest way to text while working a stick shift.
I dream of building an apple watch case that adds a T9 bluetooth keyboard. Turn the standalone Apple Watch into the dumbphone I've always wanted.
This is exactly my dream too, especially after seeing the Apple Watch prototype dumbphone cases they used to conceal them in public[0]. It would be a glorious re-purposing of the Apple Watch to serve the most diehard fans of the killed iPhone Mini.
Sadly the Apple Watch doesn't do proper external text input. You can connect a bluetooth keyboard, but it works by sending all input via the VoiceOver accessibility feature, which is slow and fidgety.
[0]https://cdn.idropnews.com/wp-content/uploads/2021/06/1509254...
How does the web demo work? I can enter numbers but where do we see resolved words? https://foxmoss.github.io/libt9/
Please submit an issue on the Github repo! This is a bug, it should automatically show with words as you type. Include platform details, console logs, etc. I am unable to test every platform alone sadly.
I never learned how to type fast on those old phones because I couldn't afford to send text messages.
[flagged]