31 Aug 2004 prozac   » (Journeyer)

Inefficiency By Design

One of my (many) weaknesses when it comes to programming is the overwhelming desire to produce the most efficient code as possible.

One might think that that could hardly be a weakness, but that desire causes me to spend an inordinate amount of time re-writing and re-designing. Bordering on obsession, I probably spend, and I am not exaggerating, 10 times longer than I would otherwise.

(Of course, this would be all okay if I always ended up with excellent code, but that is not always the case.)

I mention this obsession with efficiency--size, speed, whatever may be the case--because it probably is the cause behind my extreme dislike (and lack of understanding) of people/groups who purposefully create inefficiency.

The World Wide Web offers two such examples: Source Forge and PHP Classes (sourceforge.net and phpclasses.org).

These two Websites could be criticized just for their "look & feel" but that would be very subjective of me (my own visual design skills are pretty lame). What bugs me more about them are the programmed in inefficiencies, their inefficiencies by design.

"Inefficiencies by design?" How could that be? you ask. Why would anyone do that? Simple answer: providing Advertisements.

There is nothing wrong with ads per se, but coupled with designed inefficiencies created solely to maximize ad viewing at the expense of web users is.... well, what is it?

Source Forge, the "world's largest Open Source software development web site" has up to five ads per page. It takes about three "clicks" to browse to a project hosted at Source Forge, which is typical of most any development website (can't get much more efficient than that!).

But when you click on a project file available for viewing or for downloading, you can get up to three more pages before you get to the file download page. (You can enable cookies to lessen the number of pages viewed by one.)

Like Source Forge, PHP Classes is a repository for developers to distribute code. Getting to the page where one can browse their content takes a few clicks, but this is to choose a mirror site. Once you get in and start to click around you are subjected to three or four ads per page. And once you see some code you like, you are subjected to several more ads, only to be told that "You need to be a subscriber and log in to access this file".

It is this process, this "bait and serve", that is so annoying.

This process could just be bad design, but if you look at the code and see the results, the conclusion that it was designed this way on purpose kind of stands out. The pages actually refresh themselves over and over as you navigate through all this.

Making things even worse, is that although much of the code made available there is free software, and there are links to Freshmeat and to author's homepages, all code archives that I have looked at are only available for download via PHP Classes. (For example, the typical Freshmeat entry has links to directly downloadable archives, but not for those referring to PHP Classes.)

Certainly, I can be considered as "picking nits" here. And I freely admit that I am no Web Guru or Programming Expert or anything. But software and websites can be designed so much better. I mean, its not like things have to be this way.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!