This time around I wanted to add a niche feature to the blog that I think could greatly improve it. We’ve all been there, so picture the following scenario:

You’re scrolling through Reddit, YCombinator, or whatever news aggregator you use; spot a title/thumbnail that’s just clickbait-y enough to make you open the URL or thread and… BAM!

Before you lays a wall a text that you didn’t ask for and that at first glance is going to take an eternity to read. Bonus points if you suddenly can’t figure out it the scrollbar is a dead pixel on your screen or if it just shrank out of pure intimidation from all that text. At this point, you either retreat to the news aggregator and vow not to fall for that trick again (in the next 15 seconds), or you desperately scroll through the page and skim whatever is in front of you. Clickbait 1 - 0 You

Given that our attention spans are very limited, how can we mitigate this? One way would be to drop the clickbait titles and thumbnails that plague the online landscape, but who are we kidding, that’s not going to happen until we fix internet privacy (#SnowdenWarnedUs). Ok, so that’s a now go. Fortunately, there’s another alternative: give the reader and estimate of how long it is going to take them to read what’s on the other side of the URL or how big it is.

And so I decided to do just that on this blog. I don’t want to trick my users into reading my content and I’m going to let them decide if they can spare the estimated time to read the posts instead of scrolling through them faster than the Terms of Service when creating yet another online account.

# Time Estimation

So how do we go about estimating how long the average person is going to take when reading a piece of text? We can leverage a couple of factors to help us:

  • Word length has a minute effect on reading speed. Source
  • The average word length is 4.79 characters. Source
  • The average reading speed is 200 to 250 words a minute, and it will be reduced when reading technical materials. Source

So, a simple approach is to count how many words are in the this blog’s posts and divide them by a and average reading speed, and we get our estimate.

The following links helped me take this concept and apply it to the blog without me having to tediously count how many words are in each post: