“Sliding window” reading

Ivan Vergiliev
4 min readMay 25, 2017

When I was a kid, I could spend many uninterrupted hours just reading a good book. That’s rarely the case anymore. There’s probably something to be said about short attention spans and the dopamine rush that I would get if I browse Twitter instead of reading. However, the main reason is simply that it’s much harder to get an uninterrupted, sizable chunk of time while simultaneously being an adult. And this lack of uninterrupted time is strongly affecting my reading habits.

Nowadays I mostly consume written content in small chunks — when I’m in the subway, before I get to sleep, or while my OS is upgrading. This works particularly well for blog posts and short articles — most of them I can finish in a single attempt. It works so well, in fact, that I’m regularly among the top 1% readers on Pocket. And yet, while the Pocket stats say that I’ve read an amount that’s comparable to 30 books in 2016, it’s been a long time since something like this has happened with actual books. This approach is, in technical jargon, hard to scale from blog posts to whole books.

More specifically, I’ve found this approach to be a bit harder with technical books. Books that require you to apply what you’re reading in order to really comprehend it and commit it to long-term memory. In my case, “technical” most frequently refers to some computer science subfield. To apply what I’m learning, I usually need to think deeply about it, code it on a computer and maybe write a random ton of things on a sheet of paper. Predominantly things you can’t do on a subway ride.

So I recently coined the term “sliding window reading” for what I’ve found myself doing in situations like this. The sliding window protocol is an idea used in computer networks (more specifically TCP, for example). Let’s say we have two computers communicating, one sending data (let’s call it the Sender), the other receiving it (hence — the Receiver). The sliding window protocol lets the Receiver decide what data it is interested in at any given time. It can say things in the spirit of “I have received all packets up to number 200. I am now waiting for packets 201 to 210”. This helps prevent various problems, like the Receiver not being able to process data with the same rate that the data is arriving. The window can also shrink or expand at different times.

How does this apply to reading? Well, I use it by having the sliding window contain all the pages that I have read and somewhat understood, but haven’t yet tried and solidified. So I might have read all pages up to 210 on the subway, but I need a computer for experimentation so I’ve only practiced up to page 195. I could then put two different bookmarks at the beginning and end of the window (in this case — pages 195 and 210) to keep track of it. Having this kind of separation allows me to continue past page 195, and yet make sure that eventually I’ll have tried things out and mastered them.

Just like in the computer networks case, the window size can change depending on the book in question and my momentary condition. For instance, if the last 15 pages were full of examples that are completely independent of each other, I can most likely just continue reading to get the gist of each one, and then later, when I get the chance, practice each one of them more seriously. On the other hand, maybe the book started with a simple example that was fine to just glance over but then continued building on top of it with more and more complexity, paragraph after paragraph. Then it’d be very likely that I’m not entirely capable of understanding the most complicated version without having tried out the simpler ones beforehand. In that case, I would have a smaller window size, not proceeding forward before I’ve really grasped the foundations.

This approach doesn’t only apply to technical books though. Pretty much any book that requires taking some action beyond reading and understanding it could benefit from such a technique. For instance, if you’re reading a book about sales, it would be impractical to try out every single sales strategy before moving forward with your reading. However, simply passing through and not experimenting so as to not interrupt your reading will severely limit the benefit you can get out of the book.

Of course, the approach is not perfect, and I haven’t been too strict about applying it. Sometimes the things I’d like to practice do not form a continuous window but are instead spread thin over a large part of the book — a couple paragraphs on page 50, then 2 pages around page 75, etc. It’s less than ideal to re-read the whole thing and figure out what it is that I wanted to try. Or in the case of a sales book, it may take months until I’m in a situation similar enough to one in the book in order for me to try it.

I would choose having large blocks of time to read and practice over this method almost anytime. However, daily life being what it is, I rarely actually have this kind of choice — so I try to benefit as much as I can from the alternatives instead. If you’re also having trouble finding large blocks of time to read, consider trying this out — and maybe let me know if it works.

--

--