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.
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:
To use: 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.