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.

7 comments:

Stefan said...

First, this is really great!

A little bug I have found is that it captures all keyboard input whether it is focused or not - means that you can't type into another application with Fly running in the background.

I would like to be able to use my own dictionary and create lessons.

Also, the basic dictionary for the Words mode seems to me to include mis-strokes ("HA" for 'that') and briefs ("-LG" for 'willing') - just as a suggestion, I'm not sure that mis-strokes should be included at all (as it would teach bad habits) and briefs might be better introduced in a more advanced lesson later on, which will make the logic behind steno a bit clearer to start off with.

I am probably incorrect about the above - I haven't even got as far as baby steps when it comes to steno, let alone progressed beyond them!

I hope the above doesn't sound unduly negative - this is a fantastic piece of work and deserves all credit.

PloverLover said...

It's good to see projects stemming off of Plover. It's a fantastic little program, but if I might suggest what I think is holding me (nub to steno) back in general.

It's not really the software per say that is holding me back, but the know-how behind steno itself. I need to know how to type numbers (9,35,77.) I'd like to know how to capitalize letters when needed, such as in acronyms. What to do to force punctuation?

Using that old book and Mirabel's lessons just isn't enough to get going. 1: Most things in the book don't work on the software because of advances to steno, 2: Mirabel's lessons aren't broad enough.

I need info, input, lessons. I also agree with Stefan that the briefs that we are currently learning within the program are meaningless for beginners that don't understand the logic behind it.

I love the progress that is being made, and I hope some sort of A-Z lessons can be made in the future.

Mirabai Knight said...

Stefan: I definitely agree with you about the misstrokes. It's a problem. It seems like half of the common words that come up are actually misstrokes, which makes me feel kind of ashamed at the sloppy state of my dictionary. Even though I know that misstroke entries are actually extremely useful things to have, seeing them all displayed like that feels a bit like I'm walking around in my underwear. Ideally a steno game should emphasize customizability; however someone strokes a word, if it produces a valid translation, should be accepted. But I understand that beginners need prescriptive instruction as well. They need to see good models in order to be able to internalize the principles of the theory before they can strike off on their own. So I think the dictionary used by Fly should be trimmed down so that only strokes that make sense according to the theory are allowed. I'll talk to Pragma about this soon.

Mirabai Knight said...

PloverLover: I hear you, and I'm really sorry that there hasn't been more progress in the Steno 101 series, both in terms of expanding outwards and in devising more practice material for new learners. Turns out this pedagogy thing is harder than it looks, heh. I definitely have a section on numbers and metacommands planned; I've been holding off on it because the most recent release of Plover implements numbers incorrectly. But Josh recently sent me a revised release which works properly, and so as soon as he pushes that to trunk I'll be able to write up the lesson. I'm also trying to get the Windows port completed so that it allows for command strokes; once that happens, both versions will be on an equal footing and I'll be able to teach cross-platform users more consistently.

Soo Doe Nimh said...

Okay: since there is a native Windows executable, as well as a web-based interpreter which will handle shorter maps, I'm in!

I have four Ubuntu machines running in the next room, but I have to work in Visual Studio, and SQL Server all day, and I have learned that, as much as I would prefer to work in Linux, I'm going to need a good Windows port to become an adopter. I also will have to give up Vim as an editor, which I don't relish doing, but I could make that sacrifice to use steno.

FWIW (is that a brief?) the comments section of a high-speed Morse code enthusiast site pointed me here. There are little user bases here and there who could use a tool for writing faster than 120 WPM, many of them have the motivation to put in the time: anybody who can copy Morse code at above 80WPM certainly has the work ethic to learn steno at least passably.

I'm guessing that, with the materials we presently have, the best choice is to do as I did with Morse code: learn how to write the most common 150 words in English. Since they make up around half of our writing and speech, this is a foundation, at least.

Capitalization may be an issue with programming: too many identifiers with mid-word capitalization, like "subHierarchyDataPtr" and "TwinStateID". Sure, Plover programmers could avoid writing such identifiers, but other programmers will continue to do so.

I'm with a commenter above: more clarity is needed as to how to handle capitalization and other mundane things we take for granted on regular keyboards.

You're doing some impressive advocacy here. I bought a Filco keyboard because of you, and I have a docking station with a PS/2 port on order.

Mirabai Knight said...

Hi! It's awesome to have you aboard. I feel the pain in terms of having to give up Vim; happily, when I've got my actual steno machine handy I can still use it, but I'm forced to go back to Gedit when I'm using Plover with my qwerty keyboard. I'm hoping that problem will be fixed eventually (we've got a blueprint for it), but since our main coder is an emacs user it's hard to impress the importance of the fix upon him, sigh.

The completed Windows port is hopefully coming sometime this week! Fingers crossed.

How to write the most common English words, you say? here ya go!

Actually, that capitalization problem you mention isn't an issue at all, and is something steno does extremely well. It'll all be revealed in the next Steno 101 lesson, which I'll release after the next version of Plover goes live, but essentially if you want to define a camelCased variable to use more than once, you can fingerspell it, using the uppercase alphabet for the capital letters. Or if you jut want to reference it once or twice, you can use the "capitalize next stroke" command. Either way is extremely simple. Seriously, I think that Plover for coding could be huge; we're just got to make the steno learning process quicker and less painful. We're getting there. Thanks so much for your comment! Please stick around (join the forum, maybe) and let me know how it goes.

Michael McGinnis said...

I think Fly is great. The only problem I see is that it could use a Skip button. When I'm asked to write a "g" (TPKW), the game waits right there until I get a Sidewinder, because I can't use more than three keys at a time on my current keyboard. (I'll have to see if it will let me enter g-).