Easy Rapid serial visual presentation implementation with JavaScript.

Introduction

I implemented easy RSVP(Rapid Serial Visual Presentation) with JavaScript because I was inspired by Spritz(http://www.spritzinc.com/).

RSVP is one of the common high speed reading technique.


You can see the detail of RSVP and Spritz at Spritz Blog, especially about how Spritz is enhanced from usual RSVP.

http://www.spritzinc.com/blog/

And you can try Spritz(not usual RSVP) at Spritz web site and you can understand what they're.

http://www.spritzinc.com/

Features of this implementation

  • you can use RSVP anytime on your web browser with the words which you see on the browser
  • very easy to use

Source code

var wpm = 500;
var zIndex = 2000;
var bgColor = '#ffffff';
var fontColor = '#000000';

function mouseupHandler() {
  var range = document.getSelection();
  var selection = range.toString();

  if(! selection)
    return;

  selection = selection.replace(/^\s*/, '').replace(/\s*$/, '');

  if(selection == '')
    return;

  var strs = selection.split(/\s+/);
  display(strs);
}

function display(strs) {
  var str = strs.shift();
  span.innerHTML = str;
//  console.log(str);
  if(strs.length > 0)
    setTimeout(function(){display(strs)}, 60*1000/wpm);
}

document.addEventListener('mouseup', mouseupHandler, false);
var span = document.createElement('span');
span.style.position = 'fixed';
span.style.top = 0;
span.style.right = 0;
span.style.left = 0;
span.style.textAlign = 'center';
span.style.zIndex = zIndex;
span.style.backgroundColor = bgColor;
span.style.fontColor = fontColor;
document.body.appendChild(span);

How to use

I expect this script is used on the combination of Windows and Chrome. I'm not sure it works on the other environment.

  1. Open JavaScript Console(press Shift+Ctrl+J or select tool->JavaScript console from right-top button if you use Chrome).
  2. Copy and Paste the above source code into your console, and then press enter.
  3. Select(Drag) the strings which you wanna use.
  4. The words will be displayed one by one in high speed(default is 500 wpm) at the top-center of your browser.


Conclusion

I implemented a simple RSVP implementation with JavaScript. It's very easy to use and you can practice high-speed reading with RSVP anytime, with the words you see now.

I may make a Chrome extension with this script, but I suppose if a much better RSVP extension exists.

Anyways, I hope Spritz technique will be available anywhere soon because it seems much more improved than usual RSVP.