my name is Daniele, I'm from Italy.

I am a stenographer, it means that I use a steno machine to type text. Unlike a standard QWERTY keyboard, using a steno machine you can type text faster because you press at the same time multiple keys, so you insert text syllable by syllable or word by word instead of character by character. For this reason it is also called "chord keyboard". It is used in Court or TV subtitling to transcribe in realtime.

To learn stenography you need a couple of years of study and constant practice.
What I'd like to ask you is to develop a Typing Tutor application that can be accessible from the web, so a sort of web application to practice stenotype.

This kind of application is quite similar to a normal Typing Tutor for QWERTY keyboard, but with some differences, because as I said words appear on the screen not character by character, and also this application should pay attention to accessibility for visually impaired people who use a Screen Reader to navigate the web. Mainly because I'm visually impaired me too and I use a Screen Reader and I'd like also people with sight disease can enjoy stenotype if they are interested to.

In the next lines I will try to explain the best I can, point by point, all the features this application should have.
Please forgive me in advance if I don't get this target and also if my English is not fluent and correct.

Thank you in advance for patient and reading.

1. The main part of application inteface is the Text Box with text inside that the user has to type. It appears in the main area at the center of the screen.
Something similar to "The Typing Cat" application:
The text inside the Text Box should lay only on one line. The word the user has to type always stays in the middle of the screen. During typing this line scroll from right to left.
In addition to the main Text Box, under it should be a Text Edit Field. This is the field where there is the main flashing cursor and where the user types the words, like any other word processor application.
This Text Edif Field should lay right under the Text Box, this also stays in the middle of the scree.

2. Exactly like "The Typing Cat" application, a second cursor is placed at the beginning of the first word into the Text Box.
When you type using the steno machine two things happen:
- Into the Text Edit Field appears the word I've typed.
- Into the text Box, if I didn't do any mistake, the second cursor moves on and highlights the same word I've just typed.

3. The second cursor into the Text Box goes ahead only if I type the correct letters/word, otherwise it doesn't move.
- On the Text Box I read the word "telephone". This is the word I have to type.
- I type the first syllable "te" on my steno machine. Into the Text Edit Field appears "te".
- On the Text Box the second cursor moves on, the two letters "te" are highlighted.
- I type "le" on my steno machine. Into the Text Edit Field appears "tele".
- Into the Text Box the cursor goes on again and "tele" is highlighted.
- I finally type "phone" on my steno machine. Into the Text Edit Field appears "telephone".
- Into the Text Box the cursor goes on again and the whole word "telephone" is highlighted.

4. Once a whole word into the Text Box is highlighted it means has been correctly written. In this case the Edit Text Field is reset and the content is deleted, ready to accept the next word. Following the example above, once typed "phone", the word "telephone" on the Text Edit Field disappears and the text into the Text Box scroll from right to left, so in the middle appears the next word I have to type.

The points above are the core of the application. Now some extra options.
Until now the interface has Text Box and Text Edit Field. Into another area should be available some options that can be enable/disable/set before the typing session starts.

5. Option 1: Cursor Limit.
Until now if I type into the Text Edit Field I can type as much as I want, with no limit. I mean, if I make a mistake while typing the result is that into the Text Box the cursor doesn't move, but in the same time I can continue to type into the Text Edit Field, I'd like to limit it with a checkbox.
If it is enabled, in case I type an incorrect word into the Text Edit field, I receive a sound feedback which informs me I've made a mistake, and the first flashing cursor of the Text Edit Field stops. I can continue to type but I always receive the same sound and the cursor doesn't move. What I have to do is to delete the wrong word from the Text Edit Field and type again.
For a reason that would be better to explain by video instead of by words, close to this check box should be available a suboption where I can set number 1, 2 or 3. If set to 1, the main flashing cursor will stop after the first wrong word I've typed, giving the sound output feedback. If set to 2 it will stop after two worng words. If set to 3 it will stop after three worng words tha I type.

6. Option 2: Case Sensitive.
If this checkbox is disabled, no mistake considered in case of different Case between Text Box and Text Edit Field.

7. Counters
The interface should has another area with three counters:
- A Timer: in the format MM:SS. It starts automatically from 00:00 when the first word of the Text Box is typed. It stops automatically when the last word of the Text Box is typed.
- WPM: words per minute. It updates continuously and give me feedback about my speed. This one also starts automatically when I begin to type the first word of the Text Box and stops automatically when I type the last word. It gives me the final medium speed of the whole session.
- Errors: a counter which increases by +1 each time I receive the sound output feedback which corresponds to a mistake.

8. Audio Player
To use this Typing Tutor it means to listen audio of somebody who is reading the text I have to type showed into the Text Box. So the interface should have also a small player with 4 buttons: play/pause, stop, skip backward 2 sec, skip forward 2 sec.
A webpage will contain a list of all lessons. Once clicked on one lesson, a new web page with the Typing Tutor application will open and into the Player/Text Box will be loaded the corresponding Audio/Text.
If I press the "stop" button of the player everything will be reset: audio will go back to the beginning, Text Box cursor will go back to the beginning too, Text Edit Field will be erased, all counters will be reset to zero.
The 4 buttons of the player should be pressed also using keyboard shortcut.

8. Text-To-Speech
Imagine visually impaired is typing listening audio during a normal lesson session.
Everything happens fast. Maybe he makes a mistake but he doesn't realize which is the word he has to type again after the mistake.
Basically it is the word where the second cursor of the Text Box is placed.
The only way for a visually impaired is to press a keyboard shortcut and to have audio feedback of that word.
The Screen Reader gives this opportunity; I can move Screen Reader focus on that word into the Text Box. This focus will be fixed over there. If I need I will press a keyboard combination and the Screen Reader will read aloud which word is under the focus in that moment. But of course the Screen Reader focus should be able to move until that word into the Text Box.
Another solution could be to use a third party Text-to-Speech service, like Google, but I think is more complicated.

That's all.
I tried to imagine everything and I hope I didn't skip anything.

Thank you so much for patient.
If somebody is interested to develop this project can contact me with a private message or at [email protected]