ShortTalk: Dictation Made Rewarding

Audio Demos

There are myriads of editing situations that must be solvable in an efficient manner. We give a few samples below. You may notice that ShortTalk is probably faster, even much faster, than your current editor for solving most of these problems.

Fix spacing and capitalization before a “.”—don't loose cursor

A common situation: everything we said to the speech recognizer was taken down correctly, except for a little spacing or capitalization problem.

Before

the most we had.we helped it going|

After

the most we had. We helped it going|

ShortTalk solution (1.0s)

fix boof we helped            Play

Explanation

The “fix” action carries out this common operation at the place indicated by the “boof” search designator: before the earliest occurrence of “we helped”. The action does not change the cursor position.

Delete an errant “%”—don't loose cursor

A common problem: something close to the cursor needs to be deleted, but we don't want to lose the current cursor position.

Before

|The most...We helped% it going

After

|The most...We helped it going

ShortTalk solution (1.5s)

smack sorch per ane            Play

Explanation

The “smack” operator deletes the text identified by the search designator “sorch”, and “per ane” means “one percent sign”.

Concatenate letters

ShortTalk uses both positive and negative numerals to identify text around the cursor.

Before

with A T & T|. The company

After

with AT&T|. The company

ShortTalk solution (.9s)

speece truo            Play

Explanation

“speece truo” applies the no-space operator to the three identifiers preceding the cursor.

Add some space around a “+”-sign

Lots of idiomatic uses of backspace, arrow keys, and spacebar key can be accomplished as quickly in ShortTalk as by keyboard.

Before

z = x+y|

After

z = x + |y

ShortTalk solution (2.4s)

gloof, spooce, gloof twain, spooce, gairk            Play

Explanation

“gloof” means “press the left arrow” and “spooce” means “press the spacebar”. The modifier “twain” means do it twice. “gairk” takes the cursor to mairk, which is the text anchor cast at the beginning of the last movement command.

Capitalize inside a word and put the word in quotation marks

Nitty-gritty manipulation of a word involving capitalization in the middle is easily accomplished.

Before

<body class=myclass>...|

After

<body class="|myClass">

ShortTalk solution (2.9s)

go boof class, caip hare, choose word, quote pair            Play

Explanation

“go boof class” positions the cursor before “class”, “caip hare” capitalizes, “choose word” selects (highlights) the whole word around cursor, and “quote pair” introduces quotation marks around the selection.

Insert a “!” after “by far”, add “em” markup, and put in parentheses

ShortTalk supports sophisticated markup editing in XML.

Before

|The most challenging method by far ...

After

The most challenging method (|<em>by far!</em>)...

ShortTalk solution (7.2s)

go aift by far, stroop, clam ane, choose ting twoon, snex e. m., choose term, par pair            Play

Explanation

“go aift by far” positions the cursor after “by far”—the word “stroop” is a neutral word that delimits the search string; “clam ane” inserts the exclamation mark; “choose ting twoon” selects the two continuous pieces of characters before the cursor; “snex e. m.” is an XML-specific command that inserts the em-tag around the selected region; “choose term” selects the tagged region (element); and “par pair” inserts parentheses around the selected region.

Delete the modifier of the sentence

For much editing, the explicit identification by mentioning the whole text range is slow. ShortTalk offers an arsenal of structural identification concepts along with short commands for skipping to an individual symbol.

Before

After two years, he left for Paris. |

After

He left for Paris.

ShortTalk solution (1.4s)

skoop cam, reese senten            Play

Explanation

“skoop cam” skips backwards until before the first comma; and “reese senten” deletes backwards to the beginning of the sentence.

Fetch a program identifier in a declaration and insert

A text-editing idiom in programming is to reuse an identifier or even subexpression.

Before

int StrangeFunc(int * myPtr) {
		    int *t, *myStrgPtr; 
		    ...
		    *myPtr = *|

After

int StrangeFunc(int * myPtr) {
		    int *t, *myStrgPtr; 
		    ...
		    *myPtr = * myStrgPtr|

ShortTalk solution (3.0s)

go ooft strange, skaip line, word oon, push lairk            Play

Explanation

“go ooft strange” positions the cursor somewhere in the first line of the function definition; “skaip line” positions the cursor at the beginning of the next line; “word oon” positions the cursor at the first letter of “myStrgPtr” by going backwards; and “push lairk” pushes the identifier “myStrgPtr” to where the excursion began. In practice, an even faster alternative is to simply point the mouse at the desired identifier and then issue the ShortTalk command
grab eed
which inserts the identifier at the mouse position where the cursor is.