Hacker News new | past | comments | ask | show | jobs | submit login
Open Steno Project – Freeing stenography (openstenoproject.org)
258 points by pabs3 on Oct 29, 2021 | hide | past | favorite | 68 comments



I was always curious about this. My dad was a lawyer. I basically learned to touch type by transcribing legal dictations. From about 11 years old I used to earn my allowance by typing up depositions that had been recorded in his office. My mom had an electric typewriter and a tape machine with a foot pedal attachment that let you play or rewind the tape with your right foot. They'd pay me $2 an hour to sit and type them out. Formatting was important. For me it was like a game. I was always slightly jealous of the people who could use those court reporter machines, and wondered how they did it. Seemed like magic.


That is exactly what want do with my future children and brothers' children! Get them started earning money early by having them do something worthwhile.

But how was your experience? How did your parents manage to have you work for them? Did your siblings worked for parents too?


Ever come across something unsavory in those depositions?


Short answer: Yes.

Medium answer: The whole point of many depositions is to dig up unsavory information.

Long answer: Divulging information from depositions that haven't been placed into the public record is a serious breach of ethics, and may get someone into legal hot water. Even asking is considered pretty uncool.


I understand the negative reactions now.

I was not really interested in the confidential content of depositions, but rather on whether they were inadequate for a child/teen to be transcribing. Boolean-valued question.


I've been doing some digging on German (type) stenography some years ago. Interestingly, it seems to be rather difficult to get this to work fast, in my understanding due to its grammatic structure.

Hand written stenography is still the fastest writing system of all for the German language and hand written stenography is still the default for federal government sessions and in most state parliaments.

More about German hand written stenography: https://en.wikipedia.org/wiki/Deutsche_Einheitskurzschrift


I'm new to steno. This article in their wiki is great: https://github.com/openstenoproject/plover/wiki/Stenography-...

It's essentially a chord-based, dictionary-based, short-hand typing. You write by looking up entries in a custom dictionary (a dictionary of syllables for example) by pressing combinations of keys. The stenographer's keyboard has few keys, compared to a QWERTY. You can define your dictionary however you like.

This must be extremely good for languages whose phonetics can be directly translated to its ortographics (without semantic or grammatical parsing), because then the dictionary is small and easy to remember. English is not optimal in that sense: e.g. the words 'flower' and 'flour' are phonetically identical. Edit: but then, ML transcription would work great for those languages for the same reason.

You could supplement with ML or some crafty NLP to effectively simplify dictionaries. Autocomplete/autocorrect in other words. Really cool domain.


I knew a court reporter. She would clean up the shorthand afterwards from her memory and using the audio recordings if needed. Her steno had a full alphabet mode for typing things that needed accuracy like people's names.


> I'm new to steno. This article in their wiki is great: https://github.com/openstenoproject/plover/wiki/Stenography-...

I don't get why that page doesn't call it stenotypy (as in, on a machine) instead of stenography (as in Pitman, Gregg, Teeline, etc.).

Also, I take it that "CAT software" does not refer to computer-aided translation here?


I am guessing it's because stenographers originally did it by writing shorthand, and nobody wanted to change the name of their job just because started using a different tool to do it.


the video on the landing page makes this claim:

> steno is not typing. typing is when you get one character of output per one press of the keyboard; whereas in steno you press multiple keys at once to make a steno outline which must then go through a translation process to produce readable text. this is why court reporters call the process writing and not typing.



> Also, I take it that "CAT software" does not refer to computer-aided translation here?

Transcription instead of translation.


This is fun to play around with. But, I really dislike the constant dictionary modification (per person) and different schools of theories. You end up having to toggle plover on and off every time you have to type a word that's not in your dictionary (and decide to add it or not, according to your theory so you remember how to type it). This is going to happen to you very frequently depending on the context you're typing in. It's why court reporters spend time before and after court modifying their dictionary and cleaning up their dictations.

Also, depending on where you learned English, you're going to have a lot of "is that word really pronounced like that" situations when you go to type a word the first few times.

To sum up my frustrations, want to type about 'foo' detailed subject? You're going to have to spend time adding words to your dictionary, or toggle plover off to type faster. Basically, you can type about 97% of a sentence using Plover, but you'll have to turn it off or slow down a lot to type that last 3%.


I've not used the tech, but maybe you could reduce some languages to something lower-level than words, but higher-level than letters. Like syllables. A dictionary of syllables might not be useful, if it's a 2-3 letter syllable that's looked-up via a 2 key chord. Dunno, that might be too simple. But I'd say there's a lot of space here for something better than regular stenography or QWERTY.


Much of what steno dictionaries do is just that. Here's plover's default main.json dictionary [0].

The ^ character in entries works like glue. So entries that end with ^ attach to the next thing you write, and entries that start with ^ attach to the previous thing you wrote.

