Consistent Web Development for the Regular User

Like most software engineers, I wear an unofficial “IT troubleshooter” hat when I visit the folks over the holidays. They have the classic home computing setup: a handful of Windows PCs hooked up to printers, a wireless router they don’t have the admin password to, smartphones that are used basically as dumbphones, and a 3G iPad I gave them a few years ago in an attempt to bring them onboard the mobile revolution. It’s a collection of machines which are reminiscent of computing familiarity honed a decade ago.

Case in point, my parents can navigate the web[1], but mostly in the ways they’ve learned and repeated ever since AOL spammed America with free trials. It took years of effort – along with the pain of multiple hard drive reformats when a malicious page inevitably tricks them into an install – to disassociate the deadly “Blue E” (Internet Explorer) with “the internet”. Nowadays they’ve gotten onto the Firefox train, but they’ve yet to figure out most of its basic features, on top of the various toolbars they continue to install.

Heck, I’m still tasked with cleaning out their PCs (by checking msconfig’s startup list) regularly, regardless of perceived or actual performance degradation; it’s just a part of their routine. Sad to say, incremental browser and operating system improvements here haven’t been able to convince them to no longer paying the “maintenance tax” in order to get the most out of the internet.

We’ve moved to the golden age of web development: web standards have evolved to the point where major companies are comfortable dropping the most egregious offenders, and the minimum set of tools available is substantial enough to produce a good user experience. At the same time however, instead of trying to have the same page render across 3-4 desktop browsers, we’re tasked with rendering our sites across devices, and I question the conventional wisdom of trying to optimize for each form factor via targeted mobile sites or even just responsive designs.

There’s this class of users who aren’t looking for a different experience, but simply want the lowest learning curve. In trying to set my mom up with her iPad, I keep on running across sites that run on only IE and Chrome, sometimes paired with sites that detect and optimize for a tablet, which may work great except that much of the functionality of the desktop version got redesigned or moved or simply didn’t make the cut. Other sites expected a certain PDF reader to properly inline embedded PDF content, pages which where confounded by double clicks[2], sites that accepted touch, mouse, scroll wheel, and keyboard inputs but not in the expected ways.

Most of us in the industry live and breathe the evolution of software; we clamor for the latest iOS updates, dutifully upgrade our phones every 2-3 years, and I’d wager a whole lot of us have spent time tweaking and learning our software tools to try to be more efficient. Outside of our bubble though, our users are simply trying to keep up with the long tail of technological advances and would prefer to just do what they know. Overcoming the inertia of the familiar is hard, and even as we iterate on features and interfaces and designs, our users may be trying to find ways to retain the workflows they’ve gotten used to over the years, and our changes are simply not that valuable to them.

A case for consistency over innovation.

Footnotes    (↑ returns to text)
  1. Slightly better than typing Facebook from the Google search box.
  2. Double clicking is much less common now, but my mom’s muscle memory was trained from launching applications in Windows, and she never bothered to learn or recognize the difference in the age of web and mobile apps.