Introducing Short Text

I’ve been working on a project for the past year or so that has to do with efficient silent input. When I use a computer to write, I use speech recognition software, and it works well most of the time. It’s great not having to spell words out like you do when you type. But there’s one thing about speech input that I don’t like – it’s not silent. I don’t want to be talking into my phone on the subway, for instance.  I resort to typing on an iPhone, which is fairly tedious.

So I’ve been thinking about the most efficient way to use a smart phone keyboard.

Typing Efficiency

First, here are several observations.

– Back in the days of flip phones, you could text using the number pad on the phone by pressing “2” once for A, twice for B, and three times for C, and “3” once for D, twice for E, etc. As tedious as that was, some people got very fast at it.

– Micro interruptions slow your thought process. If you touch type on a keyboard, you’re not interrupted by finding a key because your fingers are already on or very close to the keys they’re going to hit. With a smart phone keyboard you have to look more. Predictive text can speed things up, but you have to pay attention to the top bar to see when and if it has guessed a word correctly, which means lots of micro interruptions.

– Back in the days of typewriters, we had to spell words to get the correct letters on the page, but with computers, what you type doesn’t have to match what what the computer spits out. You can set up shortcuts on your smart phone using text replacement settings. The classic example is typing “omw” instead of “on my way” and having it expand to “on my way”. Even if you don’t have it expand, it’ll likely be understood because it’s one of a dozen or so acronyms that people tend to know. But there’s a limit to the number of acronyms you can remember.

There are two keys to efficient input: limiting the steps you have to take and limiting interruptions between steps.

There are three steps to hitting a key on the keyboard:

  1. Locate the key you want
  2. Move your finger to it
  3. Press

If you hit the same key twice, though, you get to skip the first two steps for the second press.

Thinking about all this, I made “the”, which is the most common word in the English language, expand when I typed a single “t” followed by a space on my iPhone. It was pretty satisfying typing just one letter instead of three every time I typed “the”, and the best part of it was I didn’t have to pay attention to the text prediction bar. I knew that typing “t” followed by a space would always type “the”. It was a sure thing.

I’m used to having to watch how the computer interprets my input when I use speech recognition, and it’s best to correct misrecognitions right away because, like predictive text, something can be misrecognized so badly you might not remember what you meant it to be. But it’s frustrating being interrupted to correct the computer’s mistakes.

So I kept thinking about how easy it was typing “t” instead of “t-h-e”.

I got a list of the top three words for each letter in the alphabet, and added three text replacements for all of the letters. For a, the first three words are a, and, about. I didn’t have to do anything for “a” because that’s already a word. When I type “aa”, it expands to “and”, and when I type “aaa”, it expands to “about”.

Here’s the whole set of top three words for each letter.

Short text layer 1

I’ve also added a Short Text page to the Patch on Tech site, and there’s a link to a PDF copy there, among other resources.

There’s something very satisfying knowing that “p” followed by a space is always going to expand into “people” and I don’t have to check it. It saves keystrokes and also lets me concentrate more on writing rather than choosing from what the computer’s predictive text says I might want or having to keep an eye on how the computer interpreted speech input.

Then I went further. I was inspired by stenography. And to explain this I have to digress a bit.


Stenographers type 250 or so words a minute while doing much less work than regular typing – they press a few keys at once, or a chord for each word. They can also spell things out, but most words are chords. And since they’re typing an entire word at once they don’t have to hit spaces between words. It also gains some efficiency from being phonetic. Movies sometimes show courts stenographers typing like crazy, but in real life the pace of stenography looks much slower because of the chording.

The Open Steno Project started a decade ago with an aim to make stenography software available to anyone. Before the Open Steno Project if you wanted to try steno, you had to spend $5,000 for the software, another $5,000 for hardware, and then steno school cost another $10,000. But now you can use the Open Steno Project’s Plover software, which is free and open source and can also be used with specialized keyboards built by hobbyists and gamers that cost as little as $75. Plover also has good documentation.

I have trouble if I type more than a little bit on a regular keyboard, and I was thinking that the steno keyboards, which have a much easier action, might be easier on my hands. Learning steno also requires a big time commitment – it takes a couple of years, and a lot of practice, which means a lot of keyboard use. But I was fascinated by the documentation. It’s all about efficient input, and pushing things into habit. Looking at what stenographers do, it seemed like it would be viable to learn many more text shortcuts.

Two Letters

I got lists of the top 5,000 spoken and written words, put them together and took out everything that had an ending like “ing” or “ed”. Then I spent quite a bit of time with a spreadsheet doing what turned out to be an interesting puzzle. I tried to see how many words fit into two letter combinations: the starting letter plus one other letter. Each letter could be typed 1 to 3 times. That gave me 6×26, or 156 possibilities for each word. It makes for faster typing having to find just two letters for each word.

Back to those endings that I took out. I’ve been frustrated by predictive text because I can often see a root word that’s correct, but the ending isn’t correct so I have to keep typing. The letter j isn’t used much, so I conscripted that letter for endings. A “j” at the end of a two letter shortcut means “ed”, “jj” is “ing”. I use “j” followed by another letter for other endings, for instance “jr” for “er”.  I conscripted another letter for plurals: “z” is  “s”, “zz” is apostrophe s and “zzz” is s apostrophe. So the two letter words are mostly root words – that expands the vocabulary quite a bit.

This took care of the basics, but I needed a bigger vocabulary, especially for the most common letters to start words – S has the most, followed by C and P.

By this point the thing I was going to do – get a list of common words and put shortcuts into my iPhone – was taking much more than the Saturday afternoon, and then few weeks, and then few months that I’d predicted. I’d started keeping track of everything on a single spreadsheet and it quickly moved to a sheet for each letter.

