RFC: Kinglet: A Letter-Based Stenotype System

439 views
Skip to first unread message

Zack Brown

unread,
Dec 21, 2015, 10:56:51 AM12/21/15
to ploversteno
Hi folks,

https://sites.google.com/site/ploverdoc/kinglet-a-letter-based-stenotype-system

I wrote a draft document describing the behavior of Kinglet, a stenotype system in which the user spells out words instead of producing sequences of phonemes. As far as I can tell it should be roughly as fast as Plover when writing ordinary English (as opposed to doing legal transcriptions and whatnot), and it should be a bit easier to learn. There's no implementation yet - I'm hoping the features might be folded into the Plover software at some point, if anyone feels motivated to write the patches.

I'd love to hear any feedback anyone might have.

Be well,
Zack

--
Zack Brown

Mirabai Knight

unread,
Dec 21, 2015, 11:05:03 AM12/21/15
to ploversteno
Seriously cool, Zack! Do you have any videos of yourself typing in
Kinglet? What's your current WPM? Do you want me to post about this on
the Plover blog as an alternative for people who might be intimidated
by the high learning curve of steno?
> --
> You received this message because you are subscribed to the Google Groups
> "Plover" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ploversteno...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Mirabai Knight, CCP, RDR
StenoKnight CART Services
917 576 4989
m...@stenoknight.com
http://stenoknight.com

Zack Brown

unread,
Dec 21, 2015, 11:19:01 AM12/21/15
to ploversteno
It'd be great to get it onto the Plover blog - I'd like to get as much feedback as possible.

There's no actual Kinglet software though. So it's never been used by human fingers. It's all still in the brain region at the moment. The numbers look good though, in terms of speed. And I'd love to see its features folded into Plover at some point.

Be well,
Zack

Zack Brown

Zack Brown

unread,
Dec 21, 2015, 11:21:22 AM12/21/15
to ploversteno
... but just at a guess, I think I could get a good 2-3 words per minute, currently. That might be optimistic though...
--
Zack Brown

Theodore Morin

unread,
Dec 21, 2015, 11:40:27 AM12/21/15
to ploversteno
Very neat idea. So it's kind of like trying to get 5 characters out at a time and your hands kind of act like a stream where every two fingers count as a character. I've got to say that, after Plover has let me forget about spelling, I don't really want to go back 😛 I'm quite satisfied not having to remember how to spell nauseous, vacuum, succinct, conscious, antidisestablishmentarianism, subtle, or many other "edge" cases in English. But I do see this being popular with people who don't dig the phonetic part of steno. Maybe try cross posting this at geek hack? You could do a "The quick brown fox jumps over the lazy dog." demo and drill it until you hit about 20 words per minute and then speed it up to show people what you could do.

Zack Brown

unread,
Dec 21, 2015, 12:05:37 PM12/21/15
to ploversteno
That's about the size of it, although typically you should be able to get a bit more than 5 characters at a time.

Benoit Pierre

unread,
Dec 21, 2015, 6:07:23 PM12/21/15
to plove...@googlegroups.com
Interesting. How do you undo a stroke?
 
Shouldn't the stroke for "?" technically be "4F5G" instead of "45FG"? (To respect keys ordering).

I figured this could be easily implemented with the work I did for Mecatipia, so I took a pass at it:
- sources available here: https://github.com/benoit-pierre/plover/compare/master...benoit-pierre:kinglet
- Windows build here: https://drive.google.com/file/d/0B9Je8TDYCh1xSVRjVmQ0RUF0ejA

Note:
- CAPS not supported
- the lookup function (available through the dictionary lookup feature in the Plover GUI) could use some work: it's just a copy/paste of what I had for Mecatipia, cleaned up a little, so it does not take fingers placement into account

Cheers,

--
A: Because it destroys the flow of conversation.
Q: Why is top posting dumb?

Mike S

unread,
Dec 21, 2015, 8:08:47 PM12/21/15
to Plover
Nice. I like that people are creating their own systems. I'm also working on my own chord keyboard but its speed has more ot do with the layout and the variety of chord shapes that can be used. It uses the replication of key concept but without using layers. 

I'm getting pretty good at using my paper model. I'm going to build a prototype after Xmas vacation. 


Zack Brown

unread,
Dec 22, 2015, 7:13:54 AM12/22/15
to ploversteno
Wow, that's very cool!! I'll see if I can get your code working on my Linux system.

Thanks for the correction too - I updated the Sites page and the script. That was a very nice catch.

Be well,
Zack


--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Zack Brown

Jennifer Brien

unread,
Dec 22, 2015, 7:23:57 AM12/22/15
to Plover
This looks simple, and yet fiendishly complex. 

