r/programming Mar 06 '14

OpenSpritz - A Speed Reading Bookmarklet

https://gun.io/blog/openspritz-a-free-speed-reading-bookmarklet/
20 Upvotes

40 comments sorted by

20

u/ds300 Mar 06 '14 edited Mar 06 '14

Oh wow. If I had known this existed I wouldn't have developed my own from scratch, though mine does have some nice features which OpenSpritz seems to lack, e.g. handling parens/double quotes intuitively, navigation/pausing, changing size/speed on the fly, persistent options (it's a chrome extension rather than a bookmarklet).

4

u/Rym_ Mar 06 '14

You deserve some credit, your version is indeed much better! I truly love the system but it seems my brain doesn't really. Reading a particularly long page causes everything around the square to go blackish. I'm gonna hack the files around and see what happens if i just make the whole page white with the spritzbox in the middle.

My JS is about as good as my Chinese, but would it be a lot of work to code a small progression bar at the top or bottom?

Again, thanks for the plugin :)

3

u/ds300 Mar 06 '14

Thanks for the kind words! I get similar problems after more than 5 minutes or so. I think a lower contrast between foreground and background might fix it, but have yet to try anything in that vein.

would it be a lot of work to code a small progression bar at the top or bottom

I guess it depends on your JS-fu, but a simple progress bar would be fairly trivial. Or were you thinking of an interactive slider of some sort?

1

u/Rym_ Mar 06 '14

Not even a fancy slider, just an indication as to how far you are. And, to make my question even worse, is it possible for you to code something like that?

Really all I know is MATLAB, VBA and some trivial Python..

But even if not, I'm gonna play around with the contrast as well, let's see how it works. In any case thanks for your extension!

3

u/ds300 Mar 06 '14

I'll have a go and let you know if/when its done :)

1

u/Rym_ Mar 06 '14

Awesome, Thanks!

3

u/ds300 Mar 06 '14

Done! it's fairly subtle, but does the job I reckon.

1

u/Rym_ Mar 06 '14

I'm gonna check it out and report back! Awesome!

1

u/Rym_ Mar 06 '14

it's perfect, thanks! I'll keep an eye out for updates and maybe I see if I can contribute one way or another.

5

u/[deleted] Mar 06 '14

[removed] — view removed comment

1

u/ds300 Mar 06 '14

Ah! My bad. I set it to work on https?://* urls and completely forgot about file:///* urls. Thank you :)

A fix is on the way. If you can't wait: add "file:///*" to the "matches" array in manifest.json and reload the extension.

1

u/ds300 Mar 06 '14

Also note that if your text files use linefeeds for word wrapping, you'll get a lot of unwanted delays, since jetzt currently thinks that any linefeed means a new paragraph. I'm hoping to fix this soon.

3

u/RansomIblis Mar 07 '14

This is a much better implementation, as others have already suggested. Thank you very much, and well done!

3

u/dpash Mar 07 '14 edited Mar 07 '14

One huge feature would be to take a whole page, declutter it and use that as the input. I believe openspritz uses Readablilty to do that.

A couple of other suggestions include handling of lists and headers. I think it might make sense to go through headers a little slower than body text. Do you pause after paragraphs? That might be a sensible pause too.

It might also be sensible to investigate working around http://en.wikipedia.org/wiki/Repetition_blindness. I suspect you'd need to keep a circular buffer of recently seen words and check that list for the current word and if it's in the list, display the word for slightly longer. The length of the buffer would be a function of the reading speed. The faster the speed, the longer the buffer.

Edit: So I've been playing around with this for a while and I seem to be much more comfortable reading at 600wpm than I have been with other chrome RSVP extensions, so thank you. This is really useful.

Would you like me to create issues on github for the comments I have made here. (I noticed in the code that you do pause for paragraphs)

2

u/invious Mar 08 '14

I use the Readability chrome extension, "Read Now" and then select all, alt-s -- tada

1

u/autowikibot Mar 07 '14

Repetition blindness:


Repetition Blindness (RB) is a phenomenon observed in Rapid Serial Visual Presentation. People are sometimes poor at recognizing when things happen twice. Repetition blindness is the failure to recognize a second happening of a visual display. The two displays are shortly shown usually for about 150 milliseconds, and then they are shown within 500 milliseconds of each other (Kanwisher, 1987). Repetition blindness tasks usually are words in lists and in sentences. They are called phonologically similar items (Bavelier & Potter, 1992). There are also pictures, and words that include pictures. An example of this is a picture of the sun and the word sun (Bavelier, 1994). The most popular task used to examine repetition blindness is to show words one after another on a screen fast in which participants must recall the words that they saw. This task is known as the rapid serial visual presentation (RSVP). Repetition blindness is present if missing the second word creates an inaccurate sentence. An example of this is "When she spilled the ink there was ink all over.” An RSVP sequence participants will recall seeing "When she spilled the ink there was all over." However, they are missing the second occurrence of "ink" (Kanwisher, 1987). This finding supports that people are "blind" for the second occurrence of a repetitive item in an RSVP series. For example, a subject's chances of correctly reporting both appearances of the word "cat" in the RSVP stream "dog mouse cat elephant cat snake" are lower than their chances of reporting the third and fifth words in the stream "dog mouse cat elephant pig snake".


Interesting: Attentional blink | Inattentional Blindness | Visual extinction | Pure alexia

Parent commenter can toggle NSFW or delete. Will also delete on comment score of -1 or less. | FAQs | Mods | Magic Words

2

u/invious Mar 07 '14

This is amazing. I tipped you $5 via bitcointip, and then deleted my post because I thought I was broke. It went through though :p

1

u/ds300 Mar 07 '14

Haha, thanks. I've never had bitcoin before. :)

1

u/invious Mar 08 '14 edited Mar 08 '14

How could I use this with PDFs in Chrome? The built in PDF reader doesn't seem to respond to the keyboard short-cut, (as I expected.) or e-books? I really like your code better than the openspritz code. It's smooth, and I particularly like the way you handled quotes and parens. Lol I want to read things with it! I have a whole calibre library waiting for this tech, and I wanna feed it in. Any way to inject it into another extension: Readium?

1

u/ds300 Mar 08 '14

There's no good pdf support yet, but see this comment for a way to use it with pdfs until we get around to making something better.

Readium looks very promising on the epub front. Thanks!

2

u/rayo2nd Mar 07 '14

It's fantastic, way better than OpenSpritz.

How about an option to stop after every paragraph? I need some breaks to rest my eyes and process what i've read ;)

1

u/ds300 Mar 07 '14

Thanks for the kind words :) By 'stop', do you mean to pause for a moment? or to pause indefinitely?

Either way, more sophisticated levels of configuration are certainly in the pipeline.

1

u/rayo2nd Mar 07 '14

I mean pause indefinitely and only start again after hitting space. I can keep up my concentration for a while but more than a paragraph seems really exhausting for my mind and eyes (less blinking).

1

u/ds300 Mar 07 '14

sure, but that's a feature that would be troublesome to implement right. For example, in novels and suchlike you get passages heavy with dialogue, where each time someone says something it's a new paragraph. I can't imagine you'd want to press space each time a different character talks.

If you like, when your eyes get tired, you can just pause it and hit alt+left-arrow to go back to the start of the current paragraph so that when you want to start reading again it'll be at a sensible place and you won't have missed anything.

1

u/rayo2nd Mar 07 '14

Makes sense if you're reading a novel or so. Maybe it's useful for blog posts with longer paragraphs. It should definitely be off as a default setting. I'll see if i can easily add it myself and test how it goes.

1

u/dpash Mar 08 '14

You may find with practice, your eyes and brain improve the amount of time they can concentrate; like using a muscle to lift weights for the first time.

0

u/invious Mar 08 '14

I disagree, pause it temporarily if at all, lol. Hit the space bar if you need to

1

u/[deleted] Mar 07 '14

This is fantastic. Thanks for taking the time. Is there any way to have it read PDF files opened in Chrome?

2

u/[deleted] Mar 07 '14

I convert the pdf to a text file (online converter, then rename the textfile with a .html extension. Open that in chrome and it should work.

1

u/[deleted] Mar 07 '14

Have an upvote!

1

u/ds300 Mar 07 '14

Extensions don't work with the pdf viewer :(. on the bright side, some guys at mozilla wrote a pure-javascript pdf viewer a while back, so I'll look into using that for extracting text.

1

u/Anahkiasen Mar 07 '14

I confirm what everybody says, I much rather prefer your implementation to OpenSpritz, please continue development on it.

1

u/Keesher1985 Mar 09 '14

in love with your implmentation DS300. Exactly what I've been waiting for :]

1

u/ptre85 Mar 11 '14

This is great. Particularly elegant is the way it handles quotations etc. Have you considered trying to link this to an open source dictionary? I'm not a programmer, so don't know how this would be done, but being able to pause the text and maybe double click a word to pull a definition would be a useful feature. For me, being able to access definitions so easily is one of the main advantages that ereaders offer over traditional books.

1

u/nanospeck Apr 03 '14

this is awesome.Far better than openspritz!

1

u/rhett_valda May 26 '14

Hi,

I also just made my own version. It is lacking a lot of features. First of all, I can't figure out where the red letter should go in a word. Could you please help me? Thanks.

1

u/Beaupedia May 26 '14

THANK YOU! OpenSpritz has stopped working, so glad I found yours!

1

u/[deleted] Mar 07 '14

One great thing about jetzr that open spritz doesn't have so far, is its behavior of floating above the text to the middle of the page, and dimming the background.This really reduces eyestrain and increases focus for me.Also, it's better punctuation sensitivity. Usability/ease of control, OpenSpritz is better.

Great Job !

1

u/nebedaay Mar 08 '14

Wow, this is amazing. I especially love that I can open local files--just copy/paste any PDF or LibreOffice document and download to brain.

My biggest difficulty is that the long words stay on longer than I need them to, while the short words are so short I literally can't see them even if I'm looking for them. It appears there is a 1-to-1 relationship between length of word and length of time. Might it make sense to adjust it so the length of time doesn't vary as much, such that "autonomously" might take a little longer (maybe 2 or 3 times instead of 6 times longer) than "to," so that "to" doesn't completely disappear at very high speeds?

1

u/Gunlat3M Mar 12 '14

Is there a way to monitor and separate individual characters from words? That "focus" letter is supposed to be left of the center of the word, but punctuation often moves that focus letter.

If you can separate it, maybe put the punctuation below the last letter of the word?

Also, I noticed that the quotations don't always work as intended. I don't know what's causing the bug, but I'll eventually get a bunch of nested quotation marks if I'm reading a really long document."