Any time you put something in a group it’s easier to remember. So I looked for patterns in the letters that had the most words and conscripted j again.

Words that start with A-F, I, M, P, R, S, and T use a J layer – the first letter followed by a “j” followed by another letter – to gain another 78 slots for each of those letters. Some of them also use a JJ layer to get another 78 possibilities. This let me fit the entire list of 5,000 words and gave me plenty of extra room on most letters. Words that go into the J layer have something in common. For instance, “ej” Short Text words all start with “ex”, so explain is “ejn”.

I still needed more room for words that start with S and C, though. So I conscripted the beginning letters X and XX for S, which added 156 more possibilities. And there are very few words that start with K. I moved these to the KK layer, freeing up the single K layer for words that start with C. Words that start with S and C also have a lot of words that begin with “sh” and “ch”. So they also have SZ and CZ layers.

That gave me plenty of room for the 5,000 most common words and also plenty more room to add more as I find words that I use that aren’t on the common word lists. Some of these are just different vocabulary, and some are words that have become common, like Covid-19.

I also made room in the system for some customization.

Words that start with Y are fairly uncommon, especially because I use the common shortcut “u” for “you”. So I moved words that start with “y” to the YY layer. I use “y” followed by another letter for days and months, so Monday is “ym”, Tuesday is “yt”, and Thursday is “ytt”.

Words that start with Q are also fairly uncommon. I moved them to the QQ layer, leaving “q” as a start for custom words. I put names I commonly use in the Q layer, for instance “Qe” is Eric. I also sometimes use “q” in a temporary way. At the beginning of a handwritten page or a text file, I’ll put “q” followed by the full word, then use the shortcut for the rest of the document. When I’m doing this on a computer, I don’t put the shortcut in text replacements – the first instance tells me what the word is just like it does in handwriting.

Words that start with Z are uncommon, so I moved them to the ZZZ layer, which opens up the 78 shortcuts that start with “z” and the 78 shortcuts that start with “zz” for custom words. I use “z” followed by another letter for hashtags, and “zz” followed by another letter for addresses.

For instance, zp is #PatchonTech, while zebra is “zzzb”, and zero is “zzzo”.

Also, words that start with “z” are so uncommon that It seemed a waste to use the top single letter shortcut for a “z” word. At the same time, I had an “it” problem. Single “I” is already a word, “in” is number eight on common word lists, and “it” is the eleventh most common word, right behind “I”. “Is”is also very common. Though these are all very short words, because they are extremely common I wanted to make them more efficient. So I use the very efficient single ”z” as “it”, which makes “zz” it’s. I didn’t use “zzz” as Short Text because it has an existing meaning – sleep.

One thing to notice about Short Text is I mostly just use two letters, and when I use three letters the shortcut always contains j or z, or in the case of custom Short Text, q. So they rarely conflict with other shortcuts that use three or more letters: IMHO, LOL, BTW, etc.

Trying it out

I added the second layer of words into the text replacements on my iPhone, speeding things up using speech input to say the spelled-out words. And then I added a third layer – the  J layer for the letters that have that layer.

I’ve been using Short Text for texting on my iPhone, and I’ve gotten to know the initial 75 words well enough to rattle them off, and a lot of the two letter codes as well.

The patterns are interesting – sometimes you get to know several words when you look up one because there’s an interesting confluence – eat entire elephant, for instance, is et, ett, ettt.

And then they crept into my handwriting, with a twist. I put a tic mark after a letter to indicate a repeated letter. This sped up handwriting, and, just like on the keyboard, I can write a mix of Short Text and spelled-out words.

So the work that I put in on a faster way to type words in also works when I write by hand.

The other thing about handwriting is the Short Text stays Short Text, unlike typed Short Text, which expands to regular words when you type it.

So it’s useful to be able to read it, and that, in turn, helps me learn it.

Also, the more Short Text I use in handwriting, the faster I get things down, which, in turn, gives me the time to write neatly so everything is very readable. It also takes up about a third less space, so suddenly my pages are bigger.

It’s been interesting to see the mix of Short Text and regular words that comes out in my handwriting as time goes by and I remember more Short Text words, and also depending the situation – if I’m taking notes in a hurry and don’t have time to think.

I’ve experimented with different types of Short Text lookups. You can always try to see what turns out on a smart phone, and you can always look up from the text replacements window. But I think it’s also useful to learn using a paper lookup that lays everything out. I’ve experimented with a couple of different types of dictionaries, including trying to learn one layer at a time, but I’ve settled on alphabetical lookup that puts all the layers of each letter together. Say I want to look up the word “habit”. I use the H tab, because I know what the first letter is going to be, then guess that the second letter is b, and look along the hb row until I find it, or if I don’t find it, I pick another letter in “habit” and do the same thing. In the case of habit I find it right away: hb.

I’ve also ported the Text Replacements from my iPhone to a PC app – Word Expander, which lets me have more items. I also did a reverse list for that, so I can type a word in, and it will spit out Short Text. I can also use speech recognition to put the words in and get Short Text out.

I started this blog item about a year ago and the first line was “I’ve been working on a project for the past couple of months…” At around the same time, I mentioned at the end of another blog post that I was getting ready to post about a new project. This is that, a year later.

In that year I’ve also thought about what smart phone makers could do to make a system like Short Text easier to implement and use. That’s what I’ll post about next.

The Short Text page on Patch on Tech points to Short Text resources including a PDF of the top three list shown above, and a PDF of the current short text dictionary.