It's been nearly a year since I've done any serious web development (just a few personal projects here and there). While I'm not surfing the web as much as I once did, I feel like I've changed mental gears in how I view the web. For the first time in over ten years, I'm just a visitor. In this new role as a visitor, I'm directing this post to all the designers/developers/managers of current web sites.
First, let me say that I've always been an advocate of the visitor. When businesses want to do something completely stupid to their web sites because they think it'll be great, I've been able to talk a few of them down by role-playing as their visitor. I'm an empathetic person, by nature, and it was never hard for me to put myself in other people's shoes.
However, now I am wearing those shoes. I've started to notice a few more things, and I thought this would be a good place to put them so I don't forget them if I ever have to put a site together again. I'll also be recapping a few fundamentals as I go; it's not all new stuff.
Design, Design, Design
I've never been a design zealot. I taught myself very robust design techniques to handle just about any type of web site: from boring, informational sites to high-impact, entertainment sites. Now, that I'm purely a visitor, I'm seriously annoyed by most web site designs. Very few outfits get it right. There are reasons everyone should be listening to Vincent Flanders over at Web Pages That Suck. Certainly, we're mostly passed the "works best in IE" nonsense. And, there's also a lot fewer sites devoted to displaying the web developer's ability to embed a MIDI song in the background of every page on their site.
That being said, there are several major annoyances I find in current design/implementation:
1. Clutter
There are two extremes when it comes to clutter. At one end of the spectrum are useless, time-consuming "splash pages." On the other end of the spectrum are web sites that...
Now, most of these things on their own aren't a huge deal. Even two or three of these things are tolerable. But, seriously, if your idea of a great web site is trying to complete your collector's set of useless features, just stop. You're making the world worse for your existence.
There's a balance, of course. You don't want a home page to be two links which provide two more links each, etc. Fewer clicks is always better than more. However, if your site is so unfocused that you need more than a hundred links on the home page, you need more web sites, not more gadgets on one site. Decide on one excellent purpose for your site to exist, and shun all other distractions for a while. Figure out how to do one thing great before you try to add more things. Regardless of what some SEO consultant/convention speaker told you, content is not king. Valuable content for your intended visitors is king. Slinging everything you have at them only cheapens what little reason they might have had for visiting your sorry site. Along with that, if your site only exists to serve the interests of advertisers, then your site will be neither valuable to your visitors nor your advertisers. It's a lose-lose idea, and you need to re-examine your career choice if you think those types of sites are useful for anyone.
From my observations of people who come up with these terrible web sites, I've noticed something they all count on: growth. The sites being run by useless people don't really care if there's wide adoption of their content, or if their bounce rate approaches 100%. They care about month-to-month and year-to-year growth. That's it. There are problems with basing your business model entirely on growth: it's a logical fallacy, proven to fail empirically (dot-com bubble, real-estate bubble, etc), and something that even my three-year-old knows is meaningless. Certainly, growth makes us feel good. It gives us some sign posts to look back on. But, sustaining a certain level of service is far more important than growth. Now, there's some circular logic: you can't arrive at any level of service without growth. That's true. However, the problem is that most modern businesses (in nearly every industry and sector) only plan for growth. They never plan for those times when they simply can't grow (maybe it's temporary, or maybe there's only so many potential customers in existence, etc). That's when their model falls apart. That's when they blame their customers for not being loyal enough, they blame others that would never be their customers for not becoming their customers, they blame other businesses for not playing fairly, and they blame the government for not supporting their failed model. It's never their fault, though... that's unthinkable.
Back on track...
2. Appearance of Maintenance
This is a somewhat nuanced concept. I've always been a strong believer in being 100% honest with your visitors; even if it makes you look bad.
I like dates/times displayed on every document on the site. I like it when I can view the "page info" in my browser and see a real date when the document was created, and not the date I loaded the page. If you don't update your site very often because you don't have frequently-changing content, trying to hide that fact from me makes me hate your site. It's fine if your information is relatively stagnant compared to other sites. If it's the correct information, it probably doesn't need to change very much. Plus, the information appears more authentic and reliable if the URL has been around for ages with a creation date as old as the moon. Stop trying to lie to me and say it was created three seconds before I opened the page in my browser. Stop hiding it from me even though "Last Updated: February 15th, 1998" looks really sad. If it's relevant information, I don't care how old it is.
Conversely, if your site should have frequently updated content, but you hide the dates from me, I'll just assume it's all old/useless information--regardless if you just posted three seconds before I loaded your page. I'll consider your content exactly as important as you treat it: not very. It's a fact of life: people take vacations, nobody is in the office on the weekends, someone forgets to upload all the pictures before they go home that one time, etc. Just because one little thing on the site starts to look momentarily stale does not mean you should hide all your dates from me. One of my favorite sites of all time (The Onion) knows how to do dates. They recycle content from time-to-time, but they don't try to hide that fact. The original dates are on display--albeit a little hidden. It's even fun to go back through and read old content that was once new and fresh!
I like the site to at least appear to be designed in the 21st century. If you have a fixed-width, left-aligned, table-of-images layout, I will probably suspect your information is incomplete and out-of-date. This happened to me on a government web site recently. It wouldn't surprise me if the templates were created in 1999, and extensively tested in IE4. When I used the search feature, I expected it to crash giving me a database error or something from the software. When the search feature turned up zero results for my search (a result I was expecting), I couldn't rely on the results since I felt like the site was hopelessly out-of-date. The lack of information may not mean anything. I had to make a phone call to the government entity to confirm the results. This cost them money to pay someone to answer my question. If their site had looked a little newer, and used more up-to-date search/display techniques, I would have never made the phone call. I would have trusted their web site's accounting of a lack of information.
Here are some quick signs that your content appears uselessly out of date (regardless if it's all brand new):
3. Stop Worshiping the Search Engine
...or, if you do, don't make it obvious. I hate to break it to all you MBAs who give speeches about SEO strategies: you're all missing the point. You miss the fundamental objective of SEO. "Optimizing" a site for search engine indexing should be done 99.999% during the design and software development/selection stage of a web site. Pretty much all you have to do is find a guy to build HTML/CSS templates that don't completely suck. Once you've done that, the good spiders don't need any of your "help." Compared to an established, third-party direct link to one of your content pages, keyword stuffing and meta tags are worth effectively nothing. If someone out there is keeping a blog updated daily, and they link straight to one of your articles with a lot of book-report-style buildup to the link, that will matter approximately 1000* times more than demonstrating how to conjugate one or two verbs in your keywords. The point of all of this: 99.999%* of search-engine-generated traffic is completely out of your hands. You don't get to control it. You can certainly screw it up if your HTML/CSS guy is terrible at his job. Since a lot of businesses were screwing up their templates for the last 15 years, the whole industry of SEO came about to tell people to knock that off. Over the last 4-5 years, most people who make a living on the web have, indeed, knocked it off. Their sites are fine for SEO purposes, and you don't need to worry about Yahoo!'s spiders missing something important. What the owners of those sites need to worry about: valuable content for their intended visitors. If it's genuinely valuable to human beings, it is only a matter of time until search indexes value your information in a correct proportion to other sources of information.
* Not a real statistic.
As a visitor, this impacts me. I don't want to see your knowledge of Latin declensions along the top of the page. I want your "alt" text on your images to make sense to me (yes, some of us read the "alt" text... like when we're browsing your site in text-only mode). I want you to use "title" attributes in your anchors correctly. Stop using hidden elements to stuff or double-stuff keywords. Just because someone doesn't see that text in MSIE, doesn't mean that text is hidden from all your visitors.
4. Stop Worshiping the Page View
By far, the biggest impact in visitor relationships has been idolizing the almighty page view. Too often, a site's effectiveness is measured purely by the number pages viewed. It's an easy metric to count and compare to other sites. Unfortunately for visitors, not everyone in business school is taught integrity. The sites run by accountants are purpose-built to artificially increase the number of page views. Some good examples would be any news site that splits up a single article across multiple pages, or any site anywhere that forces a person to click from one page to the next to see a series of images. These are 100% inexcusable practices on the web. A single article doesn't need to span multiple pages (there's no length limit on a single page), and images can be viewed much more easily in a thumbnailed/dynamic presentation similar to how images are viewed on your desktop computer. The only reason these things exist is because the people who run the site have decided that their visitors are less important than their advertisers. If your model consists of helping one advertiser sell things to another advertiser, I suppose that's fine. Just don't expect any useful visitors to stick around after their first visit. Those who do stick around, are enduring or tolerating your terrible decisions.
An even more evil manifestation of this lust for page views is the auto-refresh. The idea is that if someone has been sitting on one of your pages for more than 20-30 minutes (coincidentally, about the same amount of time a statistics package will time out your browsing session, identifying you as a "new" visitor), a script on the page will automatically reload the page in your browser. So, if you're reading an article, and get distracted and leave the page open in your browser while you do something else, your single, real page view gets to be counted many times. This is just flat-out deception. There was no real value added for their advertisers since you didn't see the extra ads that rotated in. The only difference is they get to claim their site has better numbers. If a company is cool padding a number they use to earn their paychecks, what other forms of deceit are they willing to tolerate?
5. URLs Are Important
If you want to find a book in an old-fashioned library, you use a system of indexing numbers to keep the books organized. Be it Dewey Decimals, Library of Congress numbers, or ISBNs we need a way of reliably finding a book more than once. Unfortunately, the concept of reliable indexing is completely lost on people who work on the web. They might say "Who cares? Everything is linked from something else, anyway." That's a lazy mentality. In fact, because the technology exists to make even the oldest URLs exist forever (unless you stop paying your bills, or something), it takes an incredibly lazy person to not maintain old URLs.
So what's the problem? Most URLs these days are generated by software. Every day software is spitting out millions of strings that allow unique indexing of particular locations on the web. The people using this software probably don't place much value in just one of these strings that can be conjured out of thin air with barely any work at all. So, when it comes time to re-design the site (or hire it out to a new company, since the previous company had terrible life-cycle support), nobody but that one weird web guy (who nobody listens to, anyway) gives a second thought to tossing every URL out the window and starting over from scratch. The irony is that these companies care so much about SEO, but they're completely willing to reboot their search indexes every year or so... you know, just to make life exciting for search engines.
The solution? Hire someone who knows how to map old URLs to new ones. In every web server worth talking about, there are numerous methods of mapping "virtual" URLs to real resources on your new site. Of course, if your new software's hashing scheme (method with which it generates URL index strings) is dramatically different than your old software, then you might have to hire some temps to plow through some spreadsheets matching up old URLs to new ones. That's really the worst case, though. Most times, it's actually retardedly simple to set up a few pattern-matching expressions to keep your established URLs around for the lifetime of your business. Indeed, a clever web developer might even put an intelligent error handler in place to trap any attempts at accessing old URLs that failed, and keep your old-to-new map pruned down to just what's needed.
The moral of the story: there is no excuse beyond ignorance or laziness for not keeping URLs around indefinitely. Stop making search indexes obsolete, and stop breaking my bookmarks!
While I'm talking about URLs, I'd also like to say a quick word to the people writing CMSs: stop building systems that generate index strings directly from user input. Using user input as a "seed" for your index string is fine. But, you know as well as anyone in this business, that the art of writing a good headline died years ago. I don't believe I've read a concise, appropriate headline for a news article in over 10 years. "Journalists" [those are ironic quotes] taking the time to write a 250-word column will make every attempt possible at writing a 250-word headline. If your string index is some flattened version of the headline, you're failing at your job. If your final URL (with domain and structure) stretches off the end of a typical size address bar (let's say on a 1200 pixel wide screen... to be extra nice), stop writing web software. Go write Windows applications. Using frameworks.
Bu... bu... but, Zac, you did some of those things wrong on your site.
If you are reading this on my web site, you probably noticed I'm no picture of perfection myself. I don't always add my anchor titles, some of my sites have those annoying "social" linky things, and so on. Sorry, but that's a straw-man argument. I'm aware of the rules, and I break them willingly knowing it's not the best situation. Certainly, I'd like to fix all of those annoyances. However (thankfully), I'm no longer developing commercial web sites. This is a personal site, and if I fail to attract a global audience, that doesn't matter to me. If I were making money with my web site, yes, I would be a failure at correcting my own annoying behavior.
End of Rant
It's 2011. Browsers these days are practically virtual machines acting as highly capable thin clients. Computer resources are enabling software developers to build some truly terrible pieces of software without suffering any consequences of poor design. Bandwidth is cheap. So, why do I still have to deal with these bad web sites?