Practices Developers Should Avoid

Every developer wants to create the best site for their users. Though often times they will add functionality, use formats, or design in a way that matches what they perceive to be a “standard”. Unfortunately, just because something is used often doesn’t mean it’s a good thing. In this article I’ll discuss some common practices that you may have done without even considering other options.

Complicated comments

We often times think that our site is the center of the internet universe, but unless you’re Facebook or Google you may want to rethink how your users interact with your site. Unless you’re using a common interface such as DISQUS for your comments, you should leave your site’s comments open and not force them to register for an account. It’s unlikely someone will want to go through the registration process (especially if they have to wait for a confirmation email) since people don’t generally like to have dozens or even hundreds of accounts littered across the internet.

There are exceptions to the rule, and certainly large corporate websites are a part of that exception (e.g. Facebook & Google), however unless you specifically want to cause your users to go through an arduous process, you should let them comment freely or use a cross-site commenting system such as DISQUS.

SEO over usability

SEO is an important aspect of any site’s push to get more visitors. The problem comes when you program to SEO so much that it causes problems with your users ability to complete their intended tasks. If you’re modifying your navigation or presentation layer to accommodate SEO, you’re doing it wrong.

Truth-be-told about SEO: content is king! You want good search results you need to worry about two things.
1) Get links from other, important sites. If Google (or Yahoo, Bing, and others for that matter) see that you’re getting links to your site from other important sites, your search rankings will skyrocket to the top. That’s 90% of the battle.
2) Write good content. You want your site to be found with the proper search terms. To do this, write good content. Between this and getting important links, that’s 99% of the battle. Everything else, including proper <h1> tags and presentation layer changes, is just fluff. They can help, but only marginally and usually at the expense of your users. The same ones you were so desperate to get to your site through a search engine I might add.

As far as presentation layer is concerned, you may be asking yourself, “does Flash really inhibit my SEO attempts?”. The answer is… maybe! If you’re not using Flash properly, you can. Google has a harder time reading flash files, and only wants to index text. if you don’t have a mechanism to accommodate search engines suddenly content, which is king, becomes second fiddle. There are many ways to fix this, but the best and easiest way is to hide your content in a <div> tag that has javascript replace the contents with your flash file. This is often confused as Cloaking. Cloaking refers to when you give the search engine different content then what you present to your users. If the content is the same, you’re golden. However, if you present “Storing MySQL Data in Hierarchical format” to your users, and give Google search terms like “Brittany Spears, Lebron James, and Lindsey Lohan” that’s when you get blacklisted.

Remember to use rich media responsibly, that content is king, and usability trumps SEO.

Video Player Controls

This is a simple one that many people often do because other people do it. Just because everyone does it doesn’t make it a standard. Well, maybe that’s not true, but if Apple jumps off a bridge and all that.

It is quite common to see video players with audio controls. This is absolutely unnecessary as all computers have audio controls. Many have dedicated buttons, while Windows has it right in the bottom corner. Most users already have their audio at a level they already want, so why reinvent the wheel? If you must include an audio control in your video player, please remember to default it to max volume. This is something that, for example, CNET does poorly. Because most users have their audio at a level they already want, having your video player at something less than max means they must either 1) adjust it on the video player for each video they watch, or 2) adjust their system audio to start watching, then adjust their system audio back after watching it.

Targeting New Windows

This is a simple one but an important one. It is generally a good idea to target links to other websites to a new window, and links within your own domain to the same window. This makes sure that users are still connected to your site. The exception to the rule that says “target links within your own domain to the same window” is when you’re in a large article (much like this) and you have links in the middle. This disrupts the flow of your article. Target references in a new window so users can come back to your article, or save the links for when they are finished.

Fancy Dates

Fancy dates often look like this: “About an Hour ago” or “14 hours ago”. Instead of generalizing your time, let your users know the exact date and time something happened. Users are likely more interested in knowing what time something happened than knowing how long ago it was. It is less specific to use fancy dates, because your users don’t know if “2 hours ago” really means “1 1/2 hours ago and I rounded up” or “2 hours and 59 minutes ago and I don’t count minutes”. Give your users the full story!

Multi-page Articles

Click here to read page 2. Ok, not really, but this is often the case on many sites. Is it really that hard to put a large article on one page? It is much easier to scroll than to traverse through a half dozen pages. Even if your page has a lot of rich media content, ask yourself if it’s really necessary to use multi-page layouts first.

Overuse of Ajax

Ajax is an excellent tool to make your internet applications richer. I am personally a huge fan of Ajax, but if used improperly it can be a huge liability to users. Ask yourself one of these questions:

  • Will my users want to access this content through a URL?
  • Will my users want to use the back/forward buttons in their browser?

If the answer is yes to either of these, then reconsider using Ajax to present your content. There are obvious ways around this, but they are generally clunky and not always worth the effort.


These are just a few examples of how not to do things. They all have a common theme: Users First! If you always remember to question each thing you do, even if it seems to be a standard, you’ve got at least one notch in your “I’m a good developer” belt.

Leave a Reply

Your email address will not be published. Required fields are marked *