Tinotopia (Logo)
TinotopiaLog → Downloading Software Is Needlessly Complicated (21 Nov 2005)
Monday 21 November 2005

Downloading Software Is Needlessly Complicated

So I have recently come into the misfortune of having to screw around with a lot of XML, and I’m poking around for the best way of doing it. In thus poking, I have been reminded of one of the things that particularly annoys the hell out of me.

While attempting to install a particular tool, I was informed that the tool I was installing relies on another tool, and that I needed to install it first. The installer was even nice enough to point me right at the other tool. It’s available at http://sourceforge.net/projects/expat/.

Excellent. So I paste that URL into my web browser, and get this page:


There’s a nice big green link for ‘Download Expat XML Parser’ right there: still excellent. I click on it.

Picture 2

Hmm. The button I clicked on said ‘download’, but it appears that it would have been better labelled ‘make more choices’. So I click on the ‘Download’ link for ‘expat’, having no need for Windows binaries of anything. I get this:

Picture 3

That button would have been more accurately labelled ‘make yet another choice’ — only in the case of this particular project, there’s not actually a choice here. Many of the projects on Sourceforge would have a number of different options here — which is still annoying considering that I’ve already clicked on ‘Download’ twice — but in this case it’s especially asinine as there is no possible choice for me to make here. It’s nothing but a waste of my time.

The astute observer will note that there is no download link here. Instead, there’s one link for the package, and another for the download history of the package, for some reason. After I’d clicked on ‘download’ twice, the system’s designers thought that it was possible that what I really wanted was the opportunity to see a download-history graph. I see.

So I click on the ‘expat-1.95.8.tar.gz’ link. Finally, maybe, I’ll be allowed to download the damned thing, right?

Of course: wrong. Instead, I get this:

Picture 4

Now, I am presented with a list of mirrors that offer the file. The order of this list changes, presumably at random to spread the load around. However, the list also gives me the location of each mirror (including helpful information like the fact that Paris is in Europe, New York in North America, and Sydney in Australia). So what’s going to work best for me? Using the mirror on the top of the list, or using the closest one? In practice, it probably doesn’t matter any more, but long habit causes me to look for the mirror closest to me. (The list, of course, doesn’t say anything about what networks these things are on, which is the most important thing about them.)

It is possible to select a default mirror, but the cookie used to store this information seems to expire pretty rapidly, so I don’t bother any more.

Anyway, I click on the ‘Download’ link for New York.

The ‘Download’ link doesn’t actually link to the file I want, of course; it links to a redirector that Sourceforge uses to count the load on the various mirrors.


This means that if I just right-click on the ‘Download’ link and copy the URL — if, for instance, I am using my laptop’s web browser but actually installing the software on a different computer, as I usually am — it doesn’t work. The URL I get isn’t the URL of the file I’m actually trying to download, but rather http://prdownloads.sourceforge.net/expat/expat-1.95.8.tar.gz?use_mirror=voxel, which results in this page:

Picture 5

A web browser that understands HTTP redirects will display this page, and then download the actual target file. A simple command-line fetch utility like wget will not, because there’s not actually a real HTTP redirect involved; instead, the web page that’s returned begins like this:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">


<META HTTP-EQUIV="refresh" content="5; URL=http://voxel.dl.sourceforge.net/ sourceforge/expat/expat-1.95.8.tar.gz">

That META HTTP-EQUIV business is a hack that tells the web browser to wait five seconds, and then to request http://voxel.dl.sourceforge.net/sourceforge/expat/expat-1.95.8.tar.gz, which is the file I was after all along. You will note that this page actually has on it as a regular, visible link, the direct URL for the file I want: I can copy this one and then use it to download the thing directly to the remote machine. But I’ll still wind up with a copy of the file on my laptop, because the browser will start downloading it in five seconds.

All I had to do was click on three links labelled ‘Download’ (none of which actually pointed directly to the download in question) and one labelled with the name of the package in question, and then copy the fabled Golden URL that actually leads to the file. Oh, and later I’ll have to delete the extraneous download from my laptop. Ah, technology!

This all sounds like pretty small beer, but when you’re downloading a lot of things it gets old, fast. And these days it’s very rare to find someone who’s distributing software — commercial or open-source — whose ‘download’ links actually lead directly to the file you’re looking for. There’s no need for it, and I decree that it should stop immediately. Either pick a mirror for people automatically (it’s not that hard), or offer them a list of direct links to the mirrored content. Stop forcing users into pointless decision trees, and for God’s sake stop designing your damned systems for the convenience of your statistical analysis. Instead, start designing them for the convenience of your customers.

Posted by tino at 11:50 21.11.05
This entry's TrackBack URL::

Links to weblogs that reference 'Downloading Software Is Needlessly Complicated' from Tinotopia.

Part of the reason for all those choices on the near final page is not all mirror actually have the updated package you are looking for but have the old versions on it. This of course is another problem with teh system, why display a link that won’t work?

Posted by: Paul at November 21, 2005 01:54 PM

I just noticed anotehr inconvenince with the whole sourceforge download process. If you start at a web site and sayy download, just through the 8 screens to actually download you have to go back 8 pages to view the site you started at and any online installation documentation. needessly complicated.

Posted by: Paul at November 26, 2005 12:25 PM