Wednesday, December 28, 2011

Plover 2.2.0 Released!

Woke up this morning to an email from Josh, Plover's dauntless programmer:

"Hi all,

I'm happy to announce the latest feature release of Plover! Version 2.2.0 includes the following features and fixes:

* a new graphical user interface that supports both older and newer versions of Ubuntu, with and without Unity
* auto-start configuration option
* hotkey commands to suspend/resume Plover, bring up the configuration dialog, and bring the main Plover window to the foreground
* support for the TX Bolt/Gemini TX protocol, which will open the way to using many Stentura machines
* protection against running more than one instance of Plover at a time
* proper handling of the number bar
* updated user guide


This is all fine and good, but what I'm happiest about is the high level of community involvement that went into this release, including Stan and Tony sending me a steno machine to test on (thanks, I'm finally ready to send it back!), the great suggestions for features and improvements to both the software and the user guide from many people on the mailing list, Hesky's seamless contribution of code to support the TX protocol (and ongoing experimental Windows port), generous financial support from various corners of the world, and, of course, Mirabai's relentless advocacy, encouragement, and testing.

As usual, the latest version can be downloaded from:

https://launchpad.net/plover

Also, for the first time, I've made Plover available from the official Python package index, which provides yet more methods of installing Plover for those adventurous enough to learn about it:

http://pypi.python.org/pypi/plover/

Please report any problems to the mailing list.

Happy stenographing, Josh"

This is awesome. I've been testing out this version for the past few weeks, and it is rock solid. Being able to use Unity is really convenient, and the number bar bugfixes mean that I can now write the Steno 101 lesson on numbers, fingerspelling, and metacommands that I've been planning for months! Look for that by the end of this week. The auto-start option is also great when you want to invoke Plover (I use Gnome-Do, so I only need to do Alt-Space, P, and Enter to set it going) and start writing steno right away without fiddling with the mouse. The new Plover Guide (PDF file) is also extremely useful, and we'll hopefully be mirroring it on the Wiki for easy reference fairly soon. So if you have Linux and a Sidewinder (or Majestouch or Noppoo Choc Mini or any other qwerty keyboard with n-key rollover) or a Gemini PR/TX machine or a Lightspeed or a Protege, install the new version and enjoy! If you don't have Linux, either take the plunge and install Ubuntu as a dual-boot option, or wait a few more days until the Windows port is complete. Feel free to leave feedback -- feature requests, bug reports, et cetera -- in comments here, at the Launchpad page, on the Google group, or on the (newly restyled) Aviary. Many, many thanks to Josh for his fantastic work. We've come a hell of a long way from "catalogue catalogue Log Cat log".

Monday, December 26, 2011

Plover Aviary

Two nice little updates, while we wait for the newest Plover release (which is imminent) and the completion of the Windows experimental version (which should hopefully happen by the end of the week). First, Amber from the Google group has created a list of 21 sentences using the most common words in the English language; all together, the words in these sentences (which she's posted to the Plover Wiki) comprise 50% to 65% of all words used in English, so it's useful to have them under your belt. Check 'em out:

Practice Sentences with Common English Words

Another brilliant idea of Amber's was for there to be a forum for steno newbies and new Plover users, so that they could share tricks and travails with each other and maintain a form of reference that was less static than the Wiki and less linear than the the Google group. So this morning I installed phpBB (a surprisingly painless process), and I can now introduce to you:

The Plover Aviary

I've started it off with a few posts to get it going, including one where I took Amber's practice sentences and wrote them out on my steno machine using a dummy dictionary (with all the entries replaced with "STKPWHRAOEUFRPBLGTSDZ", so they came out as raw steno. For some reason, when I deleted all but one entry and tried to use that dictionary, Plover gave me an error, but it worked fine with all the entries redefined). If we can get more practice sentences from Plover users, I'll hopefully be able to plump up the previous Steno 101 lessons into a more useful form.

With luck the Aviary will soon be full of questions and answers and feature requests and competitive speed bragging. I also count today a success because I learned the word "dotterel", which I've used for the steno veterans forum (because after "hatchlings" and "fledglings" just comes "full-grown birds", and I thought that lacked panache.) According to its Wikipedia entry, a dotterel is both "a small wader in the plover family" and "a doting old fool", which fit my steno-obsessed batty old self perfectly. So there it is. Another place to go and get your Plover on with other steno neophytes. Have fun!

Saturday, December 17, 2011

Fly, Plover! Fly!


Plover photo by Changhua Coast Conservation Action

Pragma Nolint, a member of the Plover Google Group, has just written a training program for the qwerty-to-steno layout. It's called Fly, and you can download it here:

http://stenoknight.com/plover/Fly_v0.0.1.tar.gz


Fly screenshot

Hover Plover is still very much in the planning stage, so having this available right now is incredibly useful, especially considering that I still haven't gone back into the Steno 101 lessons to add practice material. Instant interactive feedback is a better way to learn this stuff anyway.

Currently it just works with Ubuntu, but I've put out a call for volunteers to port it to Windows and/or a web-based version, so we can reach as many Plover users as possible. Keep in mind that it uses code from Plover (and Plover's default dictionary), but you don't want Plover to be running while you're using Fly, or it won't work properly. Fly will offer up drills based on single letters, words, or even sentences, so you can learn the steno keyboard from the bottom up. If you use Fly, comment here to relate your experience, report bugs, or request features.

