A couple of months ago I wrote about handicap accessibility and minimum profit. There are multiple levels of accessibility and the only one I'm asking for is some additional navigation/editing operations and some method to invoke them. Speech recognition connection to applications takes two forms. The first is key generation. If you speak something that matches a grammar, the terminal element in the grammar emits some keystrokes and the action is performed. For example, the phrase "move to end of line" yields the "end" key. The second is API driven. The second option is frequently faster and more reliable than key generation but it's significantly more difficult to implement. The reason for the speed and reliability differences that some applications cannot accept keystrokes at a high speed and drop them on the floor. But under the "don't borrow trouble" clause, let's not worry and assume that keystrokes will be good enough. Unfortunately, connecting to an application is not sufficient. Usually most of the functions available are tuned towards hand driven operation. Speech driven interfaces need a different set of operations or functions. Without a special mediator for converting English words into codewords, the most common set of needs involve navigation and selection. The secondary level of needs our operations on the selected region. For example: "between parens" generates two parentheses and then moves the cursor between the two of them. For parens you can substitute brackets, braces, quotes, double quotes, triple quotes. For 'between', you can substitute 'matched'. And when you say "matched parens", this system should generate two parentheses and leave the cursor after the last one. But But what happens when you want to go back and change something that you put between parentheses? if foo.has_key(wire): I should be to say "jump between parens" and end up with the cursor between "(" and "w". Yes I should have the ability to put one between 'e' and ')' but I haven't figured out what I want to say. The kind of navigation pieces I would like is the ability to jump to predicates, methods, classes, index, left value, right value, and arguments 1..N. But what might be more important is the ability to select those same items. Again, using the example above, saying 'capture first argument' should capture the phrase "wire" into the cut paste buffer as well as selecting it. This is a very rough cut model of what speech recognition/programming by voice folks could use. I know it's a pretty significant chunk of work so I understand if it's too much to tackle. -- To unsubscribe, send mail to mp-unsubscribe_lists.triptico.com.Received on Mon Jun 02 2008 - 21:09:07 CEST
This archive was generated by hypermail 2.2.0 : Mon Jun 02 2008 - 21:26:07 CEST