I don't think I could use your preferred method of continuation. If each syllable starts with the thumbs then at least each syllable that starts with the same letters also has (partially) the same muscle form. Slide everything along by one character and it all changes. many years ago I learned the Microwriter (now Cykey) chords and found I could chord maybe 50% faster than one-handed by using both hands in mirror image, yet though I taught myself the right hand chords in the proper left-to-right sequence I found it a lot more difficult to use both hands together. 

Another possibility is to assume that each stroke is a complete word so that a space is typed automatically, unless you use the space bar as a glue key to join the parts. 

Zack Brown

unread,
Dec 22, 2015, 10:43:41 AM12/22/15
to ploversteno
Hi Jennifer, thanks for taking a look!

The thing to remember is that all symbols have roughly the same muscle forms for any given finger-pair. So, when you type a word or a part of a word, you're not typing a particular muscle form to match that word, you're typing several muscle forms that match the letters and other symbols you need to produce.

It requires a different way of learning. With traditional steno, you have to learn muscle forms for whole words, and those forms are the same each time. The drawback being that you can't get good unless you get familiar with every single common word, so that you can type it as soon as you think of it. That's a lot of muscle forms!

With Kinglet, each finger-pair is responsible for the same 48 muscle forms and that's it. And then, instead of thinking in terms of words and syllables when you type, you think in terms of individual symbols. So as you type, each finger-pair gravitates to the next needed muscle-form.

About auto-inserting spaces: unfortunately, as much as I would like to have each stroke be guaranteed to match a full word, I couldn't figure out how to do that. In Kinglet, the space character has to be folded into the middle of most strokes. The most common case in Kinglet, is for each stroke to produce the end of one word and the start of the next.

Be well,
Zack







--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Zack Brown

Benoit Pierre

unread,
Dec 22, 2015, 11:02:58 AM12/22/15
to plove...@googlegroups.com
On Tue, Dec 22, 2015 at 1:13 PM, Zack Brown <zach...@gmail.com> wrote:
Wow, that's very cool!! I'll see if I can get your code working on my Linux system.

I developed/tested on Linux, so this should work. Note that I foolishly added "10zx./\" as no-op to the keymap, so you should remove those in the configuration dialog. Those keys will still behave slightly differently than the others though: output on press, and with auto-repeat.

Regarding the ability to type normally, one key at a time, I don't thing this feature would work in my case: I want to be able to type at my regular speed, and with the finger rolls of Colemak, I will sometime have more than one key pressed, which of course is going to be picked up as a chord by Plover...
 

Thanks for the correction too - I updated the Sites page and the script. That was a very nice catch.

There is another example where my implementation does not give the same output:

> python2 ./kinglet.py / 'BV,4YHU2EK/BN,TGYE8IO/,45728I/B45H23O/V4R5T6Y7UWIL/CN,R5UWSEI/NFTGY2WSO/BNRFTG6YUJED8O/BVM,RY7EOL/VCM,RFTG6Y7EOL/VC,F5TGHJE8IO/VNTYHJWEL/BMTYHUJW8O/BVCNF67S3E'
oblique anastomosis effeczd between spatulated upper ureter and renal pelvis.
-------------------------^

Also, I still don't know how to undo a stroke!

Benoit Pierre

unread,
Dec 22, 2015, 11:28:12 AM12/22/15
to plove...@googlegroups.com
OK, so the example should be: V4R5T6Y7UWIL/CNM,R5UWSEI

Patch for the kinglet script:

--- kinglet.orig        2015-12-22 17:26:16.708962298 +0100
+++ kinglet     2015-12-22 17:26:20.232295708 +0100
@@ -45,7 +45,7 @@
 $sixalpha[0]{'|'} = "BV,";
 $sixalpha[0]{'v'} = "BVCN";
 $sixalpha[0]{'or'} = "BNM,";
-$sixalpha[0]{'te'} = "CN,";
+$sixalpha[0]{'te'} = "CNM,";
 $sixalpha[0]{'k'} = "BVC,";
 $sixalpha[0]{"'"} = "BC";
 $sixalpha[0]{'"'} = "N,";

 
Cheers,

Jennifer Brien

unread,
Dec 23, 2015, 5:51:22 AM12/23/15
to Plover


On Tuesday, 22 December 2015 15:43:41 UTC, Zachary Brown wrote:
Hi Jennifer, thanks for taking a look!

The thing to remember is that all symbols have roughly the same muscle forms for any given finger-pair. So, when you type a word or a part of a word, you're not typing a particular muscle form to match that word, you're typing several muscle forms that match the letters and other symbols you need to produce.

It requires a different way of learning. With traditional steno, you have to learn muscle forms for whole words, and those forms are the same each time. The drawback being that you can't get good unless you get familiar with every single common word, so that you can type it as soon as you think of it. That's a lot of muscle forms!