Many thanks to Pragma! The ever-growing Plover community never ceases to amaze and delight me. Share Fly among your friends and bring more people into the glorious world of open source steno.

Sunday, November 27, 2011

Housekeeping

I love long weekends. Thanks to the first decent amount of free time I've had in a while, I've been able to change some little things on the Plover Blog and Wiki that were long overdue.

* http://ploversteno.org now redirects to the Plover Wiki instead of the static FAQ page that it's superseded.

* I've put a slightly cleaned-up version of the qwerty-to-steno layout chart right at the top of the blog, where people can see it straight away. It should probably get a more prominent place in the Wiki too, though I'm not sure where; right now it's kind of buried in the FAQ.

* I've put a link to the Plover Demo near the top of the blog's sidebar and on the front page of the Wiki, because I believe that it's Plover's best low-stakes ambassador for stenocurious newcomers.

* I've updated and expanded the Wiki's Plover Cheat Sheet a bit, adding to the chart of the most common prefixes and clarifying a few of the more confusing features of Plover's default dictionary. I also submitted a bug to the Launchpad page, because the default dictionary that comes with Plover defines -FPLT as -FRPBLGTS and STPH as STKPWHR, which is only useful if you're me and you're using Plover for offline transcription work, which you almost certainly aren't. I should have changed those definitions to {.} and {?} respectively before submitting the dictionary to Josh for packaging, but I didn't, and the result is that the Hello, world. instructions on the Wiki don't work properly. Boo me.

* I've updated the Plover Blog sidebar with links to videos and interviews featuring Plover.