[0] https://raw.githubusercontent.com/openstenoproject/plover/ma...


That's cool. The size of this dictionary is pretty intimidating though.


You don't necessarily need to toggle plover off to write words that aren't in your dictionary. You can just fingerspell them [0]. (although that's generally not as fast as typing them with qwerty).

It's been a little while since I last touched steno now, but I don't remember running into too many words that both weren't already in the default plover dictionary and weren't possible to easily construct with existing words.

[0] https://www.artofchording.com/sounds/fingerspelling.html


Steno shows up around here every now and then and it makes me more curious to try it every time it pops up. Does anyone here have experience with using steno in a bilingual context?

I understand that chords are mapped to words through a dictionary of sorts, usually based on how the words are pronounced, but I expect different dictionaries to clash. I suppose it's possible to manually remap the entire dictionary for conflicting words, but that's a lot of work.

Is there an easy way to switch dictionaries/languages? Has anyone tried this?


I haven't tried it, but there is a list of available dictionaries in Plover format [1] including French, Spanish and Italian.

As to switching on the fly, I can't see anything in the docs about it - this extension might work? [2]

[1] https://github.com/openstenoproject/plover/wiki/List-of-Avai...

[2] https://github.com/nsmarkop/plover_system_switcher


This topic has been occasionally raised in the Plover stenography Google group [1], I highly recommend browsing the threads there. I used to read this group, and I think there has been several proposals for e.g. orthographic steno systems.

Years ago I made a quarter-assed, dreamy effort to implement the Gregg [2] shorthand system in my language (Estonian) -- I worked as a journalist back then, so it was supposed to serve a professional need -- but unfortunately this enthusiasm faded quickly.

I remember how inspired I felt after reading a particular article about Gregg [3] for the first time, though.

1: https://groups.google.com/g/ploversteno

2: https://en.wikipedia.org/wiki/Gregg_shorthand

3: https://www.theatlantic.com/technology/archive/2014/06/yeah-...


Switching dictionaries/systems is possible and used every day by people who use it with more than 1 language. Think of it as switching to colemak or dvorak on your keyboard.


Some of the previous threads:

4 months ago, 124 comments: https://news.ycombinator.com/item?id=27602077

2 years ago, 72 comments: https://news.ycombinator.com/item?id=21473098

5 years ago, 36 comments: https://news.ycombinator.com/item?id=12771576


> Stenographers stroke chords instead of typing keys, resulting in less movement and better ergonomics than typing.

over the years I've seen various chord-style keyboard schemes. I've wondered why none have caught on - seems more logical than hitting individual keys.


It's pretty hard to learn a new keyboard layout on a regular keyboard, let alone replace the typing experience with chords (multiply this by the number of languages you use). The real difficulty for me was putting in the time every day to practice, while maintaining a job. You have to be pretty dedicated to pull this off.


For starters, chording requires significantly more hand coordination than a normal keyboard. This is a significant show-stopper for many.

Think about all the people you know that still have to look at the keyboard to type, that type just using one finger and one hand at a time, that still hunt for common symbols. None of this would work with a chording keyboard.

Unless you're transcribing, typing is not usually a limiting factor. This is especially true for programmers. For example I'm using three different keyboard layouts due to the commonality of languages around here and as a result I keep doing typos due to switching. I never bothered on improving because it's simply not a limiting factor.

What's even more ironic to me, is that we would have much simpler improvements to keyboards to make RSI and typing more efficient with minimal impact (I'm thinking ortholinear layouts - not chording!), but nobody really seems to care.


What is an ortholinear layout?


These: https://duckduckgo.com/?q=ortholinear&atb=v279-1__&iax=image...

The keys are arranged in an orthogonal grid, instead of each row being offset from the ones it's next to.


I suppose the same reason why qwerty still reigns supreme despite being a purposefully inefficient layout, people know it.

On a similar note I was talking to someone recently about touch screen phone keyboards, and how compressing a qwerty keyboard onto a (relative to the size of actual keyboards) tiny screen with very little haptic feedback seemed like an awful idea that was used early on because it was easy to understand and since then we've just kind of stuck with for no reason. The person I was talking to agreed, and we were thinking of ideas of how it could be improved. Later I was talking to a my two brothers about it, who are more a bit more normal, and neither of them thought it was worth the effort at all (and they're probably right), and thought it was pretty daft thing to care about.

Long story short, if it aint broke, don't fix it I suppose


I was very pleasantly surprised to find that my muscle memory for "real" QWERTY keyboards works on touch keyboards as well. I know people who can "touch type" (as in, without looking) on touchscreens as well. I doubt anyone would be able to become so adept if the layouts were different.


