Experimenting with Firefox's 'Reader' mode (or view)

September 19, 2015

In an exchange of comments on my entry on blocking floating web page elements, Nolan mentioned Firefox's Reader mode and I said that I'd had bad experiences with it and used 'view page in no style' instead. Well, let me take that back. Back the last time I looked at it there were various glitches and issues that convinced me I didn't want to use it (and in fact I banished it from my Firefox's by setting reader.parse-on-load.enabled to false in about:config). But this week, sparked largely by Nolan's comment, I've been giving it another try and it's improved to the point where it's actually reasonably decent now.

(If you use NoScript, as I do, note that you have to explicitly whitelist 'about:reader' or the Reader mode displays an almost totally blank page.)

Reader mode doesn't work on everything and it's not perfect, but what I'm finding is that it often does a more attractive job than the blunt hammer of 'view page in no style'. In part this is because Reader mode makes a whole bunch of page elements go away entirely instead of leaving me to scroll through a mess of unstyled menus and top bars and so on. And some of it is somewhat more aesthetic formatting than an almost plain text sprawl of text (which works well for some but not all web pages).

However there is one fly in the ointment; the Reader view styles unvisited and visited links the same, leading me to irritation. This is a real usability issue for some but not all sites, since it lets me distinguish between things I haven't read (and might want to go on to read) and things that I already have read. I've hacked a CSS modification for this into my custom Firefox build but for some reason it's not entirely successful; some visited links still show as if they're unvisited.

(The Firefox Reader CSS source is quite clear about this; all forms of links are styled the same, explicitly including visited links.)

For a fair number of things this doesn't matter because I'm highly unlikely to follow even unread links to explore more; this is typical of things like news articles. But if I've wound up on an interesting blog entry that has hideous styling (which is far more common than I'd like), I'm much more likely to potentially explore further and so I want that visited/unvisited marker.

(I note, apropos of ongoing controversy over the release of iOS 9 and the popularity of adblockers for it that Reader view also strips out ads. Since you have to load the page normally first, ad networks will still get to count a page load based ad impression and of course spy on you as much as possible. Unless you use an adblocker as well, which I think you should.)

Sidebar: What the unvisited-links problem may be in Reader view

I got curious and used the built in Firefox debugger tools to look at the version of the links in the raw HTML in Reader view (you can't just do 'view source', because the HTML is dynamically inserted). I've been testing my patched Firefox on Wandering Thoughts itself (it's an easy source of content with visited URLs), and what my exploration suggests is that I may be running into problems because Reader view is re-encoding my URLs to change that /~cks/ part of the URL to /%7Ecks/. In theory this should not make any different to whether or not they are visited (the two URLs are the same), but in practice Firefox's history system seems to consider them different URLs.

(This is where I sigh a lot at the combination of technical issues colliding here.)

The good news is that this is unlikely to be an issue on most sites that I want to use Reader mode on. If I'd used something else as a test case I might not even have noticed it at all.

Written on 19 September 2015.
« Modern Linux laptop suspending and screenlocking makes me twitch
Spam from outlook.com has gotten worse (well, for me) »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sat Sep 19 00:38:25 2015
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.