* I thought of another Hover Plover minigame, one that would appeal to the puzzle solvers rather than the fast-twitch kids, and which would take minimal graphical expertise to write. You'd start out with a block of text in steno, and every time you wrote one of the strokes, it would transform into its English equivalent. So at the end, you'd wind up with a block of English text. Here's a mockup, showing the starting state, the middle state, and the completion state. I based the text on a puzzle I made for a friend who didn't know steno but who liked solving cryptograms. (Solution here. Don't click the link to the graphical version if you want the fun of puzzling it out for yourself, since it shows the solution on the bottom.) I figure it'll have the satisfaction that you get from a game like Minesweeper, but without the nervous tension, because there are no penalties for misstrokes. You're just clearing the field and building up your muscle memory as you go. You'll probably start out just writing the strokes without knowing what they say, but eventually as you get more comfortable with the theory, you'll start predicting the translations before you write them.

* I'm also currently trying to sort through these guidelines for open source development, posted by Ms. Gardiner to the Plover Google Group a while back. Plover is the first open source project I have direct experience with, and since I'm not a coder myself (except on a seriously elementary level), I'm at sort of a disadvantage in figuring out the best way to organize it. The code started out completely in Josh's domain. Then Hesky joined in on the experimental branch. We've gotten several more offers of coding help since then, but except for side projects like the Plover Demo, I don't think we've had any actual committed code from anyone other than Josh and Hesky so far. I definitely want to change that, though, especially as Hover Plover development gets off the ground. Any specific advice on making the Plover Project more friendly to community development would be very welcome.

Saturday, November 26, 2011

Captioned: Mary Gardiner's Keynote at PyConAu



So in August of this year, programmer and open source advocate Mary Gardiner gave a keynote address at PyConAu in Sydney, Australia, called "Changing the World With Python". In the talk, she mentioned several world-changing open source projects that people could contribute to, including Sugar (which longtime Plover ally Mel Chua is heavily involved with), Calibre, an ebook management tool, Software Carpentry, a series of programming tutorials for scientists, and most unlikely of all... Plover!

I didn't know about this until a month or so later, when I was checking Plover's referral logs, and noticed that I'd gotten a few hits from the Ada Initiative website. Ms. Gardiner's posted several times on the Plover Google Group, but I hadn't put her name together with The Ada Initiative, even though my friend Sumana is on the advisory board, as is Lukas Blakk, who was at my PyGotham presentation on Plover, and who asked a number of fantastic questions. That Ms. Gardiner was interested enough in Plover to devote a decent amount of her keynote speech at a major conference was incredibly exciting, and as soon as I discovered the video I started captioning it, so that I could post it here for my Deaf and hard of hearing friends and colleagues to watch. Unfortunately I got about three quarters through the captioning process (using Plover with UniversalSubtitles, which was unbelievably smooth and pleasant, especially compared with the proprietary steno software I tried to use during NatCapVidMo last year.), and then my work schedule got ridiculously busy, so I haven't had any time to finish the job 'til now. Still, better late than never, right? It's a great video. Anyone who's interested in open source contribution should watch it -- not just Plover enthusiasts.

A few notes:

* Ms. Gardiner says that entry level steno machines cost about $3,000. That's not quite true. Professional steno machines range in price from about $3,000 to about $5,000, but entry level machines go for around $1,000 for a used student writer to $2,000 for a new one.

* The Microsoft Sidewinder X4 keyboard isn't exactly 10 cents here in the US, but it's currently going for $38.20 including shipping, which is a pretty decent deal.

* Steno courses at technical schools are rarely only two years long. Some people graduate (i.e., pass three tests at 225 words per minute at 95% non-realtime accuracy) in less than that time (I took a year and a half, and I've known some people who did it in nine months), but many people take between three and seven years to get up to graduating speed. It all depends on your talent, dedication, and practice time.

* The stenographic world record is 360 words per minute.

* She wasn't speaking at 300 words per minute, I'm happy to say, or this would have taken even longer to caption. Probably more like 160, which is why I chose to caption it in single lines, as opposed to the double-line captions that I sometimes use for faster speakers.

* Josh wasn't living downstairs from me. He was actually renting coworking space two floors above the co-op office where I was working.

* I don't make anywhere near $150,000. Some court reporters in NYC might make that, but CART providers make significantly less than that, though I have managed to squeak into the six figure range for the past three years running.

* Since this speech was given, the Experimental Windows Port was released. It should be finalized pretty soon, and Josh tells me that support for OSX is imminent as well. Seriously exciting.

* In the TypeRacer video, I was actually using my Revolution Grand, not the SideWinder X4. But I'd love to see new Plover users racing on TypeRacer with their n-key rollover keyboards. Maybe we'll even have a batch competing in next year's Championships! (I'm currently tied for third place, competing as ploversteno. Yes, I was beaten in two matches by a qwerty typist. I need to get better about not getting flustered so that my hands freeze up when I make a mistake.)

* Some of my YouTube videos feature Plover, and I want to record several more, but two of them -- the StenoKnight CART Demo and Steno Versus Qwerty -- were made with Eclipse, my proprietary steno software.

Tuesday, November 15, 2011

Ploverpad is now Ploverdemo

And it's gorgeous!



http://stenoknight.com/plover/ploverdemo/ploverdemo.html

It now supports words of up to three strokes, has working punctuation and capitalization, allows stroke deletion with the asterisk key, and even has a nifty vertical steno notebar to record each of your strokes for posterity with a timestamp and everything. If you've ever had a question about how steno worked, or if you ever wanted to show someone else how completely mind-bendingly cool this technology is, all you have to do is open a web browser and pow! There it is, in living color. It's also a great tool for learning steno on your own, while we continue to work on getting Hover Plover off the ground. A million thanks to John for coding it. Now go, everyone! Spread the Ploverdemo link far and wide! Spawn vast flocks of Plover neophytes! Bring them home to 240 WPM country! This is gonna be awesome.

Monday, October 31, 2011

Experimental Windows Port is Up!

Edited to add: New version, hot off the press, right after I originally posted this. Now it works with both Gemini PR and TX Bolt protocols. That means if you have a Stentura Protege, Cybra, or Fusion, you can press the second and third button of the machine simultaneously to put it into Bolt mode, then use the device manager to see what serial port it's outputting to, and then configure Plover accordingly! Also, I was wrong -- you can totally edit the dictionary. Its path is right there under "configure/dictionary". Woo!

Extremely exciting news. The Plover Project has been joined by Hesky Fisher, an expert programmer whose girlfriend Rachel is currently in steno school. He's been helping us support more steno machine protocols and somewhere down the line he's probably going to be an integral part of the Hover Plover team, since he's got tons of experience in game development, but right now he's working on a Windows port of Plover, which has the potential to multiply our current numbers a zillionfold. (Ubuntu is pretty freaking great, but I know firsthand how intimidating it can be, and most people aren't willing to install Wubi just for the sake of a single program). Hesky's gotten the first version working already! It's a selfcontained .exe file:

Plover.exe


And here's the qwerty-to-steno chart, just as a reminder

Just download it and run it. You'll see the red P appear in your taskbar. Press it so it turns green, and then use your qwerty keyboard or supported steno machine (see above) to write steno into any Windows program! There are a few limitations with this current version. It can't send command strokes, and a side effect of that results in Plover spitting out part of the buffer unpredictably sometimes. But it's a great way to see how Plover works with a minimum of effort. And remember, you don't need an n-key rollover keyboard to see it in action; just about every keyboard is able to write "so is this working?" (SO/S-/TH-/WOG/HF in steno or av/a/rw/ldv/ru in qwerty). Download it, give it a shot, and spread it around to anyone who might be interested. A more complete version is coming soon!

Wednesday, October 19, 2011

Introducing the Ploverpad!

The brilliant minds behind The Plover Wiki have struck again. If you or someone you know has been intrigued by steno but is intimidated by the prospect of installing Ubuntu and downloading a full-fledged keyboard emulator like Plover, what would you say to a taste of steno that you can experience using only your browser and an ordinary qwerty keyboard? Check it out!

Click here to try out the Ploverpad!



As in the old-timey versions of Plover (remember back that far?), punctuation is currently displaying with Eclipse syntax instead of gluing and capping and all that meta stuff. Oh, and it only translates one-stroke words. But I was playing with it this evening, and I was really kind of surprised by how much I could write by restricting myself only to words that could be written in one stroke, plus prefix and suffix strokes. If you know a bit of steno, give it a try and see how long a sentence you can come up with using only one-stroke words. Post them to comments, if you like. I'd love to see what y'all come up with.

Even if you don't know steno, the Ploverpad can be really useful to help you learn the keyboard. Print out a copy of the Steno Keychart and walk yourself through the alphabet. You'll see that the keys on the Ploverpad will light up according to the colors on the chart. Seriously, how cool is that? It's also useful to see how close to n-key rollover your ordinary computer keyboard is; you'll see that certain words will work properly, even if they take three or four keystrokes, but other words involving the same number of keystrokes won't register.

I think the Ploverpad will be invaluable for beginning steno students, people shopping for n-key rollover keyboards, and people who want to practice their steno when they're on computers that might not have Linux installed. But most of all I think it's a fantastic way to demonstrate what steno looks like in a simple, visually striking way with very little technical hassle required. Notice that you can also drag, drop, and resize all of the windows, so if you want to focus on steno keystrokes you can make the keyboard big, and then if you want to switch your focus to translation, you can increase the size of the output window and pour out one-stroke steno to your heart's content. John and Jay, who wrote the Ploverpad, will be adding features as they go along, so stay tuned! But it's already an amazing piece of work. Please feel free share the link around all over the place. Now anyone who wants to try their hand at steno can give it a shot by just clicking on a link. Our most seductive recruitment tool yet!

Friday, October 7, 2011

Split-Screen Demonstration



John, one of the guys who helped set up the Plover Wiki, mentioned that he'd tried to describe how Plover works to his friends, but they were having trouble picturing it. He thought a split-screen video, showing my fingers on the keyboard synced with a screen capture of Plover's output, would possibly do the trick. So here it is! It was recorded using the built-in camera of one laptop running Windows (trained on my fingers), while at the same time another laptop running Ubuntu received input from my Majestouch keyboard via Plover into Gedit. I also thought it might be instructive if I illustrated the chords I was pressing using my steno chart, so I put them all together this afternoon using TrakAx.

The first runthrough is in realtime (though I was trying to show each stroke as clearly as possible, so it's quite a bit slower than I usually write), and the second runthrough is in slow motion. First of all, sorry that the final TP-PL (period stroke) is out of sync; it was hard to see exactly when the period appeared on the small blurry preview screen, so I just took a wild guess, and wound up being a few seconds late. Second of all, you'll see a few random letters appear mysteriously on the screen and then get deleted, all without me touching the keyboard. That's an artifact of Plover's current output system. It works by sending ordinary qwerty keystrokes to the OS, then sending a corresponding number of backspaces to get rid of them, and finally sending the proper steno output to take their place. This is why Plover doesn't work well in programs like Vim, which use one-key command strokes, when using the qwerty keyboard as a steno machine. Plover in Gemini mode (using an actual proprietary steno machine) doesn't have this problem. The screen capture software (xvidcap) makes these deletion artifacts more prominent than they actually are while using Plover in real life; most of the time, you don't see the deletions at all, because they happen too fast to notice them. Third of all, if you try this at home with the default Plover dictionary, you might find that it comes out with "administration" rather than "demonstration" and "moreover" rather than "Plover". Stenographers' dictionaries are always changing, always adapting to the needs and emerging writing style of their owners. Modify your version of Plover's default dictionary for your own needs! I'm hoping to write another installment of Steno 101 addressing that, but I want to wait until we've implemented the just-in-time dictionary entry feature (the ability to add or modify dictionary entries while Plover is running, rather than having to shut it down, open the dictionary, make the change, and then start it back up again) that's next on the development list.

Finally, here's a static chart of the steno chords used in the video, with the English written beneath them. 16 steno strokes, compared to the 87 keystrokes needed to write it qwerty-style.

Monday, October 3, 2011

Plover Wiki is Live



Check out the new Plover Wiki
! This was put together by John and Jay, two new Plover fans, and I'm hoping that the rest of the Plover community will start contributing to it as well. I'll be going over the pages in the next few days, expanding and clarifying where necessary, but it's already a fantastic resource for Plover newbies and other interested parties. Feel free to browse through it, then make an account and start adding your own thoughts, ideas, theory charts, tips, tricks, fan art, screencasts, et cetera. Many, many thanks to John and Jay for getting this whole thing started!

Saturday, October 1, 2011

Captioned PyGotham Presentation is Up



Here's my talk. I stumbled over my words a bit at the beginning, but I think all in all I said pretty much everything I wanted to, and the audience asked lots of questions, which is always a good sign. When the camera pans over to the audience it looks like there are only a handful of people there, but actually I think there were about a dozen all together; several of them were on the other side of the aisle. I've been talking with several people I met at PyGotham, and the Plover Google Group has also picked up quite a bit lately. I'm really excited to see what's next. Josh sent me a small update the other day, with a few little bugfixes, and it seems to work perfectly, so I have a feeling the hiatus is almost over. Fingers crossed.

Tuesday, September 20, 2011

Plover Presentation at Pygotham

Well, Pygotham was fantastic, and I think the presentation I gave went pretty well. I haven't reviewed the video of it (though hopefully that'll be up in the next week or so, captioned with Universal Subtitles, natch), but from what I remember, the people who attended seemed intrigued by the idea of steno and asked lots of interesting questions. I've uploaded a PDF of the slides I used in my talk, so if you're interested, feel free to give them a look-over. They include the other faux screenshot for Hover Plover that I commissioned, pictured below:

Hover Plover Pixel Art by Derek Sneed

This is a top-scrolling space shooter. As I mentioned in the presentation, it's mainly a dictionary building game, as well as a way to reinforce muscle memory after defining each stroke. The enemy ships are coded to the number of strokes required to write the word sitting on their tailfins. So easy one-stroke words like "snails" (STPHAEULS) or "antidisestablishmentarianism" (SPHAEURPL) are the little green ships. The yellow ships are two-strokers, like "guardian" (TKPWARD/KWRAPB). Orange ships are three-strokers, like "bemusement" (PWE/PHAOUS/PLT). The big scary red ship should properly be a three-stroker, since it's "frangipani" (TPRAPBG/PA/TPHEU), but the player's dictionary doesn't have "frangipani" in it, so it appears as an "undefined", the fearsomest type of ship in the enemy fleet. The player can fingerspell the word, which will shoot it down once, but will force them to fingerspell it again the next time it appears. But they can also call up the Plover entry definition window, fingerspell it once, then stroke out the steno they'd like to apply it to, hit the enter key (which in the Plover default dictionary is R-R), and the ship will revert back into whatever type it should be. In this case, it'll go from scary red to slightly less scary three-stroke orange. Unfortunately Plover doesn't yet have this pop-up definition feature; it's the last big improvement we need to implement before Plover can be considered truly complete. But when that gets done, and when we're able to start developing Hover Plover, this is gonna be loads of fun to play, and tremendously useful practice. A debt of gratitude is owed to Typestriker, which gave me the idea of a top-down space shooter, though it's a qwerty game, so it doesn't have any of the steno-specific functionality that the Hover Plover version will have.


EDITED TO ADD:

My dear friend Martin has already gotten to work on the overarching plot of the game, which he posted in the comments. I thought I'd paste what he's come up with in the entry itself, since it amuses me greatly. Keep in mind that this isn't officially sanctioned Hover Plover canon yet, but it's definitely a start!

"Okay, work with me here, I have a vision:

The year is A.D. 2101 - and war was beginning! On the distant planet Chordos 10, the peaceful (but fast-moving!) Ploverian civilization is under attack from the vicious Qwertons.

You play as Ensign Stino Plover, a new recruit in the Ploverian Space Force. You start off in your ill-equipped plovercraft in the side-scrolling New Chord City, and you have to get to Cape Stenaveral to launch and join your PSF comrades in orbit to defend against the incoming Qwerton attack. That level is basically the beginning level you described in your last post. As the ground-based levels progress, your plovercraft gets more and more of the equipment it'll need to fight off the Qwertons - but the challenges also get harder and harder (take away the steno hints, etc).

Once you get to Cape Stenaveral and successfully input the launch code (a few lines of random text you have to stroke in at a certain speed and level of accuracy) you launch your newly tricked-out plovercraft into space to fight the Qwertons. This is the intermediate space shooter level you describe here. If you get shot down, you crash-land back on the planet, where you can repair your plovercraft by repeating part of the beginner level and then relaunching.

If, on the other hand, you manage to fend off the invading Qwertons, you must face a final boss challenge so advanced, so terrifying, that I haven't even thought of it yet. Muahahahaha!"

Sunday, September 11, 2011

Hover Plover Artwork!

Hover Plover Pixel Art by Derek Sneed

In preparation for my presentation on Plover at PyGotham this Saturday from 1:15 to 2:00 in room 5 (check out the whole schedule! It's gonna be a fantastic conference!), I've commissioned some pixel art to demonstrate what Hover Plover will look like once I'm able to get it developed. This is a faux screenshot from the intermediate level game, a 2D platformer that displays both English and steno while you try to keep your broken plovercraft from crashing into the rooftops of an unnamed metropolis long enough to make it to the  repair shop on the edge of town. In this game your plovercraft keeps moving forward at a constant pace, and you're only able to control it in brief vertical bursts by typing the steno stroke on the screen, which lifts it briefly  away from chimneys, greenhouses, water towers, stray cats, et cetera, before it starts sinking dangerously close to the buildings again. After a while, you'll be able to toggle off the steno hints and just write the words themselves. I think it'll be incredibly fun to play. Now I just need to figure out a funding source so we can get the thing made! But I've already got a couple of irons in that fire. More news on that later. Meanwhile, I've got to finish putting together the PyGotham presentation and also start coordinating some bugfixes with Plover's programmer so that it's in good shape for the next phase of development.

My main steno machine malfunctioned the other day (every stenographer's nightmare), and though I was able to fix it that evening with 15 minutes and a couple of screwdrivers (I think the calibration on a few keys had spontaneously gotten wonky, so the "all keys lifted" state wouldn't register), I didn't have time to tinker with it; I had a class to CART. So I fired up my Filco Majestouch with Plover, set the font size on Gedit to 28, and got through the next two hours. It was a struggle; the Majestouch requires harder keypresses than my proprietary machine, so I'm afraid my speed and accuracy suffered a bit. Plover's translation engine also needs a little more sophistication; it made some spelling errors that my proprietary software wouldn't have made. But it was worlds better than it would have been if I'd had to qwerty the class. Being able to carry two steno machines in my bag at all times really gives me peace of mind, and now that the worst has happened, I know that all is not lost if my main machine ever breaks down again. (Though, of course, I'm going to be getting it serviced in the very near future, so hopefully this was a one-off.) Let's hear it for Plover!

Sunday, August 21, 2011



It's been so long! But plenty's been happening on the Plover front behind the scenes. For one thing, I've been using Plover a lot more often since I bought a Filco Majestouch keyboard a month or so ago. Unlike the Sidewinder X4, it's actually small enough to fit in my steno bag along with my two computers, steno machine, and all my other stuff. Before, when I had to do transcription work on the train, I had to try to wrestle my steno machine onto its tripod, balance my computer on my steno bag, plug in the foot pedal, and keep everything in place with my thighs so it didn't topple over. A huge hassle, especially when the train was crowded. With the Majestouch, I just pull it out, plug it into my laptop, and put it on top of my laptop's keyboard. Couldn't be simpler! When I went to visit my family in Montana, I left my steno machine out of my bag so I had room for clothes, and wound up transcribing an entire 80-minute interview in three airports just using Plover and the Majestouch. One big advantage of Plover over traditional steno software is that it has complete control over the OS, so I can set KH-FG to "pause/play" and TR-RL to "rewind 1.5 seconds", keyed to autocommands in Audacious, which completely removes the need for a foot pedal. So that's quite exciting.


I'm also giving two presentations on Plover in the next few months: One at PyGotham on September 16th or 17th (the schedule isn't nailed down yet), and one at the Greater Washington Shorthand Reporters Association convention, on October 21st or 22nd. It'll be interesting to give one presentation to a group of programmers who are almost certainly unfamiliar with steno, and another presentation to a group of steno people who are almost certainly unfamiliar with Python, Linux, or Open Source. We're still working on possible funding leads for getting Plover out of hiatus (its main programmer, Josh Lifton, had a kid a few months ago, so I also wanted to give him a break while he adjusts to fatherhood and other big life changes.)

I've also -- slowly, oh, ever so slowly -- been putting my thoughts together for the next installment of Steno 101, but in the mean time, I wanted to link to something that a member of the Plover Google Group discovered on the internet a while back: Stenotypy the Machine Way, a steno manual from 1914. Surprisingly, there's still a lot of really good material in there. Of course, realtime transcription wasn't invented until the 1970s, so it doesn't include long vowels or conflict resolution (where a single steno outline corresponds to more than one English word or phrase). But even so, the example sentences alone are worth my time to dig through, and if anyone's frustrated with the glacial pace of Steno 101's development, they might to give it a glance.

Tuesday, April 19, 2011

Hover Plover!



So I've finally settled on the name I want to give to the as-yet-nonexistent steno tutorial video game: Hover Plover! A plover on the wing is already faster than your average earthbound creature, just as qwerty typing is much faster than scrawling stuff out longhand. But picture with me now... A plover in a hovercraft. Zooming around over land and water, rocketing a hundred feet into the air and then plummeting dizzily down to earth again, coming to rest an inch above the ground and snickering in your face. You can see it, right? Nothing, and I mean nothing, is faster than a plover in a hovercraft. It's the perfect symbol of what steno can do for anyone who wants to turn spoken words or thoughts into text. I'm not a game designer and I'm certainly not a programmer (sadly, I haven't written any Python code for almost a year now. I keep thinking I'll get back to it, but work has been ridiculously busy this semester.), but I've been playing video games since 1986, and I've got a few ideas on where to start. They can be refined and developed later, once Plover itself has gained a few more features and once we figure out a way to raise money for game development, but this is just to prime the pump.

There are several modes in Hover Plover, because it's got two distinct purposes: One, to teach steno to total beginners, from the keyboard layout to abstract principles of theory and briefing; two, to give people an incentive to use steno, to make it a self-reinforcing experience, as addictive as any game with a significant learning curve. The payoff of being able to write at 225 words per minute is so far in the future for many steno students that it may as well be impossible. That's why about 85% of people who enroll in steno schools drop out. And since Plover is designed for people who don't even want to make a career out of stenography, but who are approaching it more casually, who are mainly just curious about what it can do to help make their daily typing tasks more efficient, the fun-to-grind ratio has to be much higher than it is in your typical steno school (which basically just consists of mindwrenchingly boring dictation drills), or everyone will drop it like a lukewarm mudskipper within five minutes of trying it out. Even at low levels, there's got to be that incremental get-a-reward-and-raise-the-stakes mechanic that keeps people playing Tetris until 4:00 in the morning.

So the first mode is just key recognition, very similar to your typical qwerty typing tutor. Color-coded keys from the steno chart flash on the screen, and you're asked to type them. The plover zooms his hovercraft around the screen to show you where to go. First you get the whole keyboard with letters on the keys, then you get the keyboard with blank keys, and finally you're just given the letter and you have to find and press the key yourself to get the colored letter flag to come up. Then you start with basic chording, along the lines of the first few Steno 101 lessons. It's hard to make this bit too exciting, but once you've got the basics down, you can go into game mode.

Game level one is individual letters -- some of which are represented by chords, some by single keys -- in a split-screen format, to encourage people to use both hands. So you have S-, left side S, and -S, right side S. At first you only get one at a time, but eventually you start having to press two letters, one on each side of the screen, at the same time. I don't know if there should be multiple plovercrafts or if one plovercraft should phase shift so it's able to hit every letter simultaneously, then coalesce back into its singular form -- but that's something we can hammer out during the design process. The main thing is that every time someone hits the right letter and scores a point, they're reinforcing the keys in their muscle memory. They can have a choice of a game with single keys that starts slow and gets faster, or a game that keeps the same pace but starts with single keys and moves up to chords. At first you're allowed to stagger the keypresses, first hitting S- and then -S for a two-stroke point. But after a while you'll be penalized if you don't hit them more or less simultaneously. Tiny incremental steps with visual and auditory reinforcements all along the way -- that's the way to get someone hooked. Once they've fully internalized the keyboard, they go back to the tutor. Again, it'll follow the rough plan of the Steno 101 series (which I swear I'll finish someday, though possibly not before summer, I'm afraid.) After you complete each tutorial, you unlock a game, and each game you unlock becomes more complex and immersive.

Eventually, I'd like to offer at least half a dozen Hover Plover minigames, in every style of classic gaming, from a platformer (where your plover moves forward at a constant rate, but you've got to strike the right chord at the right time to make him jump, or else he'll smack into something and the plovercraft will shoot out from under him), to a bird's eye space shooter (along the lines of TypeStriker, where words fly around and shoot your plovercraft, and you have to stroke them out to auto-target your lasers on them before they can deplete your shields; a good dictionary builder and memory recall tool) to a rhythm music game (the Plover mailing list has already talked about this one a bit, with the working title of "Steno Hero"), for a more integrated intermediate to advanced drill, writing actual complete sentences at a rate defined by your own favorite songs. A package of several minigames, all unified by the simple plover-in-a-hovercraft motif, would let students focus on different aspects of steno writing without getting bored by just drilling the same thing all the time.

People would post videos of themselves playing the game on YouTube, and random gamers would stumble across them, wondering how it's possible to type the words of a song as quickly as they're sung, how someone can keep their head while word-emblazoned enemy starships crowd the screen, coming faster and thicker all the time, as the dauntless plovercraft locks on to each, writes their name in a nanosecond, and blows them into smithereens. Once people see how fun the games are to play, they'll want to make the effort to learn how to play them. Then one day they'll look up from their high score table and realize that not only have they spent the past four hours blowing up baddies and buffing up their in-game word arsenal, but now they're able to write emails or sales reports or short stories or blog posts three times faster than they ever could before. That's how we build our secret steno army: We hook 'em, we train 'em, and then we let 'em loose. Who's with me?

Wednesday, February 2, 2011

Plover 2.1.1 Released!

This is a bit overdue, I'm afraid. The first few weeks of the semester are busy enough that I haven't been able to keep up with Plover emails. But I'll get to them soon, I promise!

So Josh, our dauntless programmer, has released a new version of Plover.

* Fix for a bug that caused crash when adding, for example, an -ing suffix to words that end in a consonant followed by y, such as early -> earlier.

* Fix for a bug that caused crash when starting Plover configured to use a Gemini PR with a non-existent serial port.

* Update of the default dictionary to the latest from Mirabai.

* Refactor of the underlying config file logic such that addition of configuration options in future releases is invisible to the end user and less error prone.

Download it at the Launchpad site

I also was pleased to see in a recent post on Metafilter, someone asked a question about steno, and someone else -- who was not me -- answered it with a link to What Is Steno Good For. So that's exciting!

In other news, I discovered a few days ago that I can make Plover sort-of-kind-of work with my laptop's built-in keyboard, if I sort of roll or arpeggiate the keys. For instance, if I want to write my brief for "supercalifragilisticexpialidocious" (which, along with "antidisestablishmentarianism", is the first word people tend to say when they notice they're being transcribed in realtime), STPRAPBLG, I couldn't just press down all the keys at once the way I can with my SideWinder or Revolution Grand; my laptop's keyboard doesn't have n-key rollover, and recognizes only two or three keys at a time, maximum. But if I start out by pressing the S key (the A key on the qwerty keyboard), then the T and P, then while still holding onto the T and P, let go of the S, roll onto the A, keep the A pressed down and lift up the TP while going on to the PB, et cetera. When I get to the end, I release the last key, and the word pops up like magic. Plover is actually able to recognize all those keystrokes, as long as they're only pressed one or two keys at a time. And since it doesn't mark a stroke as complete until all keys have been lifted, you can essentially play this arpeggio of keys and come up with a correct steno translation for any word in your steno dictionary, even on a keyboard without proper n-key rollover. Now, it's nowhere near as quick as actual strokewise steno, and it's a bit tricky to do properly, but at the very least it can be useful for testing Plover when there isn't a SideWinder handy.