I can recommend the typewise keyboard. The keys are hexagonal and you use gestures to delete, restore and uppercase letters. Therefore you have bigger keys for the same amount of screen space. It's not QWERTY, but the keys are in the region of their QWERTY location (i.e. not something totally different like dvorak). I needed some time to get used to it, but I really like it and don't want to go back.

Edit: rephrasing for clairity


I think it's pretty daft to not consider an investment (by all of humanity, which I get is hard) which can improve efficiency by a lot, for all of time until we direct BMI.

At some point in the sliding scale it becomes worthwhile to care about and implement


Cheap keyboards can't "do" steno. They're unable to register simultaneous keystrokes.


I got into this a few years ago and it was really fun! Highly recommended just for the experience itself.


I've been holding off writing long form because of the strain of typing and was looking into dictation but my brain forms better structures better when I write. Have you noticed improved physical performance with steno? I also wonder if it might be easy to pick up, as a pianist.


Learning a steno system is similar to learning a new spoken language - it takes time, and the time it takes differs based on the time you invest daily, personal experience, type of study... Some have reached 100wpm in 2 months, some take 2 years. As a reference number - to be a certified stenographer you need to pass a test with at least 225wpm with 99% precision. The classes take 2 years, I think.

Being a pianist might be handy, but you'll still need to practice a lot to see progress.


More than anything, I'd like a one-handed steno scheme to become available. It would be a game-changer for wearable and XR input.

Unfortunately, I think English language input will always be at a disadvantage compared to those that use ideograms. Steno-ing radicals would be ideal; one stroke per "word" without having to worry about pronunciation.

Swype-style input is actually quite fast, but the necessity of looking directly at the keyboard to ensure any measure of accuracy is limiting. I wonder if force feedback to help users know where on the keyboard their finger currently is, as well as improved input of punctuation, might bring it up to steno's speed (which would be revelatory in a world where a huge portion of text input is done on mobile devices).


Forgive me, but is steno relevant going forward? Would recording audio and NLP be more effective?

Genuine question, no snark.


Speech recognition is terrible on specialised vocabulary, strong accents, low quality audio, etc. You can train it, but only if you have transcriptions of your audio. Steno is a good way to make transcriptions.

I have mathematics education videos I would like subtitles for, all in non-US, non-UK accents, full of specialised terminology. In my tests, Amazon and Google's APIs were completely useless for this, as was Dragon. If I find the time, I would like to learn steno of some sort to make the subtitles and provide training data for future videos.


Amazon’s API fails any time someone uses a slightly less than super common name. It was really depressing.


Is Otter.ai's tech any better?


It will be relevant, because there will be people interested in typing. It is like how there are pencil artists even though we can all use Photoshop.


For myself: how I think when I’m writing is somewhat different than when I’m speaking. I still prefer writing _and_ typing despite the ability to record myself.

I also think we’re a bit of a ways off before speech-to-text will work for programming…

Maybe what I’m looking for isn’t stenography, but chorded typing with the ability to break out of it when I need to.


The technology is nowhere near a human level yet. There are people who use it, but in order to aid recognition they clearly repeat everything being said into a "steno-mask" for software transcription: https://en.wikipedia.org/wiki/Stenomask


Still will be a long, long time for such things to be viable in a courtroom.


can stenography be used to write code? or is it only for text based on speech?


It can. Here's an example of using Plover (now part of the openstenography project it seems):

https://www.youtube.com/watch?v=711T2simRyI

(I know this is not the only presentation in the existence but it's one that I found; there's one by the author of Plover within some longer presentation about it.)

Honestly, doesn't seem super fast to me :-).


thanks, it also does not look fast to me and does not seem to improve the process the way it does for speech. Additionally I guess there is a steep learning curve so it is definitely not for everybody


The thing about code though is that it is succinct by design and a lot of thinking goes into writing 3 lines of code that will work coherently.

So with typing keywords fast and efficient auto-completion, I doubt Steno would somehow make you a faster developer.

Clarity and correctness rules over speed here.


considering typing time isn't even close to the most time consuming part of programming, I don't think this will be relevant to programmers apart from the programmers who want to do it for fun


I don't believe that is true.

While nobody can deny the fact that most of the time in programming indeed is not spent writing, how about this: you type slower than you can think.

So, when you get an idea, it's nice to be able to transfer the idea to the source code, so you can then move on the next idea or next part of the same one. You don't want to be held back by an inferior input method or a language with a lot of ceremonial about doing simple stuff. This happens in short bursts, even if the total time is quite short.

Sometime it happens so that one thinks faster than one can speak. This usually leads you to get mixed up in words.

A fast way to enter ideas is an important part of developing ergnomics.


https://danluu.com/productivity-velocity/

Docstrings, writing documentation, talking to colleagues on Slack, asking questions on stackoverflow, writing mails, browsing, working in the terminal. We spend a lot of time writing. How much time could one save by e.g. doubling the speed?