With Kinglet, each finger-pair is responsible for the same 48 muscle forms and that's it. And then, instead of thinking in terms of words and syllables when you type, you think in terms of individual symbols. So as you type, each finger-pair gravitates to the next needed muscle-form.

I don't know, but it seems to me that having to think of individual characters, five at a time, is a backward step. With each stroke you are dealing with a sequence that is possibly unique and essentially meaningless. Imagine a speed-reading app that displayed five characters at a time.  Pretty useless, no?
 

About auto-inserting spaces: unfortunately, as much as I would like to have each stroke be guaranteed to match a full word, I couldn't figure out how to do that. In Kinglet, the space character has to be folded into the middle of most strokes. The most common case in Kinglet, is for each stroke to produce the end of one word and the start of the next.

I was thinking auto-add a space before the thumb character unless the thumbs also press the space bar. Thus

[cap]M[er]ry
[cap]Chri
stmas
and[]a
[cap]Happ
y
[cap]New
[cap]Year

vs
[cap]M[er]ry
[][cap]Chr
istma
s[]and[]
a[][cap]Hap
py[][cap]Ne
w[][cap]Ye
ar





Zack Brown

unread,
Dec 23, 2015, 5:55:22 AM12/23/15
to ploversteno
I've been thinking of just regular backspace for undoing one character at a time. I don't see a real need for stroke-undo, since Kinglet is spelling-based. It's more natural to think of finger-pair-undo, which regular backspace handles naturally.

--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Zack Brown

Zack Brown

unread,
Dec 23, 2015, 6:11:44 AM12/23/15
to ploversteno
Another good catch - thanks! I updated the script on the Kinglet page, and updated the examples, and gave a link to your code at the top of the doc.

Be well,
Zack


--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Zack Brown

Zack Brown

unread,
Dec 23, 2015, 8:22:23 AM12/23/15
to ploversteno
On Wed, Dec 23, 2015 at 5:51 AM, Jennifer Brien <jenny...@googlemail.com> wrote:

About auto-inserting spaces: unfortunately, as much as I would like to have each stroke be guaranteed to match a full word, I couldn't figure out how to do that. In Kinglet, the space character has to be folded into the middle of most strokes. The most common case in Kinglet, is for each stroke to produce the end of one word and the start of the next.

I was thinking auto-add a space before the thumb character unless the thumbs also press the space bar. Thus

I think you've hit on something really good. But I want to reverse the sense of it - instead of auto-adding a space *unless* the thumbs hit the spacebar, I think the thumbs should be able to add a space by hitting the spacebar if they choose.

The bottom line with Kinglet is that the space symbol could be needed by any finger-pair. I don't see a real way to get around that. But by adding an additional way to make a space for the thumbs, it could tick the average chars-per-stroke ratio by maybe 1/5 or more, which is a lot.

I added this to the Kinglet doc. I'm still not 100% sure about it - maybe it'll turn out not to work so well in practice. But for now, it looks very interesting.

Thanks!
Zack


[cap]M[er]ry
[cap]Chri
stmas
and[]a
[cap]Happ
y
[cap]New
[cap]Year

vs
[cap]M[er]ry
[][cap]Chr
istma
s[]and[]
a[][cap]Hap
py[][cap]Ne
w[][cap]Ye
ar

--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Zack Brown

Mike S

unread,
Dec 23, 2015, 8:41:55 AM12/23/15
to Plover
Has your WPM improved since you first developed this layout?


I get my plates and case for my syllable based chord keyboard next week. My goal is a chord based keyboard that doesn't require any memorization, that a person can effectively type on their first day at 20 wpm or more but once they learn the layout their speed rapidly improves to hopefully  100+ wpm. 

Zack Brown

unread,
Dec 23, 2015, 9:54:03 AM12/23/15
to ploversteno
Not yet, but I'll keep everyone posted on my Kinglet WPM. Now that Benoit's implemented a working version, it'll definitely be getting some hands-on testing.

I wish you luck on your syllable-based approach. If you'd like to add a description of it to the Learn Plover pages, let me know. I've already got a page there for Kinglet, and it makes sense to include any other free steno systems out there.

How are you designing your chord layout?

Be well,
Zack



On Wed, Dec 23, 2015 at 8:41 AM, Mike S <mwsh...@gmail.com> wrote:
Has your WPM improved since you first developed this layout?


I get my plates and case for my syllable based chord keyboard next week. My goal is a chord based keyboard that doesn't require any memorization, that a person can effectively type on their first day at 20 wpm or more but once they learn the layout their speed rapidly improves to hopefully  100+ wpm. 

--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Zack Brown

Jennifer Brien

unread,
Dec 23, 2015, 10:48:34 AM12/23/15
to Plover


On Wednesday, 23 December 2015 13:22:23 UTC, Zachary Brown wrote:

I think you've hit on something really good. But I want to reverse the sense of it - instead of auto-adding a space *unless* the thumbs hit the spacebar, I think the thumbs should be able to add a space by hitting the spacebar if they choose.

You're right. With a syllabic orthography you can type maybe 80% of words in a single stroke, so the 'no-space space' makes sense. When you are restricted to five slots that ratio is a lot nearer to 50% and perhaps below.  
 

The bottom line with Kinglet is that the space symbol could be needed by any finger-pair. I don't see a real way to get around that. But by adding an additional way to make a space for the thumbs, it could tick the average chars-per-stroke ratio by maybe 1/5 or more, which is a lot.

I added this to the Kinglet doc. I'm still not 100% sure about it - maybe it'll turn out not to work so well in practice. But for now, it looks very interesting.

Thanks!
Zack

You'll see that in the message below I've included a space character to include two words (and a) in the one stroke. Obviously that only works with words of three letters at most.  Where it can't be done I have the feeling that it would be better to 'waste' the remaining slots of that stroke and start the next word with the thumbs.
 


[cap]M[er]ry
[cap]Chri
stmas
and[]a
[cap]Happ
y
[cap]New
[cap]Year

vs
[cap]M[er]ry
[][cap]Chr
istma
s[]and[]
a[][cap]Hap
py[][cap]Ne  
w[][cap]Ye
ar

Also, I lost count of the characters here.  It should be (I think)

[cap]M[er]ry
[][cap]Chr
istma
s[][an]d[]

Zack Brown

unread,
Dec 23, 2015, 1:46:59 PM12/23/15
to ploversteno
On Wed, Dec 23, 2015 at 10:48 AM, Jennifer Brien <jenny...@googlemail.com> wrote:


On Wednesday, 23 December 2015 13:22:23 UTC, Zachary Brown wrote:

I think you've hit on something really good. But I want to reverse the sense of it - instead of auto-adding a space *unless* the thumbs hit the spacebar, I think the thumbs should be able to add a space by hitting the spacebar if they choose.

You're right. With a syllabic orthography you can type maybe 80% of words in a single stroke, so the 'no-space space' makes sense. When you are restricted to five slots that ratio is a lot nearer to 50% and perhaps below.  

True. Though it partly depends on how you count. The average word length in English is 5.1 letters, so Kinglet should be able to type nearly 100% of words in a single stroke, on average.
 
The bottom line with Kinglet is that the space symbol could be needed by any finger-pair. I don't see a real way to get around that. But by adding an additional way to make a space for the thumbs, it could tick the average chars-per-stroke ratio by maybe 1/5 or more, which is a lot.

I added this to the Kinglet doc. I'm still not 100% sure about it - maybe it'll turn out not to work so well in practice. But for now, it looks very interesting.

Thanks!
Zack

You'll see that in the message below I've included a space character to include two words (and a) in the one stroke. Obviously that only works with words of three letters at most.  Where it can't be done I have the feeling that it would be better to 'waste' the remaining slots of that stroke and start the next word with the thumbs.

That would severely limit Kinglet's maximum typing speed. In a lot of cases, Kinglet does manage to type more than one word per stroke - something Plover only does in very rare cases of English idioms.

Getting extra characters out of a single stroke is what allows Kinglet to be speed-competitive with Plover at all. Kinglet makes up for its difficulty at long words, by being very fast at short words. If we take that away, it would add up to a significant lowering of the maximum words-per-minute that Kinglet could achieve.

I don't think your concern about interrupting words in the middle of a stroke is well-founded. It's not so bad to have to finish a word on a subsequent stroke. Plover does it for a lot of dictionary entries. And QWERTY keyboards interrupt words on pretty much every single stroke, without causing any confusion.
 
Be well,
Zack

--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Zack Brown

Zack Brown

unread,
Dec 28, 2015, 1:23:57 PM12/28/15
to ploversteno
Hi folks,

I just updated the 'kinglet' script at
https://sites.google.com/site/ploverdoc/kinglet-a-letter-based-stenotype-system

It now handles capitalization without need you to type things like "my
name is |zack". You can just use "my name is Zack" and it'll give you
the proper chords:
BVRTGUWEL/BVRUS89/M4RGH7JDIL/BVC,

It also handles the 'allcaps' feature, so something like "my name is
ZACK, all right?" will produce:
BVRTGUWEL/BVRUS89/M4RG6YJS3DL/V,4RFG6YJ2EDO/,4T6UEKL/C45THU38K9L/

Be well,
Zack

On Mon, Dec 21, 2015 at 10:56 AM, Zack Brown <zach...@gmail.com> wrote:
--
Zack Brown