Monday, January 10, 2011

Steno 101: Lesson Three

Steno 101: How to Do It
Steno 101: Lesson Zero
Steno 101: Lesson One
Steno 101: Lesson Two
Steno 101: Lesson Three
Steno 101: Lesson Four

If you've gotten this far, you have progressed from Plover Hatchling


to Plover Fledgling.


Congratulations! Keep at it, and you'll be zooming around in no time.

Yes, another installment of the Steno 101 Series! It's been a while, huh? I've been sitting on this one for a while because it's tough for me to calibrate how much information to deliver in each lesson, and which aspects of steno to focus on first. The first few lessons were fairly easy, because they just introduced the steno keyboard, which is universal to all stenographic theories. As the lessons go along, though, I'm forced to choose between various schools of thought while giving a certain amount of fair play to the methods I don't use. Many books could be written on the differences between theories, and no two implementations of a theory are alike; each stenographer adapts their theory to their own preferences. The best I can do is to tell you how I made my choices over the course of learning steno and developing my dictionary, and hopefully that'll help you to understand the choices you'll be obliged to make as you go along.

So now you know how to write all the letters on both sides of the keyboard, and you can write tons of simple words, like "clock" (KHROBG) and "vowel" (SROUL). But how would you write something like "trash" or "bench" or "pitch"? When a word begins with Sh- or Ch-, you write them with SH- or KH-, which is relatively intuitive. But when they end in -sh, you use -RB, and when they end in -ch (or -tch), you use -FP. Why? No particular reason; you've now entered into the realm of steno conventions, which inhabits the middle space between the hard and fast rules common to all stenographers and the "arbitraries", "short forms", or "briefs", which are so numerous and unbound by theory that many of them are used by only a single stenographer in the world.

