Long words should to be slower
Hi there, I was just playing with squirt. It's fun, thanks for making it.
I noticed that long words are displayed for about the same time as short words. When they're long enough, I don't have enough time to read them. I think it's that I don't have enough time to scan my eyes over them.
The example I noticed was "hyperproductive"
Also related to this, some hyphened 'words' are difficult to read, although I'm not sure what the best way to deal with this would be.
Engineers say water pumped through the system—jointly built by a consortium of companies, including Toshiba and EnergySolutions, a processor of nuclear waste based in America—will conform to Japan’s discharge standards.
These changes could probably be patched into here, https://github.com/cameron/squirt/blob/23d4c993967a2d77b6e3f71f9493a3dd87ca3be1/bm/squirt.js#L163
Basically you could have
if(word.length > 8) return waitAfterLongWord; // where it'll probably something like 3
And for the second one,
if(word.indexOf('-') != -1) return waitAfterHyphen;
of course these variables will need to be set, and also I guess you want to pick up all types of hyphens.
As someone mentioned in the HN comments, this is probably relevant: http://www.spritzinc.com/blog/ (article Why Spritz Works: It’s All About the Alignment of Words)
I was thinking that the length that a word could govern how long wit was displayed. You could use the distribution of word length, in order to approximate the desired wpm count.
http://reference.wolfram.com/mathematica/example/WordLengthDistributioninVariousLanguages.html
I came here for the same issue. Also it appeared to me that some long words were even displayed for a briefer times than other shorter words. Maybe reading texts in German makes this even more painly obvious to me.
I decided to test this on teh wiki article on speed reading. Had to bail when the word "subvocalization" came up. It was too big to read. Maybe some sort of shrinking for super long words too? To allow it to all fit in your field of vision?
Long words should be hyphenated and shown in portions (as shown in the examples on the Spritz site). Some languages have very long words which cannot be grasped in total without eye movement, so this is actually a necessity. Make sure you make a difference betwenn hyphens and dashes. Unfortunately, according to American rules, dashes (in this case M-dashes) are glued to the words before and after, while according to British rules, dashes (here it's N-dashes) are separated from the words by a space. Hyphens are (almost) always directly following a non-space character, and followed either by another non-space character, a space or a line break.
We should be looking at m-dashes and n-dashes only if they occur in the middle of a word. Not too many publications actually use them correctly, but anywhere we see 'word—word', we should treat it as ['word—', 'word']. Not too hard of an edit, I imagine.
This article here show a few interesting things
http://qz.com/186727/the-problem-in-the-ukraine-crisis-is-that-we-have-the-wrong-putin/
The string "decade-and-a-half" is displayed as a single word although it'd be much easier to read as "decade-" "and-" "a-" "half-"
The sentence here, shows more challenges
“He is a Cold War liberal, like Kennedy. [Secretary of State John] Kerry is like John Foster Dulles,”
Tearing through that at speed causes me to lose all context of punctuation which dramatically changes the meaning of the text. Pausing on any word that has any non alpha character might be prudent, that just takes longer to absorb.
My proposal: https://github.com/cameron/squirt/pull/85
With this I can specify my own delays in bookmark script: window.sq.wordDelays = [[3, 1], [5, 1.2], [7, 1.4], [9, 1.6], [10, 2], [11, 2.4], [12, 2.8], 3.2]
Explanation: [[max-word-length, delay], ... max-delay]
hey guys! thanks for all the feedback. would love to break up hyphenated words, and slow down on longer words. the question is how long to slow down for and how long is "long". i would like to chunk long words, but doing so is complicated (where do you choose to break?). look forward to a 70% fix sometime this weekend :)
I think you may have to delve into word frequency tables. For example subvocalization and inconsequential both have the same number of letters, but the former is a much more unusual word which surely make it harder to glance at.
Of course I realize that makes the whole thing need to be more language specific which becomes a much larger problem.
From: Cameron Boehmer [email protected] Sent: Saturday, March 15, 2014 8:36 PM To: cameron/squirt Cc: Graham Stewart Subject: Re: [squirt] Long words should to be slower (#3)
hey guys! thanks for all the feedback. would love to break up hyphenated words, and slow down on longer words. the question is how long to slow down for and how long is "long". i would like to chunk long words, but doing so is complicated (where do you choose to break?). look forward to a 70% fix sometime this weekend :)
Reply to this email directly or view it on GitHubhttps://github.com/cameron/squirt/issues/3#issuecomment-37746842.
@grahamsz, indeed. Punting on frequency tables in favor of lower-hanging fruit for the time being, although I wouldn't be opposed to doing it just in English as a first step.
Question: what do you think about switching the font color during strings of words wrapped in punctuation? "Words in quotes" (or in parens) [or even in brackets] would all be colored slightly differently so that it's harder to lose context.
If anybody's interested, I've been toying with the delay. I incorporated a syllable-counter (accounting for diacritical vowels) and an adjusted sigmoid function to determine the delay. It feels significantly better to me. If it's welcome, I'll throw together a pull request.
https://github.com/dorkusprime/squirt
OH SNAP am I interested. I just did a massive refactor, so hold on a minute... I mean a few days, more like—mom is flying into town today, so I'll be playing tour guide instead of FOSS manager this weekend :boat:
This issue is really important especially for languages like german. We got really long words such that you either have to show the words very long or break it down to syllables. Some german words: Betäubungsmittelverschreibungsverordnung Donaudampfschiffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz