A RSVP ebook reader made (almost) entirely in wikitext

the quick version: the demo is here Rat Reader — for reading, and rats poke it and see what it does or scroll down to see the readme.

The longer version

I had an app for RSVP reading on my phone, but then the app stopped being updated and it no longer works with new versions of android. So I decided to make a replacement for myself over the weekend.

And because I had to see if I could, I made it with as little javascript as possible. In the end the only necessary javascript for the reader is a small timer script that pretty much just clicks the next button at set intervals using the $tw.rootWidget.invokeActionString function.

I am pretty happy with that.

There are two other js libraries in it, but they are for parsing epub files and aren’t needed for the reader part. Once the raw text from the epub files is put into a tiddler all the rest of the parsing is done with wikitext widgets and filters. It may be cheating a bit but I can live with that.

It is the first version, so expect bugs and some limited features, but it is good enough that I have been using it the past two days.

It can load and parse epub files from urls, but not parse files that are embedded in the wiki yet because I use Bob and it has a built in file server. Using epub files saved in the wiki will come later.
There is something probably CORS related that keeps a lot of the epub files I have found online from loading.

The reader itself is set up the way I want it to and aside from adding some gestures won’t change significantly.



Very cool! I have never encountered these before!.
I think I may be in the slow readers club, or just out of practice. Could the speed go below 50? :smiley:

I just checked it and I don’t think that the problem is you, somewhere in packaging everything it looks like it is looking at the wrong field for the text speed.

I will track down the bug and update it.

Ok, that should be fixed. It shouldn’t like about how fast it is going and when you adjust the speed it should actually adjust correctly.

And if you want a speed outside the range of the silder you can enter a value manually in the text box that shows the current value. But now that it can go down to actually 50 instead of staying at something like 550 and never changing it may not be as much of an issue.

I found another bug but I haven’t fixed it yet. If you change books you have to click one of the change chapter buttons (the ones with three arrows) in order to correctly display the chapter from the new book.


That’s much better!
I’m now on Firefox on android and words seem to mush together.

On smaller screens you need to adjust the font size to prevent that.

1 Like

really like this. works great on latest stable safari, brave on mac. also great on safari ios 14.3 but need to reduce font size via the rat(!)

I made some big updates to this. The biggest is probably adding text to speech so it can read to you, but it is in a relatively early state so you can’t change the voice or speed for that.
The more useful (for me at least) updates are adding the ability to make bookmarks (click on the icon in the lower left), you can click on the book name to get a menu showing a menu to switch chapters, go to bookmarks or switch books. It also now saves your current spot in a book when you stop the reader so you can restart in the same place the next time you open the reader.

There are also some pretty significant speed improvements, but they aren’t relevant unless you are on low powered hardware or have very long books and a very high wpm.

Because it is still in need of some work, to turn on the text to speech you have to open the rat menu (click on the rat face) and check the box to enable text to speech.
The text to speech has some strange display issues in the RSVP view, but the problems are all cosmetic. Using the text to speech in the bulk text view works fine.

Ciao @inmysocks

I wanted to comment that I think the tool useful. And say a bit about potential uses.

The integration of text-to-speech is a really good thing for my kinda uses. These include teaching English to Italians & Slovenians. Whatever faults there are with default computer voices for English (in particular) it is good because of the large “homonyms problem” in English for foreigners (how do you spell and say a word?). I did some tests and I think this tool would be excellent to assist solve that.

FYI, I tested on Windows 10 latest and Chromebook latest. Both can run it and speak it.

What I found I could not do yet is harmonise the “read aloud rate” with the “text display rate”. Otherwise it looks easy to use and useful.

Kudos, TT

Small query.

Is there a way to, in the source being read-aloud, to introduce a pause?

I’m thinking of fairly small texts like this …

This week we will be looking at three meanings of BORE [pause], as well as the mammal, the BOAR [pause] … etc

You get the idea?
But I dunno if the rat supports pauses?

Very best, TT