-FP and -RB are on the standard side of the steno convention spectrum and used pretty universally, as far as I can tell. There are quite a few more that are commonly accepted across a wide range of theories. Several of the consonant clusters I use in this chapter, though, are used in only one or two theories, and some I came up with myself through trial and error. Entries following these rules are all pretty well represented in the Plover default dictionary, but if you look at other dictionaries or steno theory books, you probably won't find all of them there.

Consonant clusters, in no particular order:

-PBLG -- "-dge", as in edge, badge, or Raj.

-FRB -- "-rve", as in nerve or serve

-FRPB -- "-rch" or "-nch", as in perch, bench, or crunch. Usually this works fine for both consonant clusters; it isn't necessary to specifically distinguish which one you mean. The only exception that comes to mind is "lunch" and "lurch", which I solve by writing lunch "HRUPBS".

-RBS -- "-tious, -cious, -xious", As in delicious, obnoxious, precious.

-*T -- "-th", as in fifth, plinth, or bath.

-*PL -- "-mp", as in plump or lamp.

-*LG -- "-lk", as in milk, whelk, or balk.

-FT -- "-st", as in taste, blast, or boost.

F is used frequently to serve as an S or S sound in the middles of words; SPAFPL is spasm. TKPWHRAFS is glasses. KIFG is kissing. But since F already serves double duty as both F and V, it can sometimes be tricky to handle, as in paves/paces, braves/braces, proves/process, laughs/laves/lasses, et cetera. Usually F as S gets lower priority (takes the asterisk or requires a extra stroke) compared to F as F or F as V. More on this in subsequent lessons.

