---
author:
    email: mail@petermolnar.net
    image: https://petermolnar.net/favicon.jpg
    name: Peter Molnar
    url: https://petermolnar.net
copies:
- http://web.archive.org/web/20180725140126/https://petermolnar.net/do-websites-want-us-to-use-reader-mode/
- https://news.ycombinator.com/item?id=17609251
lang: en
published: '2018-07-25T10:30:00+01:00'
summary: The great unreadability of 2018 made Text secondary to Hyper in Hypertext
    Markup Language. Do publishers really want us to keep reading everything in the
    Reader Mode of the browsers?
tags:
- internet
title: Do websites want to force us to use Reader Mode?

---

## Excuse me, sir, but where's the content?

A couple of days ago I blindly clicked on a link[^1] on Hacker News[^2]

-   it was poiting at a custom domain hosted on Medium. Out of
    curiosity, I changed the browser size to external 1280x720 -
    viewport 1280 × 646 -, turned off uBlock Origin[^3] and noscript[^4]
    so I'd mimic a common laptop setup, only to be presented with this:

![Screenshot of
blog.hiri.com/a-year-on-our-experience-launching-a-paid-proprietary-product-on-linux-db4f9116be08
when the window size is 1280x720](unreadability-medium-com.png)

I don't even know where to start listing the problems.

-   Where's the content?
-   Both the header and the footer are sticky - you scroll, they stay.
    And they eat up 20+% of the available screen.
-   The GDPR warning is covering the main navigation menu.
-   Why is there so much empty space but stack buttons, menus, warning,
    all sticky?
-   The page loads 1.80MB of compiled Javascript. That is nearly billion
    characters to read 8000.

![Screenshot of javascript requests made by
blog.hiri.com/a-year-on-our-experience-launching-a-paid-proprietary-product-on-linux-db4f9116be08](unreadability-medium-com-js.png)

So, foolishly, I started a now flagged thread[^5], begging publishers to
go and start a static blog, or just publish this as a plain, HTML
document. *It would even be better is it was a Word 97 HTML export.*

I decided to keep the browser like that, same resolution, no adblockers,
and visited 2 more sites: bbc.co.uk, and theguardian.com.

![Screenshot of www.bbc.co.uk/news/uk-44933429](unreadability-bbc.png)

![Screenshot of javascript requests made by
www.bbc.co.uk/news/uk-44933429](unreadability-bbc-js.png)

![Screenshot of
www.theguardian.com/world/2018/jul/23/greeks-urged-to-leave-homes-as-wildfires-spread-near-athens](unreadability-theguardian.png)

![Screenshot of javascript requests made by
www.theguardian.com/world/2018/jul/23/greeks-urged-to-leave-homes-as-wildfires-spread-near-athens](unreadability-theguardianjavascript.png)

Well... at least the BBC doesn't have sticky headers and/or footers.

**How did we get here?**

## Good examples

Let's take a look at something, which is actually readable - a random
entry from Wikipedia:

![Screenshot of a random article from
wikipedia](unreadability-wikipedia.png)

Note the differences:

-   the menu is on the side
-   the summary of the content is visible on first look

Or another readable thing:

![Screenshot of textfiles.com/magazines/LOD/lod-1 - Legion of Doom
technical journal, volume 1, 1987](unreadability-lod.png)

A 31 years old text file - still perfectly readable.

Or loading the first mentioned article in Firefox Reader Mode[^6]:

![Screenshot of a Medium article in Firefox Reader
Mode](unreadability-medium-com-firefox.png)

## Developers gonna developer

So back to that thread. While most of the reactions were positive, there
were opposing ones as well; here are a few of those.

> I barely see the problem. Sure, the header and footer aren't perfect,
> but stupidly large? I also don't feel any "cpu melting javascripts"
> and my PC is barely usable when I compile anything.For me, Medium
> provides a very readable experience that is much better than the
> average static blog. And I don't have to fear a malware ridden page
> like an old Wordpress installation.
> <https://news.ycombinator.com/item?id=17592735>

WordPress comes with it's own can of worms, but it did introduce
automatic security updates in version 3.7[^7] - that was in 2013
October. Any WordPress installation since have been receiving security
patches, and WordPress backports security patches respectfully well.

As for being malware ridden... it doesn't even make it to the news pages
any more when an ad network start spreading malware, but that's still a
thing.[^8]

> Why is it that I only ever hear those complaints on HN and never
> elsewhere... Are you all still using Pentium 3 PCs and 56k modems?
>
> <https://news.ycombinator.com/item?id=17592801>

A couple of years ago Facebook intruduced 2G Tuesdays[^9] and that
should still be a thing for everyone out there. Rural Scotland? There
isn't any phone signal, let alone 3 or 4G. Rural Germany? 6Mbps/1Mbps
wired connections. And that is in Europe. Those who travel enough know
this problem very well, and yes, 1.8MB - *I initially stated 121kB in my
original thread, that was a mistake, and due to uBlock not being
completely off* - of JavaScript is way too much. It was too much when
jquery was served from a single CDN at may even actually got cached in
the browser, but compiled, React apps won't be cached for long.

> \[...\] people nowadays demand rich media content \[...\]
>
> <https://news.ycombinator.com/item?id=17592943>

I remember when I first saw parallax scroll - of course it made me go
"wow". It was a product commercial, I think, but soon everybody was
doing parallax scroll, even for textual content. I was horrible. Slow,
extremely hard to read due to all the moving parts.

There were times when I thought mouse trailing bouncing circles[^10]
were cool. It turned out readable, small, fast text is cooler.

Nobody is "demanding" rich media content; people demand content. For
free, but that is for another day. With some images, maybe even videos -
and for that, we have `<img>`, `<figure>`, `<video>`, with all their
glory.

> \> 121KB javascript is not heavy
>
> Part of the problem is that HTML and CSS alone are horribly outdated
> in terms of being able to provide a modern-looking UI outside the box.
>
> Want a slider? Unfortunately the gods at W3C/Google/etc. don't believe
> in a `<input type="slider">` tag. Want a toggle switch? No
> `<input type="toggle">`. Want a tabbed interface? No
> `<tabs><tab></tab></tabs>` infrastructure. Want a login button that
> doesn't look like it came out of an 80's discotheque? You're probably
> going to need Angular, Polymer, MDL or one of those frameworks, and
> then jQuery to deal with the framework itself. You're already looking
> at 70-80kb for most of this stuff alone.
>
> Want your website to be mobile-friendly? Swipe gestures? Pull to
> refresh? Add another 30-40kb.
>
> Commenting? 20kb.
>
> Commenting with "reactive design" just to make your users feel like
> their comments went through before they actually went through? 50kb.
>
> Want to gather basic statistics about your users? Add another 10kb of
> analytics code.
>
> <https://news.ycombinator.com/item?id=17594649>

This comment is certainly right, when it comes to UI. However... this is
an article. Why would an article need swipe gestures, pull-to-refresh?
Analytics is an interesting territory, but basics are well covered by
analyzing server logs[^11][^12].

Mobile friendly design doesn't need anything at all; it actually needs
less: HTML, by design, flows text to the available width, so any text
will fill the available container.

For web UI, you need those, yes. To display an article, you really
don't.

## Medium vs blogs

I've been told that people/companies most usually post to Medium for the
following reaons:

-   discoverability, the thought that by being on medium, more people
    will find the article
-   it looks more "serious", than a simple blog

As for discoverability, I believe pushing the article link to Reddit,
HN, etc. is a significant booster, but merely putting it on medium
doesn't mean anything. I've had this problem a long while ago, with
personal blogs, as is why is dicoverability never addressed in
re-decentralize topics, but the truth is: there is no real need for it.
Search engines are wonderful, and if your topic is good enough, people
will find it by searching.

The looks more serious problem is funny, given the article I linked is
on their own domain - if I wasn't aware of the generic issues with
Medium layouts, I wouldn't know, it's a Medium article. One could make
any blog look and feel the same. One could export an article from
Typora[^13] and still look professional.

I've heard stories of moving to medium brought a lot more "reads" and
hits on channels, but I'm sceptical. Eons ago I read an article, when
PageRank was still a thing, where a certain site went to be \#1 on
Google for certain phrases without even contaning that phrase - only the
links linking to the site did. The lesson there is that everything can
be playes, and I find it hard to believe that purely posting to Medium
would boost visibility that much. I could be wrong though.

## Proposals - how do we fix this?

### Always make the content the priority

There's an article to read, so let people read it. The rest is secondary
for any visitor of yours.

### Don't do sticky headers/footers

But if you really, really have to, make it certain it's the opposite of
the display layout: for horizontal windows, the menu should be on the
side; for vertical, it should be on the top.

You don't even need JS for it, since it's surprisingly simple to tell
horizontal apart from vertical, even in pure CSS, with media queries:

``` {.css}
 @media screen and (orientation:portrait) { … }
 @media screen and (orientation:landscape) { … }
```

### Rich media != overdosed JavaScript

Embrace `srcset`[^14] and serve different, statically pre-generated
images. Seriously consider if you need a framework at all[^15]. *BTW,
React is the past, from before progessive enhancements, an it came back
to haunt us for the rest of the eternity.*

Use one good analytics system. There really is no need for multiple
ones, just make is sure that one is well configured.

Don't install yet another commenting system - nobody cares. Learn from
the bigger players and think it through if you actually need a
commenting system or not[^16].

Some JS is useful, a lot of JS is completely unneeded for displaying
articles. If your text is 8000 characters, there is simply no reasonable
excuse to serve 225x more additional code to "enhance" that.

## Closure

HTML was invented to easily share text documents. Even if it has images,
videos, etc. in them, you're still sharing text. Never forget that the
main purpose is to make that text readable.

There are many people out there with capped, terrible data connection,
even in developed countries, and this is not changing in the close
future. Every kB counts, let alone MBs.

MBs of Javascript has to be evaluated in the browser, which needs power.
Power these days comes from batteries. More code = more drain.

[Keep it simple, stupid](https://en.wikipedia.org/wiki/KISS_principle).

[^1]: <https://blog.hiri.com/a-year-on-our-experience-launching-a-paid-proprietary-product-on-linux-db4f9116be08>

[^2]: <https://news.ycombinator.com/>

[^3]: <https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/>

[^4]: <https://noscript.net/>

[^5]: <https://news.ycombinator.com/item?id=17592600>

[^6]: <https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages>

[^7]: <https://codex.wordpress.org/Configuring_Automatic_Background_Updates>

[^8]: <https://www.theguardian.com/technology/2016/mar/16/major-sites-new-york-times-bbc-ransomware-malvertising>

[^9]: <https://www.theverge.com/2015/10/28/9625062/facebook-2g-tuesdays-slow-internet-developing-world>

[^10]: <http://dynamicdrive.com/dynamicindex13/trailer.htm>

[^11]: <https://www.awstats.org/>

[^12]: <https://matomo.org/log-analytics/>

[^13]: <https://typora.io/>

[^14]: <https://www.sitepoint.com/how-to-build-responsive-images-with-srcset/>

[^15]: <http://youmightnotneedjquery.com/>

[^16]: <https://motherboard.vice.com/en_us/article/jp5yx8/im-on-twitter-too>