Monday, October 20, 2014

Open Steno Project Community Survey 2.0

Last year we conducted a survey on the Plover community.

Since then, we've added hundreds of new people to the mailing list, shown that Plover is now mature enough to be used professionally, added several new hardware options such as the Stenoboard and the Ergodox, formed the Open Steno Project, and written a free online interactive textbook. It's been quite a year, to say the least! I'm very curious to see how our demographics have shifted as we've grown.

Take the Open Steno Project Community Survey 2.0 today, and please feel free to share it around to anyone who might be interested!

Thursday, September 11, 2014

Metakey Kludge

I'll let Ted from the Google Group describe his ingenious new solution for Plover's lack of arbitrarily stackable metakeys. (You can explicitly define a metakey+key combination in the dictionary, but you can't map a stroke to, say, Control and then be able to simulate holding it down while choosing another key in realtime to be activated along with it.)

Hello PloverSteno!

Intro:

I've seen complaints in the past about the lack of a "sticky modifier" function in Plover. The idea being that you could define a stroke for Shift, one for Control, then using these strokes write something like "Control/Shift/p" or any other stroke.

Well, today I'd like to announce my workaround!

It's a Python script that takes a list of modifiers (Control, Super, Alt, Shift, by default) and a list of hotkeys (alphanumeric, enter, backspace, delete, and arrow keys, by default) and then generates every *possible* combination in order to give you one-off hotkeys. The output is a dictionary that you load into Plover and you're ready to go.

Of course, I recommend a single stroke for something common like "Ctrl-v" for paste, but sometimes you just need a one-off "Control-alt-shift-Left arrow" and that's what this script aims to let you do.

As a little bonus, there's a definition in there that has 100 strokes in order to increase Plover's buffer length.

Usage:

If you don't like my default strokes, you can go into the script and change the "modifiers" or "hotkeys" lists in the main method. But these are the defaults, as per the script:

- Alt/Option: TLA* (THRA*)
- Command: KM* (KPL*)
- Control: KL* (KHR*)
- Shift: SF* (STP*)

Otherwise all the letters, numbers, return, and backspace are all Plover default.

Of note, if you want to just "press" the combination without a key, for example in Windows you can use "Ctrl+Shift" to change keyboard layouts, use the blank stroke:

- "SP*S"

I also had to add an entry for the delete key, which is just:

- DLAO*ET (TKHRAO*ET)

Download:

Download it from the GitHub repo. "modifiers.json" is the dictionary with all my defaults, "makeShortcuts.py" is the Python script to run to make the dictionary.

Please, feedback is welcome. Also think of this as a workaround, not a permanent solution to the problem.


Many thanks to Ted for this! I have a feeling it'll come in extremely handy.

Sunday, September 7, 2014

Plover Learn Integrated Into Learn Plover!

Erika has just finished adding all the drills in Learn Plover! to Plover Learn, her interactive training site, and Zack in turn has linked to each lesson within the corresponding chapter of his book. Between the two of them, the steno learning curve just got a whole lot flatter.

Wednesday, September 3, 2014

Giant Monster Catch-Up Post



Manual steno machine, Sidewinders, and Infinity Ergonomic laid out at PyGotham 2014


Gah! It's been absolute ages! Amazing things have been happening in the Plover world, but I've been too wrapped up in my day job to document them all as they've occurred. I'm going to try to get back on top of blogging everything that's going on, starting now, but as ever if you want the latest breaking Plover news, you should probably join the Google Group, which is always the most direct source of information from Plover's developers, users, and contributors.

Speaking of which, Plover is no longer just its own thing. Hesky, Josh, and I have decided to fold it into a more general overarching organization, The Open Steno Project. Plover will continue to be the name of the software, but in addition to Plover itself, The Open Steno Project will serve as a catchall for various efforts to produce open source steno hardware and steno learning systems. The URL that used to go to the Plover Wiki, http://ploversteno.org, now links directly to the Open Steno Project's website, (designed by longtime Plover supporter, captioning user, and user experience designer Sveta Kouznetsova of audio-accessibility.com), but you can also link to openstenoproject.org, which will send you to the same place, and which has a link to the Plover Wiki (still a great resource for all sorts of information on Plover) prominently displayed at the top left of the page.

Okay, on with all that's been springing up these many months since I last blogged:

Most importantly for me (if not for anyone else), I've been using Plover exclusively in my captioning work since January! I'll probably make a post (possibly here, possibly on my StenoKnight blog, which has also been lying shamefully fallow for far too long) dedicated to all the various Vim settings and handy command strokes I've been using, but just briefly, I have to say it's been an absolute dream. I'm able to accommodate a client who uses a webinar system that forces captioners to type into a tiny text entry box and manually press return every 50 characters. With my old steno system, (the $4,000 proprietary court reporting software, Eclipse), the delay between when I pressed enter and when I saw the command go through in the text box would have been extremely frustrating. With Plover, it's as easy as anything. I'm also able to help out a client who wants me to caption directly into Google Docs, which might also merit a blog post of its own, since it's a fascinating project. In my daily work, I'm able to use the power and simplicity of Vim to edit my captions in realtime, just like I dreamed of back in 2008. Plus Plover's dictionary definition window is so much simpler and more efficient than the convoluted technique I had to use with Eclipse. I've got the Eclipse installation file in my new computer's downloads folder just in case I ever have to install it, and I've paid the annual $600 support and upgrade fee for 2014, but if I'm really able to go another year using Plover for absolutely all my CART and captioning work, I think I'll finally be confident enough to cast Eclipse completely loose, which will feel wonderful.

But I'm not the only one who's been living and breathing open source steno!


New low-cost key interface for Stenosaurus


The Stenosaurus is well on its way to production. Josh is aiming for October to open the crowdfunding campaign on Crowd Supply, and has been doing all sorts of fantastic work, from being interviewed on Slashdot (though please don't read the comments unless you urgently need to raise your blood pressure), to giving an Ignite talk at a tech conference (link to captioned video coming soon), to negotiating with illustrious keyboard manufacturers to produce a Stenosaurus-specific key switch!


StenoBoard, Printed and Assembled


In other steno hardware news, The Stenoboard is now in its second iteration. Emanuele Caruso, a new member of the Open Steno Project, has released OpenSCAD plans for his 3D-printed steno keyboard, so if you have access to a 3D printer and don't mind purchasing and assembling the electronics, you can download and print one yourself. If you'd rather buy the parts for the StenoBoard pre-printed but unsoldered, you can buy all the components for about $197 (plus shipping from Italy), or if you'd like to buy everything put together except for a few boards you need to screw in and wires you need to slot into place, you can get the easy-assemble kit for $263. I ordered one of those when the StenoBoard was still 1.0 (it's now 1.1) and somehow messed up the assembly so that it would occasionally block a stroke when too many keys were pressed at a time, but I tried out the one Hesky bought and assembled himself, and it worked perfectly. I've ordered a 1.1 kit and will be extremely punctilious while following the assembly instructions, so stay tuned for for my review! Meanwhile, if you don't mind putting together a fairly simple kit yourself, I think the StenoBoard is probably the best medium-priced steno solution for amateurs and hobbyists -- at least 'til the Stenosaurus comes along. The Stenosaurus will probably be a bit more expensive, but it'll be made out of bamboo and aluminum rather than 3D-printed resin, and won't require any assembly. On the other hand, the StenoBoard is lightweight, has a very small footprint, and is more ergonomically designed, so there's definitely a place for both within the Open Steno hardware ecosystem.



Also momentous is Brent's StenoKeyboard app for Android. It's more of a clone than a port of Plover, and a really fine piece of work. This too probably deserves its own post, and I'll do my damnedest to make one fairly soon, but I strongly encourage anyone with an Android phone or tablet to try it out. A huge number of bugfixes and UI improvements have been made on it since its first release, and I've been using it myself on a regular basis. You can equip it to write steno with your finger on your phone, Swype-style, as shown in the picture above, or you can use an USB-OTG adapter to write into your phone or tablet with a Sidewinder or StenoBoard. I bought one for a few bucks off Amazon, and so far it's been working brilliantly!

A few other quick links:


Me and Plover at !!Con


I captioned !!Con using Plover and got a whole bunch of programmers excited about steno when they came over to play with my machine during breaks. Woohoo! Hesky and I also got to give a talk at the Google Developer Group Meetup and I got to caption for him when he did a lecture on steno for Nerd Nite, but sadly neither of those were recorded.

Our presentation at the Accessibility NYC Meetup was, though, and I finally (finally!) finished captioning it last week:


If you'd like an accessibility-focused presentation on what Plover can do (including the opportunities for stenographic employment among blind and low vision screen reader users, a theme I intend to develop in my CSUN 2015 talk proposal), feel free to check it out. Or if you don't have the time to watch a 36-minute video, just glance through the transcript. One big error I should correct, though: In the talk, I say that Stan Sakai, CCP, of Superlative Realtime, dropped out of college when he discovered steno. That's not true at all! He finished up his BA in Linguistics, but decided not to pursue a Pharmacy degree, as he'd previously planned, and became a professional CART provider instead. He captioned for a few years in Seattle, then moved out here to NYC and has been an indescribable asset to the captioning scene here ever since. He's the one using Text on Top to caption me and Hesky at the Meetup. He also gave a live demo of Plover for PyGotham 2014 a few weeks ago (that's his Infinity Ergonomic in the picture at the top of the post), though we're not yet sure whether it was caught on video.