Another aspect is of the working memory - will it free your brain's resources? Will allow writing at the speed of thought allow for new/more thoughts?

I think we should explore these waters, and steno is a solid choice.


Stenography is inherently language-dependent, and most existing steno "theories" (i.e. input systems) are tailored towards natural-language text; hence one would have to design a special "theory" for each programming language, and provide custom steno chords (or chord sequences) for each identifier within any given project. So it would involve a lot of work, but the benefit could also be significant since steno seems to be a lot less RSI-prone than traditional keyboard typing.


Usually the "busy work" of repeated idioms in code are best handled by snippets. Most IDEs, Emacs, and Vim have really advanced support for snippet expansion.

The actual custom typing in code is pretty small in comparison. A few var names that auto complete assists with anyway.

I'm sure there is some gains to be had with using steno on code. But I'd bet there's less a return on code than with English prose.


It's not practical due to coding requiring special symbols, camelCase, and you tend to not write code just going forward.

Steno is good for transcription or taking notes, but it's not great at other things.


To balance the views, Mirabai, the person who started this project, does live transcription in vim and uses it for editing the notes as well. Ted, one of the lead developers, uses steno daily for programming. Emily, another user and plugin developer, has developed dictionaries to help with symbolic input and modifiers (e.g. ctrl+shift+x). There are plugins for changing case (camel, lower, snake etc.)


I'm not saying it's impossible, but it's just not worth learning steno if you mainly do programming. It will be complicated, require complicated chords, require you to constantly add new words and remember what you saved them as, simple chords (short cuts) like C^n turn into complicated ones. It's just not that optimized for programming.


> it's just not worth learning steno if you mainly do programming

I think this will be better answered by someone who has crossed that bridge than you simply jumping to that conclusion with no experience or data to back up your claim.


CamelCase is built in to Plover! [1] symbols work too - they might have less intuitive memorisation, but you don't use that many anyway (unless you're in APL...but that doesn't work with normal keyboards either).

You can set up Vim-like navigation e.t.c. too (e.g. [2]), for moving about in code. I haven't tried it.

I think however that the benefits of coding with Plover aren't really great enough to justify the huge struggle it would be to get proficient with it.

[1] https://github.com/openstenoproject/plover/wiki/Dictionary-F...

[2] http://www.openstenoproject.org/stenodict/dictionaries/vim_d...


Switching modes requires an extra chord. Movement in your editor now takes chords with a bunch of keys instead of 2. Steno is really flexible, but when you try to shoehorn it into situations where it's not good at the average chords per character typed.


In addition to that, I’d wager few people have long bouts of thinking code faster than they can type it. The act of typing is usually the easiest part of the whole process.


I’ve been looking into the Uni Keyboard[0] for my foray into steno! It’s pretty wild how much more accessible steno has gotten for hobbyists.

[0]: https://www.kickstarter.com/projects/stenokeyboards/the-uni


Why would I want to learn this, besides to become a professional stenographer?


The crime of curiosity :)


That and you might get up and pass your current typing speed while substantially reducing wear and tear on your hands and wrists even if you don't have RSI issues. I bought the Georgi keyboard [0] and I am using Plover. The Georgi can also be used as a one-handed keyboard [1], and I am just getting around to mapping it to augment my livecoding for music setup. Some use it as a gamepad too. You always learn something unexpected when you learn something new.

[0] https://www.gboards.ca/product/georgi

[1] https://qmk.fm/keyboards/georgi/


I really need to try this. I hear it'll work on the ergo dox too.


I am wondering if other professions that uses keyboard contact a lot are using this? especially wondering about novelists.


No keyboards, but -- Astrid Lindgren, the legendary Swedish children's writer, wrote her manuscripts using the Melin shorthand system. One can browse a bunch of her notebooks online, side by side with a Swedish transcription [1, 2].

Quoting one of the linked sources: "These manuscripts have long been seen as the key to new advances in research on Astrid Lindgren. The explanation for why no one has taken on the task is that Lindgren wrote in shorthand, given the well-established view that her stenography was almost impossible to decode. When we started examining the material to see whether using digital methods to interpret it was feasible, we saw that manual reading, too, was relatively simple if you know shorthand."

I got curious and found a comprehensive paper about using computational tools (handwriting and image analysis) to transcribe Lindgren's manuscripts [2]. Interesting stuff.

Oh, and I think Astrid Lindgren actually also worked as a shorthand typist during a period in her life.

1: https://www.uppsalauniversitet.se/en/news/article/?id=14082&...

2: https://omeka.ub.uu.se/scripto/s/al-koden/7/7/item

3: http://ceur-ws.org/Vol-2816/short5.pdf




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: