This isn't for everybody, but I would say Rapid Serial Visual Presentation (RSVP), where words are sequentially presented in place to the reader, which has significantly changed the way I read.
I wrote my own implementation of RSVP, which has eBook reader support, and now it is absolutely my preferred method of reading, and I read at 1000WPM. Though normal books are still enjoyable, they feel tedious and slow.
(It needs some help being updated for recent versions of Android, please let me know if you'd like to be involved! It has a new back-end API in place already and it just needs a few simple updates.)
Where I think this could be really useful is status messages. When a status message on some fixed layout display is too wide, the solution is often to have it scroll horizontally back and forth automatically, which can be very hard to read.
I think it would be more readable to put it in an area big enough for the longest word, and then RSVP through the message repeatedly.
If anyone wants a simple way to play around with RSVP, here's a little quick and dirty command line reader I wrote a long time ago to play with this: https://pastebin.com/zfq2eW4n
Put it in reader.cpp and compile with:
$ c++ reader.cpp
To use:
$ ./a.out N < text
where N is the number of milliseconds delay between words. It will then do the RSVP thing. It should compile with no problem on Mac or Linux.
If a word (which is really just a string of non-whitespace surround by white space) ends with a period or comma, the delay is doubled for that word.
There's a commented out check that sets a minimum line length. If you compile that check it can put more than one word on a line to make the line at least a minimum length.
PS: this aligns the words on their centers. To change it to left aligning them change where it sets the variable "pad" to use a small integer instead of basing it on the length of the word. If it is the same for all words, it becomes an indent for left alignment instead of a pad for centering.
This is really awesome. I think I played with your source a few years ago, trying to adapt it to work with Google Cardboard. My initial attempt failed, because my eyes would lose focus during each word transition. I decided I'd need to add a lightly textured background, which would be shown all the time, and which would fix the distance my eyes were focusing, and then lay the text on top of that. IIRC I gave up because I realised the 'right' way to do this was to use the Cardboard SDK, but that would mean also writing something to render the text into pixels (as the SDK only supported graphics).
BTW - The Google Play link in the repo doesn't work for me, and I don't see Glance in F-Droid. What's the easiest way for non-developers to get the APK?
This is a poor implementation of RSVP, as each word is being presented at the same speed. Longer words should be given longer presentation times, as should words with punctuation marks. The presentation of the words is also centered rather than aligned, which requires a saccade for each word, which defeats the whole point. It's also a difficult text to start out with, with no context.
Even still, I didn't have a problem reading and recalling this text, though I wouldn't recommended it for a beginner.
I made a similar app (iOS) which varies the display time by word length, punctuation, and each word's place in a list of the 100 most common words (under the assumption that common words contain less information, thus take less effort to read). To be honest, I'm not sure it works any better than one running at a constant speed. There seems to be a surprising lack of research in this area.
> The presentation of the words is also centered rather than aligned, which requires a saccade for each word, which defeats the whole point.
Does it actually require a saccade?
Testing with a quick and dirty command line RSVP program I have, my speed and comprehension seem about the same with either centered or left aligned. But I'm mostly testing with fiction written for the average adult. The words are usually short enough that they are within the field of good visual acuity no matter where withing them the focus is.
I've not done a comparison using text with a lot of long word.
Reading this way is a skill which needs a small up front investment, but the pay off is immense. The trick is to not try, just relax and pay attention and let the words speak to you as if they are being narrated to you inside your head.
Because there are no constant micro-interruptions from page scrolling, ads, or even from your eyes own saccades, I find that my attention to the text is much, much better, and I need to stop to ponder something I can just tap the screen to pause it.
I also find that I am far, far more likely to finish an article/paper/chapter via Glance than via my browser. These days it's pretty rare that I'll actually finish an article online, but with Glance I'll almost always read the entire thing from start to finish.
I really, really recommend this skill, especially if you have a lot of time to kill on a mass-transit commute, or if you just want to read more.
I wrote my own implementation of RSVP, which has eBook reader support, and now it is absolutely my preferred method of reading, and I read at 1000WPM. Though normal books are still enjoyable, they feel tedious and slow.
The project is here:
https://github.com/GlanceApps/Glance-Android
(It needs some help being updated for recent versions of Android, please let me know if you'd like to be involved! It has a new back-end API in place already and it just needs a few simple updates.)