For those who like to live on the cutting edge, the inimitable Mike Neale of Qwertysteno.com has released an experimental version of Plover (currently for Windows only) that incorporates a dictionary manager, retroactive formatting commands, and two realtime training tools called Stroke Helper and Brief Helper. Use at your own risk, but feel free to offer feedback at the Google Group if you do! Hopefully a stable release incorporating these features will be coming along fairly soon.

Learn Plover! has been fairly stable since my last update here, though we're still making minor adjustments and revisions as we get more input on it. Longtime friend and recent Plover fledgling Erika has put together an interactive browser-based drilling trainer using the one-syllable words found in the early lessons. She's working on expanding it, but it's already pretty useful even just in its early form.

Phew. Like I said, a ton of stuff has been going on, all of it pretty dang exciting. I pledge to do my absolute best to keep up with it from now on. In the mean time, check out all the stuff I've linked to in this enormous unwieldy behemoth of a post, and stay tuned for more news coming soon! I feel like Open Steno as a movement is poised on the edge of something big, and I can't wait to see what happens next.

Thursday, March 13, 2014

Two New Steno Tools

Two great new tools posted today to the Ploververse:

First, Russell offers StenoLearner, a beautiful little browser-based steno parser in the style of PloverDemo. What's great about it is that it offers suggestions (a la StenoTray) of shorter ways to stroke words after you've written or fingerspelled something, and those suggestions remain on the screen persistently (though you can also toggle them on and off). Also, there's a WPM graph, a "retractions" toggle to show words you've struggled with, plus it supports Qwerty, Dvorak, and Colemak. What a marvelous piece of work.

