in

ASP.NET Weblogs

The Commodity Programmer

The Top 10 Things Web Developers Still Get Wrong After All This Time

So, The Globe and Mail (pops) revamped their website a few days ago.  And what a wonderful train wreck it was.  And I've been meaning to write a blog post like this for a while, and using that new site was enough to take me over the edge.

1) Not Using the Label Tag

What is wrong with you people?  Whenever there's a checkbox or a radio button and there's text next to that control, surround that text with the label tag!!  That way, users can click on the text and it will change the state of the corresponding control!!  Wow!  Welcome to the year 2000!

This makes a great interview question if you're the one being interviewed.  Ask the techie guy in the room if s/he knows what the label tag is.  If they don't, you can be assured that that job will consist mostly of wanting to pull your hair out.

2) Not Making Links Look Like Links

So here it is, 2009, and people still insist on having links that look like text.  Stop it.  Just stop it.  Come on.  What's the problem here?  Can't think of a color that goes with black?

3) AJAXing Everything Just for the Hell of it

Whoever coded the Profile form for the G&M needs to be shot.  This is how it works:

  1. You click the "Profile" link
  2. It takes you to an empty Profile form
  3. The page makes an AJAX request to get your Profile info, and then fills out the form using JavaScript.  Or sometimes it doesn't.

Nothing like tying up server resources for no reason.  On the other hand it's a great excuse to get more servers.  And that's economic stimulus right there, baby.

The comments work similarly.  Loads the page, then loads the comments.  And somewhere along the line there's a request for a URL that doesn't exist.  Because we all need more 404s.

4) Paging for No Reason

I find it odd that many websites load up with a zillion JavaScript files, a zillion CSS files, a zillion images, and then show, oh, five comments (and with no HTTP compression, to boot).  I suppose they've used up so much bandwidth with all the other junk that they have to conserve somewhere.

I especially enjoy the way the G&M did it.  They show the oldest comments first, so in order to see the fresh stuff, you need to click on the paging links.  But there's no "last/first page" links.  So you need to slog through that numbered links.  Oh, and the links are javascript links.  And they don't keep history.  So if you leave the page and come back, you're back to page one.  Good work, boys. 

5) Sorting That Doesn't Work

Sorting's useful, I guess.  But if you're going to put in a sort, use a stable sort.  One of the few things Spolsky got right with FogBugz was stable sorting for the case list.  So if you click on case #, and then click on priority, it's still sub-sorted by case #.  Can't make it stable?  Don't know how to?  Well, umm, type "stable sort" into Google.  I know, hard, isn't it?

6) Videos That Start Automatically on Page Load

There's nothing like going to a web site and having some fat obnoxious dude talking right away.  Because that doesn't want to make me click the back button right away.

7) Not Using HTTP Compression

I know, I know.  You're working on a multi-million dollar website.  And HTTP compression products cost at least $5 billion.  Oh wait, they don't?  You mean they're sometimes free?  You mean some web servers have built in HTTP compression functionality?  What?  What?

8) Not Rendering Line Breaks Because You Don't Know What the Hell the <br /> Tag is

I'l let you in on a little secret.  Most programming languages have this thing where you can replace characters in a string with other characters.  You can use this functionality to replace "\n"s with "<br />".  And that way your users might not whine for 250 comments about wanting paragraph breaks in their comments.

9) Not Knowing How To Escape HTML

Look.  Whatever genius way you came up with to "trap" HTML is broken.  Whatever you way you find on Google to "trap" HTML is broken.  Just use your programming language's HTML escaping facility.  There's one there.  Really.  And it works.  Really, it does.  Trust me.  Maybe you want to crack open a book or two about your programming language and look.  Really.  I'll even buy you a pop.

10) Really Small Text

I'm not sure when this happened. Some graphic designer probably thought that using really small text made them cool or something.  No dude, no one cares, except for all the people that have monitors that have a resolution greater than 640X480.

Comments

 

Koolraaga said:

Very Good List. Thank You.

May 22, 2009 2:04 PM
 

Neil said:

11) Using &nbsp; for layout

May 22, 2009 2:57 PM
 

Jeremy said:

11)  Reduce the amount of cynicism included in blog postings

May 22, 2009 3:03 PM
 

bmains said:

You don't sound bitter about these points :-;

May 22, 2009 3:08 PM
 

troy said:

yeah dude, take it easy...if you wanted to help some other developers with good points that would be worth reading...ur nasty and bitter, get a hold of your self

12) 14years in Computer Science classes doesn't make you cool

May 22, 2009 3:22 PM
 

Vince said:

Hey Shazam999, this top ten list is fantastic.  Sorting and small print are two of my biggest pet peeves for websites, it's so easy for developers to avoid.  These are all really good recommendations, I think any developer can benefit from the advice. You can post this to our site http://www.toptentopten.com/ and link back to your site. We are trying to create a directory for top ten lists where people can find your site.  The coolest feature is you can let other people vote on the rankings of your list.

May 22, 2009 3:31 PM
 

wt said:

Uh...your links are the same color as the text that surrounds it.  I suppose it's underlined, but uh you brought it up.

Also, your text is really small.  Not sure if you are complaining about your own site but ...

In either case I actually do agree with these points.

11) Using 1 by 1 pixel graphics for padding and spacing.  Found that in my newly inherited project.

May 22, 2009 3:46 PM
 

Dave said:

11) Developers / designers that STILL can't make cross-browser websites. No end of times I see these big redesigns, go to look (like I did just now) with Opera and bang. Nothing works. FFS! It's not hard to make stuff work in IE, FF, Opera and Safari.

*arrrrrgh!*

May 26, 2009 10:56 AM
 

David Rymell said:

You almost made me snort wine through my nose. Excellent list delivered with just the right tone of exasperated sarcasm (not cynicism, bitterness or nastiness)

May 26, 2009 3:00 PM
 

Caligula said:

@Troy: GTFO, or at least come up with a better list item designed to show off how 1ee7 u r and how stupid people who went to college for 14 years are.

May 26, 2009 5:53 PM
 

Randy said:

11) Misuse of <br /> tags for layout

12) Inline element styles

13) Tables for layout (make your code semantic!!!)

14) Embedding image tags when they could be applied as backgrounds via CSS

15) Pages that depend on JavaScript support to function properly

16) Using Flash or images for body content without plain text alternative (SEO FTL!!!)

17) Minify JS & CSS files

Those are just a couple of the basics I can think of off the top of my head that I see all the time.

May 27, 2009 8:48 AM
 

links for 2009-05-28 | Squirrel Hacker said:

Pingback from  links for 2009-05-28 | Squirrel Hacker

May 28, 2009 8:07 AM
 

Twitted by stampededesign said:

Pingback from  Twitted by stampededesign

June 29, 2009 3:48 AM

Leave a Comment

(required)  
(optional)
(required)  
Add