-GS -- "-tion, -cian, -cean, -sion, -gion,", as in notion, ocean, passion, fashion, Titian, fission, elision, region, physician.

It's also used for literal -gs endings when there's no confusion (there's another one! KAUN-FAOUGS); since the word "bession" doesn't exist, you can use BEGS for "begs", but "PIGS" is reserved for "pigeon", and if you want "pigs" you're going to have to do it in two strokes (PIG/-S) or with sthe -Z key (PIGZ).

-BGS -- "-ction", as in faction, traction, constriction, diction.

Now, as you remember, -BGS is also -X, so you'll need to distinguish those sounds from one another when necessary. There are two schools of thought here. One is to decide that all -BGS words without the asterisk are -x words and if you want them to become -ction words, you have to put the asterisk in. This has the virtue of consistency, but it also requires more use of the asterisk than some people like (though you'll see as Steno 101 goes along that I'm quite a fan of the asterisk myself, and encourage its use for all sorts of purposes). The other way is to give the least common word the asterisk. So if "faction" is used more often than "fax", it'll be spelled TPABGS, but if "fix" is used more often than "fiction", you'll have to spell the latter "TP*EUBGS". Plover's default dictionary uses the "less common word gets asterisk" method, so you'll either have to memorize which word of each pair goes with which mapping, or you'll have to change them to suit your own preferences.

There are a few more consonant clusters that come up now and then, but these are the most frequently used, and they should be plenty to work on for now. In the next lesson I'll talk about prefixes and suffixes and give you some more principles for creating briefs and resolving homophone conflicts.

Finally, let me give you briefs for a few of the most common words used in steno, according to the hit counter of my steno dictionary. I told you about some of these in Lesson Zero, but then I wrote them in pseudocode, and now that you know all the keys on the keyboard, you're able to read and write them in actual steno.

-T = the
SKP = and (APBD can also be used, but it's more awkward due to the finger stretch)
TO = to
U = you
-F = of
AEU = a
THA = that
T- = it
S- = is
TPH = in
EU = I
SO = so
TH = this
T-S = it's
WAOE = we
SR = have
PWUT = but
TPOR = for
WHA = what
THE = they
R- or -R = are
OPB = on
TPHOT = not
PWAUS = because
TP = if
-B = be
TKO = do
W- = with
TKOEPBT = don't
-FT = of the
OR = or
PW = about
WAS = was
WUPB = one
K- = can

I know that so far this series hasn't had nearly enough practice material or exercises, and I'm going to try to fix that when I go back to revise the first three lessons. Of course, when the Steno Tutorial video game gets written, it'll offer tons of practice opportunities with realtime feedback, but until we're able to start working on it, you'll have to put yourself through your own paces. After posting this I'll start working on some exercises using what you've learned up to this point, and hopefully I'll be able to post them in the next week or so, but I really wanted to get this lesson up and out. With luck, the next one won't be so long in coming.