Second, Mike of the legendary QwertySteno.com has introduced a new application on his site: Text-to-Speech dictation. Just paste in any text you want, set the speed, and steno away. Definitely helpful for anyone who sees transcription, captioning, or other dictation-based work in their future.

Guest Post: Charles's DIY Steno Keyboard!

Recently Charles emailed me about the fantastic steno keyboard he's rigged up from scratch. It looked so amazing, I thought I'd ask him to write a guest post about the process. So here it is!

My Homemade DIY Steno Keyboard

Not having enough patience to wait for the Stenosaurus, I decided to make my own Steno keyboard. I was pretty happy with my modified Quickfire TK in most ways, but the offset between the upper and lower rows of keys was disorienting. Here is what that keyboard looked like just before I made my own.

Note that I removed unused keys because they were distracting. I found the pairs of keys that matched in height the best and placed them upside down in the top row to get them closer to their mates in the bottom row. Chords are easier to hit this way, but I still wanted the rows to line up.

I started by removing some mechanical keys from an old Kinesis keyboard that doesn’t work anymore. I experimented with drilling holes in a Radio Shack prototyping board and placing the keys. Then I bought a bargain bag of Cherry MX clears (white?) and after drilling the appropriate holes I hot-melt glued them to the board. I decided to wire each key to as separate IO pin on a micro-controller instead of using a matrix. It seemed simpler and it was only 23 pins. Here’s what the wiring looks like. It’s soldered, point to point, using wire-wrap wire.

I also bought key caps in two colors, black and dark gray, all the same size and shape. I installed the thumb keys sideways so that the AO and EU pairs would make comfortable chords same as the keys in the upper and lower rows. I also ended up placing the DZ keycaps sideways to get them closer to T and S. In  the next version I would probably use roughly the same spacing except to place the * and the DZ keys sideways and slightly closer to their neighbors.

I used an Arduino Mega as the micro-controller. I normally program only in Forth, but this project is so simple that I decided to try the Arduino IDE instead. I believe it took less than an hour for me to code and debug the application, which surprised me.

Here’s a picture of the finished board:

I used my understanding of the TX Bolt protocol, since I knew how to use a serial port but not so much about emulating a USB keyboard. Also I hoped that using a serial protocol would bypass the problems with the NKRO keyboard in Linux that were preventing me from using VIM. It turned out that I was able to use both the standard keyboard (in Dvorak layout for me) and the steno keyboard using TX Bolt at the same time without any trouble.

I tried simplifying the TX Bolt protocol in hopes that it would not confuse Plover and make my program easier to write and debug. Instead of using a variable length packet, sending only the keys that are pressed, I sent all four bytes in order every time, even if some of them are zero. The top two bits of each byte identify the other six bits. Always sending byte number four lets Plover know immediately that the stroke is finished, I reasoned, and this seems to be the case. I never bother sending any other bytes.

I’ve been very happy with this keyboard.  I would love to move on the next one. I would make it more compact, getting the micro-controller out of the way. It should have a case, both for protection and to make it more sturdy. I did bolt it to a piece of clear plastic from Tap Plastics, but I’d like to do better.

Finally, here’s a picture of the keyboard in action, editing a file with VIM in Linux on my laptop.

Tuesday, March 4, 2014

See Hesky Present on Steno at Nerd Nite, 3/14!

Long-time NYC Nerds might know that Nerd Nite is one of the best places to go for lectures, libations, and likeminded geekwads, with presentations focusing on all sorts of eclectic and intriguing topics. I've been to several, and always enjoyed myself enormously. Well, I guess steno is now officially interesting enough for nerds, because Hesky is going to be giving a presentation on how steno works, with me as his open captioner!

On Friday, March 14th, 2014, at 9:00 pm, there will be three lectures, and the third of them will be:

Presentation #3 Stenography: Thought-to-Text at 240 Words-per-Minute by Hesky Fisher & Mirabai Knight Description: Have you ever seen closed captioning and wondered how anybody can type that fast? Have you ever wanted to be able to type that fast yourself? If so, then you’ll want to learn about stenography. Join us for a tour of the surprisingly colorful history of stenography and get a crash course in how you too can learn to type at 240 words per minute! Also, as a demonstration of the topic, this talk will be live captioned. Bios: Hesky Fisher is a computer programmer working at Google. In his spare time he is the lead developer for Plover, the first open source stenography application. Mirabai Knight, CCP is a Certified CART Provider in NYC. she is the sole proprietor of StenoKnight CART Services and the founder of Plover and its parent organization, The Open Steno Project. Fun!

(The other two lectures are on brains and number distributions, which look fascinating in their own right.)

Buy tickets here! $14 for lectures plus trivia; $10 for lectures only.