I read advanced tech blogs, written by people similar to me. I gain perspective on this. I note that time to read the article is quite useful, so I have mocked up a tool to supply this. This is the first iteration, I may add more metrics to the output in future. My inspiration is deep and Meduim, although I am sure other sites do the same thing.

For authorship, I would advise using a article content-assistance tool, rather than my simple notes. Some examples are Hemingway App, Desk (mac only), XXX. These are a more general solution to not having spent fifteen years grinding out text everyday. If you are using Wordpress, there is a plugin inside that framework.

Model

The average reading speed is quoted as being between 250 and 300 words per minute 1 2 3 4. There is a “early web” service that claims to improve speeding reading ability 5. My casual survey did not find any breakdown by subject, Fogg value, nationality, primary or secondary language status, or educational attainment of the reader. For a more comprehensive tool this analysis is required. In my personal case the biggest routine variance is my fatique and the language of the text. I suspect but would be very careful in stating, that some languages are better designed for volume data transfer than others.

So a simple reading duration would be expressed as :


var duration= ($(root_element_for_text).text().match(/\b[^ \t\n]+\b/g).length)/275 * 60

I am asserting that people will read most of the text, and not much of the headers, menus, legal disclaimers etc. I am assuming that most webpages have a single root element (be it <article> or a <div>), and that avoids the other visible words.I will copy Mediums notes 6, and add time for images. These will also be counted from the root element.

 + ($(root_element_for_text).find('img').length) * 12

This model currently doesn't measure page loading time. That is very dependant on situation. Hopefully this never adds more than 3s to page viewing time.

Implementation

I am creating a jQuery plugin, hosted in github along with my other source code. This plugin uses callbacks to make HTML, for better branding, same as my other plugins (or its not usable by anyone else). Very quick implementation, so this text is short.

API:

  • readingDuration(opts);

Arguments :
The opts hash may take the following:

  • debug ~ default: 0 ~ how much information to dump to the console
  • linkTo ~ default: null ~ if you want a full page rather than popup, set this to your page,
  • dataLocation ~ default: '.blocker' (to suit me) ~ what element to take as the source of the raw data
  • target ~ default: '#shareGroup' (to suit me) ~ where to put the generated text
  • timeFormat ~ default 'm' ~ US people like putting things in a weird order, so that may be set by the dev
  • wordPerMin ~ default: 275 ~ the number of words that it is expected that a person can read per minute. Change if you know the audience is abnormal (i.e. expected age is 5 or all PHDs)
  • refresh ~ default: 0 ~ whether to delete the contents of the target first? Useful if this is a repeat call, as you changed the page content
  • callbacks ~ defaults :

~ shortDisplay
~ longDisplay


Reading time stat

RSS. Share: Share this resource on your twitter account. Share this resource on your linked-in account. G+

Reading time stat

RSS. Share: Share this resource on your linked-in account. Share this resource on your twitter account. G+ ­ Follow