I've been a web developer since there was a web. Oh, how I remember conquering CGI scripts and implementing the then-amazing-feat of installing a page-hit counter using C++. And remember the techo-wow of frames?
I paid my dues as a front-end developer where your coding basically follows the process of:
- Code your algorithm, debug, test, and implement
- User-proof your inputs and code edge-cases
- Re-write everything for IE compatibility
Thankfully, I've been exclusively working on back-end development for the past several years. However, that's not stopped me from keeping current on web-development, nor has it dimmed my eye, my tastes, for well-designed pages and page-elements. Or poorly-designed pages and page-elements.
Throughout this past year, I've tried to not be offended, disgusted or enraged by what I perceive to be less-than-optimal or inelegant engineering presented to me via the browser. I was not always successful in keeping said reactions in-check and, in those cases, I made an effort to preserve the unpleasant memories of those page views so that I could present them to you today.
In order to save money on eye-bleach and sensibility-numbing products, I use a plethora of browser add-ons (Chrome being my browser of choice across platforms.) in order to limit my exposure to unnecessary advertisements, privacy violations, and fraudulent or harmful sites. In some cases, despite the extensions (a list of which follows at the end of this article for your viewing convenience), I've installed, some horrific badness still managed to ooze itself past my censors.
So, in no particular order, here's my take on the worst web-design practices of 2014:
1. Unsolicited Video Feeds
First, let me start-off by saying that not everyone on the planet is on broadband. Since the mid-90's, I've always considered the embedding (plays on page-load) of streaming media to be extremely hubristic and doubly inconsiderate. No other practice shows this level of disdain and disregard for the user-base; streaming megabytes (or worse), of media down to some hapless lowband-connected browser is, in every sense of the word, ignorant.
This is especially annoying following a re-boot or restoring a browser session after a restart. Imagine loading 40-or-so tabs and, during that load, one of the tabs starts squawking some crap you've already heard dozens of times. Thankfully, in a recent Chrome update, Chrome now displays a "playing speaker" icon on the browser tab so that you can quickly locate the offending tab and silence the content disrupting your space playing within the page.
We need a browser extension that empowers us with the ability to disable forced streaming on page-loads.
1b - (dis)Honorable Mention: No Captions on Your Video Stream
If you're not captioning your videos, then you're doing it wrong. Nothing more needs to be said.
2. Content-Blocking Pop-ups
There's just something tragically sad about blatant pandering for reasons of self-interest. No, I will not follow you on Facebook (I don't even have a Facebook account - more hubris.) or Pinterest or Twitter.
Creatives call it "Suspension of Disbelief" -- the ability of a presentation or product to cause the user (you) to lose awareness, rational judgement, etc., during the process of absorbing your presented material. (Watching a movie, do you see the edges of a TV? No? That's suspension of disbelief. Reading a book in summer time when the main characters are shivering in a blizzard and you feel cold? Yup. Suspension of disbelief. Casinos? Disneyland? Totally.)
If I'm new to your site, then I will join your site's membership should I deem it's content worthy. If I am already a member then, too, I don't need annoying reminders to follow you somewhere each and every single time I enter your site.
When I land on your site, it's usually as a result of a search-engine hit and I'm reading an article that I need for work, or I'm just in cruise mode. Either way, I have an expectation of content when I request your site to be loaded in to my browser.
When you perforate your page view with one, or more, pieces of interactive-requiring spam-crap for me to ignore, my interest level drops in direct inverse proportion to the rise of my irritation. More often than not, the only button I end-up clicking is the tab-close button.
2b. (dis)Honorable Mention -- Facebook-follow requests
The number of Facebook followers your business has is, in no conceivable way, a positive indicator as to the quality of your user base. Doubly true if you're a tech site and supposedly a member of the internet-intelligentsia. Less true if you're Wal*Mart or Home-Shopping-Network.
You can, instead, leave tastefully-designed social-media icons on your site (politely) announcing your presence and, should the viewing-user which to join your entourage, they will do so. Without the need of sticking your request in their face. Every time they visit your site. Also known as the internet equivalent of the grimy rag wiping your windshield while stopped at an intersection and the subsequent demand for money.
I know your website needs to generate revenue through click-throughs. Thankfully, Google's release of the Panda algorithm killed off a lot of the slide-show and scraping sites..
But if you're still using slide-shows, then you're just wrong.
Especially egregious is if your each slide on your slide-show requires a full page load.
4. Scraper Sites
Like an engorged tick riding on your private-parts, these sites exist to scrape content from other sites so that they can present a summary view to you, causing yet-another click-load, and a new browser tab, that loads the actual content you wish to view.
If you're going to plagarize content, then at least have the huevos to display the entire article. Scraping and presenting a mere summary and then using social media (like Twitter) to promote your advertisements off someone else's content should be considered a felony in every state.
In the example today, and pretty much for every, single, story promoted via Twitter, LinuxToday gives you a one-sentence synopsis of the article they've scraped, a link to the 'real' article posting on the hosted site, and a page full of advertisements. (Luckily, browser extensions block these ads so I do hope they got screwed out of the minuscule revenue my landing may have created.)
5. Crappy Internal Search Engines
There's nothing so annoying as getting irrelevant results from a search engine. It's a well-documented rule of Creatives that recognition is better than recall. That's why, as a programmer, I present you with a list of choices rather than relying on your ability to recall exactly what it that you want to input.
If I'm searching your site for something, especially a product I am evaluating for purchase, then I do have a tendency to hold you to a higher-degree of accountability for the quality of your search results.
And, as a programmer, I realize that a search result is only as good as the query generating it. But even when I am specific in my query, and your search returns something completely unrelated, it succeeds only in breaking my suspension-of-disbelief and I start questioning if your site is the best choice for my discretionary spending.
I know it's on your best-interests to get me intrigued by the diversity of your products - perhaps even by showing me products related to my request. For example, if I search on "briar filterless tobacco pipe", it's ok to show me related items, such as: pipe-cleaners, pipe-stands, etc. In a separate area away from the search results limited to briar pipes.
I'm not interested in seeing tennis shoes, pipe-wrenches, car exhaust systems, or other items not-related to a search query I know is sufficient to fetch the relevant results. Now, you're just wasting my time and chances are pretty good I'm going to bail-out and look for my item somewhere else.
At the top of the article, I promised a list of the web-browser extensions I use to keep my internet-browsing as productive and safe as possible. I'm not going to offer any opinions either way as that's another article -- I'm only offering these extensions as a starting point to help you better manage your browsing experience.
My Installed (Chrome) Browser Extentions (Partial List)