Cheating at Gregg

Some things in this world exist for no apparent reason. Here’s another.

This is a (quick and dirty) video I did for a friend of a tool I built in my spare time over the last year. I taught my computer Gregg Shorthand and then I taught it to teach Gregg to me. In the bargain, I gained about 25% to my typing speed, so it was a win/win … if you call spending 500 hours to save about 15 minutes a day a win.

I actually did enjoy the process. I can tell I did, because I kept coming back to it after yelling at it so very often. The joy was vastly more real than the pain.

I won’t try to explain too much about the tool. The video does a better job of that than I can by typing this. Instead, I will try to explain the way I brought Gregg onto my computer.

All the keyboard-Gregg projects I’ve seen so far share two weaknesses. Most actually require you to type more characters than are in the original word. This makes them unusable. The rest are too hard to maintain, since adding to the dictionary is a constant thing. I had tried this in 2002 and created something with just exactly that same problem, and I knew it would not work for me.

I decided to address the issue of making long forms by assigning a single key to each Gregg shape, no matter how strange my forms felt.
th became h
sh became z
ch became c
au became w
oe became y

I kept q and x where I could, instead of the actual Gregg form of k and es respectively.

That got me a long way to a nice, short representation of Gregg forms at the keyboard.

The next problem all keyboard Gregg attempts face is overloading. The words “the”, “there”, and “their” all use the same “th” Gregg form, and in programming that is called overloading. I needed to handle overloading in some seamless way.

For better or worse, I decided my best bet was to disambiguate the forms deterministically with special keys (in English, I decided every overloaded form should be keyed with some unique character), and I decided those keys needed to be some of the most easily reached, most familiar keys. I chose to distinguish between the various permutations of words using an ending vowel.
“the” became “h”, because it is the most commonly used word.
“their” became “ho” because it is the second most commonly used word, using “o” for its “keyer”.
“there” became “hi” because it is the third most common.

I never type “Hi”, so that causes me almost no pain. If, however, I were to decide I needed to type hi, I needed a way to cancel the expansion of hi into there. To that end, if I hit the control key and any end character, the form typed so far does not expand. So, “hi<ctrl-space>” outputs “hi”, even though it would otherwise become “there”.

That gets me a system I’ve been able to use for a year now, and type comfortably. About 2 months ago I made a huge overhaul on the system that let me track every character I type, whether it expands or not. That gave me the ability to identify phrases I’d missed the opportunity to shorten. And with that step, the tool met all my “minimum viable product” requirements.

That was good, because I was well and truly burnt out.

Somehow, those few rules of thumb became about 2000 lines of AutoHotkey code. You can decide whether it’s of any use to you (or any amusement) in the video you will see below. I use it about 10 hours a day and save about 500 words of typing. In just 10 short years, I’ll have earned back all my invested time!

But that time-savings is not the main way in which it works for me. I’ve known and used Gregg for 30 years, and I’ve always, always, always hated readback. From what I hear, I’m not alone. Readback was killer hard for me, because I kept inventing new ways to express the same brief every single time I used it. I needed to drill, but I was never going to invest 500 hours drilling. I’m weak-minded, in the end.

My little program (I call it Qwertigraphy), enforces that I always use exactly the same brief to represent exactly the same word. It is miserably inflexible, and I have coded it to use the Gregg Anniversary dictionary of 1930 as its canon rigorously. I built it to be without all my built-in weaknesses! Sometimes I could have made an easier brief for a special word, but I did not because I want the dictionary to have meaning.

The other day I took an hour’s worth of pen and paper notes that I absolutely had to transcribe. I doubt I ever went faster than 50 wpm in writing or transcribing it, but I finished that transcription with an uncannily (for me) accurate transcription and only 5 words I could not identify in the whole process.

After a year of using this tool, readback is still work, but it no longer threatens to kill me.

It’s made Gregg a ton more fun for me.

You can watch it at play here:
Qwertigraphy at Play

You can download it and give it a try here:
The Qwertigraph


Previous post:
Next post: