Open kroko opened 6 months ago
btw, to add - mode where all characters to come are always hidden and the text that needs to be written is in other box, e.g. interfaces such as in 10fastfingers is also having having next character(s) visually spoon-fed 😄 to the user. eyes are fixated, a visual-to-muscle memory is established which simply isn't there in real life, as there is no text yet on the paper to look at, only in head. to repeat myself, knowing the word that needs to be typed, but not seeing it yields better quality for real-world typing, although it makes typing slower and learning more frustrating.
That is an interesting idea. And let me say that I appreciate the effort you put into describing it. How would we show errors? Let's say I am in the middle of a word, the letters on the left from cursor are visible, and on the right are hidden. Then I make an error. I think it should immediately reveal the whole word.
mby settable internalisationModeRevealOnError
? as IMHO this mode should be used (makes sense) with natural words most of the errors would be technical typing errors instead of not knowing how to spell the word errors, so if user misses BUT has word internalised already then it would be obvious what the error is and no need to show the word. but, idea that the word is shown also sounds reasonable, also for those who truly have issues with spelling
if internalisationModeEnabled &&
isError &&
!errorCorrected &&
internalisationModeRevealOnError &&
!forgiveErrors:
show current word
i haven't used forgive errors
mode myself, so i have no insight on that usage and how it works with this. if that mode just skips over errors, then no reveal is necessary(?) or maybe the opposite - when that mode is on, on any error reveal the word with error forever.
Having many options is both impressive and annoying at the same time ;) Imo it is better to have a reasonable default and just show the word.
forgive errors
automatically fixes some errors, like a skipped or a replaced character. It allows you to preserve speed and the state of "flow".
so reveal until corrected. and in case of forgive errors
that would mean that the word stays revealed (as it is not corrected). sounds as a reasonable default 😄
if !errorCorrected && # implies isError
internalisationModeEnabled:
show current word
edit: ⚠️ by next word
i mean count of next words
where count > 0
. if you're good at it, you can look ahead and internalise multiple next words (like a dictation test in primary school, where you are presented with a sentence before writing it down). so the "flow" is kept. revealing only one word would be chunky, as after finishing the word one has to stop, read the revealed word.
have a reasonable default
i tried practically and actually there might be 3 variables (see C)
the screenshots in my OP is A=true, B=1, C=false
here is A=true, B=1, C=true
here is A=true, B=2, C=true
while this internalisation / write blindly mode leads to slower typing speeds anyway (part of the point), this may lead to more smoother experience.
Reason
To approach practical typing outside of this training domain the internal visualisation of the text is needed. The existing principle strongly ties visual with typing, I mean, user is literally shown what the next character (all of them) needs to be.
Mode
Guided lessons
Practically applicable
When Prefer natural words is chosen although one can use it also on random gibberish. So explanation should be presented.
Currently
All characters (and words) that are to come are in full contrast, all solved characters (and words) are dimmed.
Proposed mode
N.B. showing one word (
COUNT == 1
) ahead might be too less, so there is a setting about how many next words are "flashed" when a word has just been finished.here is the idea shown visually (
COUNT=1
for simplicity)at the beginning
starting to type
still typing, just before the last character of word
just finished word, the next is flushed
continuing, the word hides
still typing
again at the end of word, next is shown
continue typing
currently writing word, but what was it ?
meta+space (or whateva) shows the word
ok, lets continue