Dear Fellow Plover Lovers,I got here the way most of us probably got here - I just wanna go fast. I am a Japanese to English patent translator by profession (and an enterprising Python/Autohotkey hacker by hobby/side-profession). Like many independent writers, I get paid by the word, so more words and more words faster = more money. And let's just be honest, who
wouldn't want to type at 200+ WPM, even if only for purposes of correspondence?
Subsequent research made it very clear that this is not a new idea. Not even close. The idea of wanting to write stuff really really fast is almost as old as language itself. Over the years this has produced a wide variety of written shorthands (some of the notable "modern" ones being Pitman, Gregg, and Teeline (1800s-early/mid 1900s)), which in more recent times seem to have been superseded by machine-based shorthand systems (StenEd, Phoenix, Stenomaster, Magnum Steno (mid/late 1900s-2000s?)).
Now we are bringing steno into the 21st century with Plover. As I read through the
Learn Plover! guide, I am concerned that Plover may be being fit to what is perhaps an outdated technology - the stenotype. I am hoping that those of you who are more familiar in the world of steno and Plover might be willing to address a few questions I have.
1. Is there any reason we still need to have only 22 keys available for chording?QWERTY keyboards, in all their inadequacy, have dedicated keys for each of the 26 letters of the alphabet, plus 10 dedicated keys for the numbers. Furthermore, it is only moderately difficult to become quite proficient at actuating all 36 of these little villains. This being the case, is there any reason we should still have to simultaneously press 6 keys (or 3 intersections between keys) to get a left-hand Z on the steno keyboard, or 4 keys (2 intersections between keys) for a left-hand G? Couldn't we just press a Z or a G switch? My early experimentation with Plover has given me a true awe for professional stenographers - chords that require more than three or so keys to be pressed are
hard. Very hard. Prohibitively hard...
What are some possible solutions? I'm sure many of you are familiar with the
ErgoDox keyboard. The ErgoDox has 20 "base" letter/number keys on each half of the keyboard, plus five keys for each thumb, and that's before we start considering layers added by modifiers like Control, Alt, and Shift
and before we start considering the programmable layers baked into the ErgoDox design itself.
With something like that, we could realistically put each consonant on its very own key on
both sides of the keyboard, use one thumb cluster for short vowels, and use the other thumb cluster for long vowels and thereby essentially have a full system of "tokens" for representing the phonemes (sounds) of the English language (also removing the need to use double or triple vowel key chords to access the various vowel sounds). In other words, this would make it possible to produce virtually every phoneme/syllable with a chord of no more than approximately three keys in total (initial left hand consonant, middle vowel sound, and ending right hand consonant - note that this is not counting the blended consonant sounds like "st" and "pr", which hopefully wouldn't be too hard to handle).
And this is all before we start applying various the clever optimizations such as double-purposing consonants (such as Q and K) and folding in common endings (-ed, -ing) that are already implemented in modern machine-based steno theories. Such optimizations could reduce the total number of consonant/vowel keys needed while still keeping a single dedicated key for each phonetic sound.
Here are some examples of words which currently make me cry to try to chord in Plover but might potentially become more accessible given a scheme with additional keys such as that described above. Also, attached is a rough example of what an ErgoDox-based steno keyboard
layout with additional chording switches might look like.
Note that this layout is not optimized for relative syllable frequency or ease of pressing common syllabic combinations -
this is just me throwing an idea out there. It is partially based on
the existing steno keyboard with the extra consonants thrown in where
there's room (note also that we keep the ZXCV keys in their current
location on the QWERTY keyboard to facilitate commonly used keyboard
shortcuts).
"tolerate"
TOL/RAEUT - easy 3-key chord/hard 5-key chord
=>
TOL/RāT - easy 3-key chord/easy 3-key chord
"please"
PHRAOES - very hard 7-key chord
=>
PLēZ - manageable 4-key chord (or just PLZ if we wanted to do some briefing trickery because we have so many consonant keys available)
This also makes it possible to retain the left-to-right spelling order of a word in almost all cases. Of course there are still bound to be collisions and word boundary resolutions to consider, but no more so than in existing steno theories.
How do we handle numbers, you might wonder. Flick one of the switches on the left or right half of the keyboard to access one of the other keyboard layers and turn the other half into a 10-key numpad. 10-key numpads are pretty good for entering numbers.
2. Is it currently possible to make Plover "listen" for keys other than the standard 22 Steno keys (STKPWHRAO*EUFRPBLGTSDZ)?This would make it possible to take advantage of additional keys/keycodes for chording purposes in order to achieve something like the layout described above. If not, how much work would be involved in making this possible? (I am willing to volunteer my time and coding experience.)
3. Is it possible to make Plover actively differentiate between single-key presses and chords?This would make it possible to do two very cool things. First, it would allow people to continue to use and type on their QWERTY (or alternative "conventional" keyboard layout - DVORAK, Colemak, Workman, etc.) keyboards with Plover in the background on the lookout for chords, potentially easing the transition into full-on chording. Using a text expansion scheme such as that in Autohotkey would make it possible to still take advantage of one and two letter briefs already present in Plover (K for "can", left-hand S for "as", FT for "of the", etc.), which could also be input sequentially (Press F, Press T, press Space => auto-expand to "of the", or chord FT => Plover catches chord and translates to "of the").
Next, and equally important, this would remove some of the need for a dedicated steno keyboard. It seems to me that you just cannot achieve your maximum Plover potential on a non-steno specialized keyboard. The vanilla Microsoft Sidewinder or any conventional keyboard just doesn't cut it as a stenotype without serious modifications. Stenosaurus and other hardware solutions seem eminently on the horizon, but no (reasonably priced) de facto hardware solution has yet emerged. And the ErgoDox has problems of its own (not everyone wants to solder together their own keyboard, although the upcoming
ErgoDox EZ solves that problem) and may not even be well-suited to use with Plover. I won't know until I get my hands on one, but how cool would it be if you could use a single keyboard for all of your text input tasks, both sequential (QWERTY-esque input) or chorded (Plover-esque) input (to say nothing of entertainment/gaming).
ConclusionI'm not trying to reinvent the wheel. A lot of very smart people have already done a lot of work on written and machine-based shorthand systems, and many of you similarly very smart people have done a lot of amazing work getting Plover to where it is today. But as long we are bringing steno into the 21st century, might not it be prudent to stop and consider optimizations we could make to steno theory itself as well? Is there a way we can take the strengths and brevity of historic shorthand systems like Pitman and Gregg and combine them with the strengths of contemporary machine-based theories to produce the cleanest, fastest, fully deterministic method of stenographic writing to date?
Here's to wondering. Please be so kind as to share any information or thoughts you may have.
Pete