Zack Brown

unread,
Dec 30, 2015, 10:16:08 AM12/30/15
to ploversteno, benoit...@gmail.com
Hi Benoit,

I don't really know python, but I tried to patch your kinglet.py
script to have the left thumb use XCV instead of CVB for its keys. The
new way is better on QWERTY because it allows the hands to be more
symmetrical. I've updated the Kinglet diagrams on the Sites page as
well.

This patch partially works now, because "VN" produces 's' and "CM"
produces 'n'. But "X," only produces the 'x,' string, as if it's not
being processed by the Plover engine. Can you see where I messed up?

Be well,
Zack

diff --git a/kinglet.py b/kinglet.py
index 227a00f..148d82f 100644
--- a/kinglet.py
+++ b/kinglet.py
@@ -1,9 +1,9 @@
# vim: set fileencoding=utf-8 :

-# BVCNM,4RF5TG6YH7UJ2WS3ED8IK9OL
+# VCXNM,4RF5TG6YH7UJ2WS3ED8IK9OL
LETTERS = (
# Thumbs.
- 'B', 'V', 'C',
+ 'V', 'C', 'X',
'N', 'M', ',',
# Left fore and middle fingers.
'4', 'R', 'F',
@@ -19,7 +19,7 @@ LETTERS = (
'9', 'O', 'L',
)

-IMPLICIT_HYPHENS = 'BVCNM,4RF5TG6YH7UJ2WS3ED8IK9OL'
+IMPLICIT_HYPHENS = 'VCXNM,4RF5TG6YH7UJ2WS3ED8IK9OL'

# Undo stroke.
UNDO_STROKE_STENO = ''
@@ -29,7 +29,7 @@ KEYMAP = {
'2': u'2', '3': u'3', '4': u'4', '5': u'5', '6': u'6', '7': u'7',
'8': u'8', '9': u'9',
'W': u'w', 'E': u'e', 'R': u'r', 'T': u't', 'Y': u'y', 'U': u'u',
'I': u'i', 'O': u'o',
'S': u's', 'D': u'd', 'F': u'f', 'G': u'g', 'H': u'h', 'J': u'j',
'K': u'k', 'L': u'l',
- 'C': u'c', 'B': u'b', 'V': u'v', 'N': u'n', 'M': u'm', ',': u',',
+ 'X': u'x', 'C': u'c', 'V': u'v', 'N': u'n', 'M': u'm', ',': u',',
}

CLUSTER_SIZE = 6

Benoit Pierre

unread,
Dec 30, 2015, 1:20:53 PM12/30/15
to Zack Brown, ploversteno
On Wed, Dec 30, 2015 at 4:15 PM, Zack Brown <zach...@gmail.com> wrote:
Hi Benoit,

Hi


I don't really know python, but I tried to patch your kinglet.py
script to have the left thumb use XCV instead of CVB for its keys. The
new way is better on QWERTY because it allows the hands to be more
symmetrical. I've updated the Kinglet diagrams on the Sites page as
well.

This patch partially works now, because "VN" produces 's' and "CM"
produces 'n'. But "X," only produces the 'x,' string, as if it's not
being processed by the Plover engine. Can you see where I messed up?


You need to update Plover keymap too. I just pushed some changes to github to move the default keymap definition to kinglet.py, so everything related to the theory is in one place. I also updated the theory with your changes, so everything should work now (just make sure the Plover configuration is updated too, and uses the correct keymap, in Configure.../Machine/NKRO Keyboard/Configure...).

Cheers,

Benoit Pierre

unread,
Dec 30, 2015, 2:16:26 PM12/30/15
to Zack Brown, ploversteno
Quick follow-up:

- I updated the Windows build too (same URL)
- you're missing an initial "git" in the first clone command in the instructions to get the code

Zack Brown

unread,
Dec 30, 2015, 5:28:52 PM12/30/15
to Benoit Pierre, ploversteno
Thanks Benoit, I pulled your code and it seems to work fine. I'm
starting to use Kinglet for typing, so it's possible more chords may
change as I adjust my understanding of their difficulty levels. My
current speed is about 1 WPM.

Thanks for the Sites fix! I updated the page.

Be well,
Zack
--
Zack Brown

Jennifer Brien

unread,
Dec 31, 2015, 12:48:19 PM12/31/15
to Plover


On Wednesday, 23 December 2015 18:46:59 UTC, Zachary Brown wrote:

That would severely limit Kinglet's maximum typing speed. In a lot of cases, Kinglet does manage to type more than one word per stroke - something Plover only does in very rare cases of English idioms.

Getting extra characters out of a single stroke is what allows Kinglet to be speed-competitive with Plover at all. Kinglet makes up for its difficulty at long words, by being very fast at short words. If we take that away, it would add up to a significant lowering of the maximum words-per-minute that Kinglet could achieve.

I don't think your concern about interrupting words in the middle of a stroke is well-founded. It's not so bad to have to finish a word on a subsequent stroke. Plover does it for a lot of dictionary entries. And QWERTY keyboards interrupt words on pretty much every single stroke, without causing any confusion.

I've just had a first paper run (using only words made up of ETAION) and you're right; The 'sliding window' effect is not as confusing as I thought it would be. 

One thing I have discovered: it's a *lot* easier if you mirror the columns, so that the same fingers of each hand are responsible fore the same letters. 

Zack Brown

unread,
Jan 1, 2016, 4:54:07 AM1/1/16
to ploversteno
Hi Jennifer,

I think you're probably right about mirroring the columns for opposite
hands. I'll try using the existing chords for the left hand, and the
mirror image for the right, and see how that feels. Thanks for the
idea!

I've actually noticed a huge flaw in Kinglet - the thumbs are not able
to produce the chords for 'j', 'k', 'q', 'v', 'z', 'or', 'te', '!', or
'?'. This is because unlike fingers, the thumbs can't easily switch
arbitrarily over to each other's set of keys.

I've been considering ways of dealing with this, but it seems clear
that the thumbs will need a different set of chords than the fingers.
The real problem is that I don't want to sacrifice the number of
chords available for the thumbs - I want to keep it at 48 or better,
so as not to impact the maximum words-per-minute that Kinglet can
produce. Probably this will involve something like reintroducing the B
key, and allowing each thumb to stray some distance across the border
to the other thumb's keys.

Be well,
Zack

Hanchul Park

unread,
Jan 10, 2016, 4:30:12 PM1/10/16
to Plover
Is there anyone who uses or trains the Kingslet? The Six-Key Alphabet of Kinglet... I think its fingering is far too difficult, and almost impossible on the standard qwerty keyboard. In http://www.robson.org/gary/a-jcr1.php, the author says that the stroke -FBLS is very difficult to hit cleanly, while Kinglet would give rise to a lot of possibly worse fingerings. My first impression of Kingslet was that it looks like it was designed to input random sequences of Roman alphabets, not English language. If it works properly, Kingslet will overwhelm the standard steno in that field. But why should we input random sequences quickly?
If one insists on the letter-based steno system, how about this alternative?

Tab   Q W E R T   Y U I O P [
Caps  A S D F G   H J K L ; '
             X C V      N M ,

The finger to key mapping is like this:
left pinky      Tab, Q, Caps lock and A
left ring        W, S
left middle     E, D
left index      R, T, F, and G
left thumb     X, C, V

and symmetrically for the right hand. Well, this could still contain difficult strokes like -FBLS, but it is similar to the standard steno layout, and is possible to apply six-key alphabet method. For example, the left middle has four possibilities (no key pressed, E, D, and ED) and the left index has at least nine possibilities (no key pressed, R, T, F, G, RT, FG, RF, TG), so the two fingers are capable of 35 = 4x9 - 1 letters. In thumbs' case, the possibilities are the same 35 = 6(=no keys, X, C, V, XC, CV)x6 - 1.
According to the above link  http://www.robson.org/gary/a-jcr1.php , the number of possible strokes in the standard steno keyboard is about eight million. In contrast, the number of Kingslet's possible strokes is 282475248 = 49^5 - 1, not counting thumb spacebar combinations. This is about 35 times of standard one! The problem is that too many strokes are wasted for the meaningless sequences like rtmkw, -!on'? or "x"i".
What do you think?


2015년 12월 22일 화요일 오전 12시 56분 51초 UTC+9, Zachary Brown 님의 말:
Hi folks,

https://sites.google.com/site/ploverdoc/kinglet-a-letter-based-stenotype-system

I wrote a draft document describing the behavior of Kinglet, a stenotype system in which the user spells out words instead of producing sequences of phonemes. As far as I can tell it should be roughly as fast as Plover when writing ordinary English (as opposed to doing legal transcriptions and whatnot), and it should be a bit easier to learn. There's no implementation yet - I'm hoping the features might be folded into the Plover software at some point, if anyone feels motivated to write the patches.

I'd love to hear any feedback anyone might have.

Zack Brown

unread,
Jan 11, 2016, 2:09:51 PM1/11/16
to ploversteno
Hi Hanchul,

Thanks for the feedback about Kinglet. I agree that some of the chords
are pretty hard, at first. And you're right that Kinglet was designed
to allow the user to produce any string of symbols they wanted, rather
than only whole words. And it's also true that nobody is currently
using Kinglet for real typing. It's too new - I'm currently learning
it, but I'm no good yet. So your points are well taken.

My experience after using Kinglet for just about a week or so, is that
some of the chords are *definitely* going to require more practice and
patience to master than others. Kinglet chords are inherently more
difficult than Plover chords, because they use three rows of keys
instead of just two. That means that neighboring fingers may have a
greater vertical distance to travel in order to hit their target. And
since a target can involve not just an individual key, but also the
joints between keys, it's important to be able to maintain precision
when hitting a Kinglet chord.

So the ultimate question for Kinglet is: can someone develop the
dexterity to hit the chords quickly and accurately enough to get up to
three or four strokes per second? The answer is that we don't know
yet.

The reason I think it's worth investigating further, rather than just
giving up, is because if you go by the numbers, Kinglet is *roughly*
as fast as Plover. Plover gets one word per stroke, while Kinglet gets
between 5 and 7 characters per stroke, which is roughly equivalent to
the average-length English word. The true speed comparison will vary,
based on the kind of writing. For email, novels, and shell scripting,
Kinglet may be faster. For legal and medical transcription, Plover
will certainly win out. Also, the world record will almost certainly
be held by a traditional steno user and not a Kinglet user because
traditional steno can make all those briefs. But on average, for
normal usage, and based on the theory alone, the two are *roughly* the
same speed.

My current speed with Kinglet is about 1.5 words per minute. As I
start to memorize the chords, that will undoubtedly increase. I'll
post updates as I go. And I'll probably write new exercises to match
my own learning process, and publish them on the Kinglet page.

Be well,
Zack

Hanchul Park

unread,
Jan 11, 2016, 4:49:27 PM1/11/16
to Plover
Hello Zack,

First of all, I should confess that I have no real experience with any kind of stenography, although I just started learning Korean stenography yersterday.
 
As you said, the vertical distance of adjacent fingers is a major problem, but it is not the end. I can hardly imagine to stroke 2WSFG5 at the speed of three or four strokes per second, while I think 2D4 is difficult enough. The thumb chords look relatively easier, but there is also a problem. If the chord for 'j' is "NM,", then the left thumb should press N and the right one "M,", not the current version of NM and ",". But the N key is still too far for the left thumb, considering one should press it while pressing chords like 2WSFG5. I think that Kingslet has potential to be a unique and reasonable system, but if it becomes evident Kingslet contains a lot of "too hard to press at the reasonable speed" chords, then you should seriously consider reducing the number of 6-key chords (currently 48) or find any other way to solve it.

This might (or might not) help... Korea has two stenography systems. One, called CAS(카스), is two-row based just like English, and the other, called Sorizava(소리자바) is three-row based. Even in the latter one, rarely appearing letters live in the top row, and there are very rare chords pressing both top and bottom row in the same hand, if they exist, as far as I know. I don't know any other example of three-row based steno systems. See https://ko.wikipedia.org/wiki/%EC%86%8D%EA%B8%B0_%EC%9E%90%ED%8C%90(Korean) for pictures.

I will be very surprised if there is a working steno system capable of 225+ WPM without any briefs. Please let me know any such example. So it will be awesome if Kingslet can be fast roughly as Plover. For instance, languages like Korean or Japanese have simple syllables and very consistent orthography except Chinese characters in Japanese, and therefore one can input any sentence in Korean or Japanese using regular strokes without briefs, no exception. But without briefs, it is relatively slow and I guess 180~200 WPM would be a limit. I think Stan Sakai is an expert in this field.

By the way, do you have any idea of a dedicated steno machine for Kingslet or is it OK on just a qwerty keyboard? If Kingslet really contains many difficult chords as I said, is there a way to remedy this by smartly designing the machine?

Best,
Hanchul

2016년 1월 12일 화요일 오전 4시 9분 51초 UTC+9, Zachary Brown 님의 말:

Gabriel Holmes

unread,
Jan 11, 2016, 8:47:32 PM1/11/16
to Plover
Forgive my ignorance, but given that Korean uses a syllabery -- how is Korean steno (or Japanese or Cherokee steno for that matter) appreciably different from regular typing?

Zack Brown

unread,
Jan 11, 2016, 9:34:59 PM1/11/16
to ploversteno
2WS3F5 equates to "-v" in Kinglet, which is probably not a very common thing to type. But you're right, it's a hard chord.

Here's my approach to this issue. It's all about fingering and practice. So to do the 2WS3 portion of the chord, the left little finger goes on the joint between the W and S, while the left third finger goes on the joint between the 2 and 3. That's a fairly comfortable, relaxed position for my fingers to take. I could almost make that portion of the chord just by resting my straight fingers down on the keys.

To make the F5 portion of the chord, my left forefinger goes on the F, while my left middle finger goes on the 5.


To my eyes, that doesn't look like something I can't get good at. My hand is relaxed, my fingers aren't going to slip away from the keys they need to be on, and when I press down, I'm confident that the right keys will be hit. My fingers aren't tied up in knots, or struggling to get past each other. Each finger is in a fairly natural position.

Remember that we're not talking about chords for the whole hand, we're talking about chords for just two fingers. The left third and little fingers have a set of 48 chords to memorize. Just 48 pieces of muscle memory, and then they'll be able to reliably hit whatever target they're given. The same is true for the forefinger and middle finger.  Each pair of fingers will need to become dextrous and accurate at their 48 chords, regardless of what the neighboring finger-pair is typing. But that doesn't seem like too big a demand to me.

Regarding your comments on the thumb chords, it's true that dividing up the "NM," chord into "NM" for one thumb, and "," for the other seems counter-intuitive at first. But if you consider the position of the rest of the hands, it becomes clear that the right thumb will have to fold under the rest of the right hand, making it much more difficult to hit the joint between two keys. The left thumb will have a much easier time hitting the joint between keys, because it's extended in a more natural position. But even extended over to the right like that, the left thumb does not interfere with the ability of the fingers of the left hand to produce the chords they need.

I agree that if Kinglet is "too hard to press at reasonable speed" then something may have to be done. But at the moment I don't see what that new something might be, so I first want to see if Kinglet can actually get up to a good speed. To get up to 225 WPM someone would have to type 3.75 strokes per second. I believe that's well within the realm of possibility for Kinglet. But until we actually have real Kinglet users pushing the speed boundaries, it's impossible to say for certain.

A dedicated Kinglet keyboard would *definitely* improve Kinglet's speed prospects. The QWERTY keyboard is not ideal, though I think it can still work OK. One of the three-row Korean keyboards from the wiki page you linked, seems like it would be a definite improvement. Kinglet would really benefit from having the 6-key chords line up like the 6 on a pair of dice, instead of all slanty the way the keys are on a qwerty keyboard. If Kinglet can prove itself on QWERTY, I'm sure someone will start making Kinglet keyboards, the way there are Plover keyboards popping up now.

I understand the issues you're raising. But it's just too soon to know whether the Kinglet chords are going to be 'too' difficult or not. Maybe they will, maybe they won't. But I don't see any good way to reduce the number of chords to less than 48 per finger-pair. Maybe I'm missing a good idea somewhere.

Be well,
Zack


Hanchul Park

unread,
Jan 11, 2016, 10:15:51 PM1/11/16
to Plover
Gabriel:
Korean alphabet is different from syllabary. Please refer http://omniglot.com/writing/korean.htm. Every syllable block consists of consonants and vowels. For example, 한(han) = ㅎ(h) + ㅏ(a) + ㄴ(n) is a syllable block. Korean has codas or final consonants, which is not the case for Japanese or Cherokee, and has considerably more syllables than them (more than 10,000) and it cannot be syllabary.
Japanese and Cherokee are true syllabary. As far as I know, Japanese has roughly 50 syllabic letters. Some Japanese people use the Kana input https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/MacBookProJISKeyboard-1.jpg/1280px-MacBookProJISKeyboard-1.jpg, but most of them use Roman alphabet input, that is, once one types in "kana", the computer converts "ka" to か and "na" to な, so obtaining かな. Gabriel, I assume that you meant the Kana input. I think it is faster than the Roman alphabet input, and I am not sure it is used as steno or not because I have almost no idea of Japanese steno. Maybe someone like Stan Sakai could answer that.


2016년 1월 12일 화요일 오전 10시 47분 32초 UTC+9, Gabriel Holmes 님의 말:

Jack Spangenberg

unread,
Aug 8, 2017, 8:09:08 AM8/8/17
to Plover
Hi Zachary,

Awesome project I've stumbled upon here... but it seems it hasn't had a lot of traction. Any progress? Has your WPM sped up to match normal QWERTY typing speeds yet?

Zack Brown

unread,
Aug 11, 2017, 2:22:29 AM8/11/17
to ploversteno
Hi Jack,

I'm afraid Kinglet never really progressed beyond the proof-of-concept
phase. As far as I know the software is actually usable. But in terms
of WPM or potential RSI, I don't know of anyone who's actually used it
enough to really tell. I personally suspect the fingering is too
complex and precise for anyone to challenge Plover for speed -- in
which case I doubt any letter-based system on a regular keyboard could
do it. But I'd be happy to have guessed wrong on that.

I'm not so involved in Plover stuff lately. I still love the project
and believe in it as strongly as ever!! But lately I've just been
using QWERTY and working on other things. The switch to daily-use
Plover was just too tough for my little brain.

Best of luck,
Zack
Reply all
Reply to author
Forward
0 new messages