Nik Kantar

Thursday, February 22, 2018
4 min read

✶ There's No Going Back

Years of questionable JavaScript and generally slowing web have taught me to distrust my browser's back button.

I clicked a link on a web page the other day and it hit me like a ton of bricks: I don't really trust my browser's back button any more, and I haven't in a while.

Some (Sloppy) Backstory

Many, many moons ago—read: 1990-ish—the World Wide Web was created, largely for researchers to share documents (called web sites) with each other. These documents had hyperlinks, which were clickable parts that would lead to other documents. Web browsers used to navigate these documents had the ability to go backwards and forwards through the user's path.

The Web as a platform has evolved greatly since then. We've piled on a great many features on top of this simple (to use) document sharing and linking platform to make something we call web applications on it, and that's what most of us are trying to load in our browsers most of the time.

We use these rich web apps to communicate (e.g., Facebook, Gmail), buy and sell (e.g., Amazon, Shopify), watch TV (e.g., Netflix, YouTube), work (e.g., GitHub, Office 365), and do a myriad other things, and most of us very rarely peruse a site reminiscent of that original idea of linked documents for long. The landscape is quite different from what it was in the early days.

An Experiment and the Problem

Open up your Facebook feed, scroll down a few screens (as it live reloads to add more content to the bottom), then click a user's profile picture, then click on something on their user page. Now click the back button two times. You're now probably back on your feed, but it's likely the actual content has changed, and you don't see the post with the profile picture you clicked. Back button: broken.

This isn't an isolated scenario—I run into it on a variety of sites web apps just about daily, and I've noticed a learned behavior resulting from it: I open almost everything in a new tab and completely distrust the back button, even on sites where I know it will do the correct thing (like this one).

This is crazy!

Over the years, browsers have evolved their UIs. I used to remove everything from their toolbars except the back and forward buttons, refresh button, address bar, and search bar (when that was still a thing). Now they actually look like that out of the box, but the very first two elements of that UI are often unhelpful.

Perversely, I've realized I open nearly everything in a new tab (Cmd-Shift-Click), often several times during my adventure to some destination, and then close all those tabs when I'm done. Why don't I just click through in a single tab? Because there's a chance I'll take the wrong turn, and if the back button does something weird (see the Facebook experiment above), I'll be annoyed and waste time figuring out where to navigate next.

As I said, this is crazy.

One More Thing

Another part of this problem is how awfully slow the Web has become. My connection speed is generally pretty stellar, as I live in a very urban part of the Western world. The devices I use to browse the Web are built with fairly recent hardware and have very reasonable absolute performance. However, between the ad networks and the poorly architected backends and the heavy frontends, my computer has a hard time fetching and rendering much of what I ask for, in spite of being powerful enough to run multiple virtual machines at once.

Think about that for a second: I can ask my computer to pretend it's also several other computers, with a variety of operating systems, and it'll do just fine. But if I want to see Facebook, there's noticeable lag when displaying some small pictures and a bit of text. (Yes, I'm grossly oversimplifying, but you get the point.)

Real Talk™

So, with the above being an obviously silly situation, can we stop breaking the back button? And—while I have your attention—the scroll? Thanks.

Tags: rants

Thanks for reading! You can keep up with my writing via the feed or newsletter, or you can get in touch via email or Mastodon.

Goals for 2018
PyCon 2018: The Afterfeels