I have a lot of pet peeves, and in order to start blogging more often you might be hearing about them, sorry.

One of them is stupid ways software downloads work, in particular software designed to be run on a server. This umbrella category includes pretty much every PHP application you might download (arguments from Elizabeth Smith not withstanding). Why do all these sites insist on being “helpful” and redirecting my browser to a download link? I don’t want to download the file to my computer, I want the file on a server in another country!

Some sites, dissatisfied with merely making you hit stop, copy the direct download link to clipboard and paste in a terminal window go one step further! They refuse to serve files unless you’ve got a cookie. So just having the right link doesn’t work, I have to boot up lynx, surf to the page, hit the download link again. This is freaking stupid.

Provide real download links for software designed to run on the server, stop requiring cookies to download your software, just make things work.

Example Culprits include PHP itself for the whole redirection business, and Magento for necessitating a cookie.

Comments »

No Trackbacks
Amen!
#1 Balu (Homepage) on 2008-11-03 22:13 (Reply)

You're being a bit black and white here, while the aim should always be user friendliness it's simply not always possible to simplify things that much if you, for example, need to authenticate a user before allowing him to download, sometimes a cookie might be the lesser of two evils, even if that means you have to take a little detour to get your software.
#2 Martin F on 2008-11-03 22:27 (Reply)

I could not agree more!
#3 Brian Dailey (Homepage) on 2008-11-03 22:46 (Reply)

Magneto offers a no-cookie, no-registration download.

http://www.magentocommerce.com/download/noregister
#4 Kenneth (Homepage) on 2008-11-03 22:46 (Reply)

If the software requires purchase before downloading that's one possible soltution however neither of the examples I provided fit in that camp, and providing the token in the URL is an easy alternative to cookies. http://example.com/downloads/FC62DE91ACEF23127/file.tar.gz
#5 Paul Reinheimer (Homepage) on 2008-11-03 22:47 (Reply)

Kenneth I am aware, however you still can't drop to terminal and
wget http://www.magentocommerce.com/getmagento/1.1.3/magento-downloader-1.1.3.tar.gz

It doesn't work, you're redirected to the index, you need the magento cookie in order for the download to succeed.
#6 Paul Reinheimer (Homepage) on 2008-11-03 22:48 (Reply)

This is true, but why not simply provide a unique download url that can simply be copied and only used once ?

Something like
http://myproduct.com/download///
#7 Sascha on 2008-11-03 22:49 (Reply)

Requiring cookies for anything is just stupid.

The number of sites that go into a infinite loop and it tries to set a cookie and reload is just silly.

Pretty sure there must be an "How to DOS yourself for Dummies" book out there somewhere.
#8 Jared Williams on 2008-11-04 00:02 (Reply)

I gather most people just haven't considered it essential. If it were in greater demand maybe some providers would change their practices.

In any case I agree - it would be nice to just wget anything and skip the nonsense from other methods. When you're practically living on a console it becomes an annoyance quite quickly.
#9 Pádraic Brady (Homepage) on 2008-11-04 00:15 (Reply)

If you have svn on the server you can get the code from Magento's public repository.
#10 Juliette on 2008-11-04 00:45 (Reply)

totally agree
#11 Evert (Homepage) on 2008-11-04 01:16 (Reply)

What arguments from me? Now you have me totally confused Paul ;-) Unless you're talking about me doing desktop stuff with PHP - in which case the download issue argument is still a problem...
#12 Elizabeth Smith on 2008-11-04 12:25 (Reply)

Sorry Elizabeth, I wanted to link to your blog, preferably a post about PHP GTK applications on Windows, but I couldn't get your blog to resolve last night.

It can be annoying, but things like cookies and such end up being less of an issue (for me) when I'm downloading things to the machine I'm actually on.
#13 Paul Reinheimer (Homepage) on 2008-11-04 14:35 (Reply)

As for Magento, even though it's very confusing, I managed to download the file with lynx from the server.

You just have to figure out that the stylesheet which lynx is unable to interpret makes the page look four times as big.

As for better examples - most projects on SF and Google Code actually provide a decent way to download software.
#14 till (Homepage) on 2008-11-04 19:16 (Reply)

Certainly agree in general - I often use HttpFox to sniff out the actual download URL.

For Magento however, there is a page for installing using ssh and wget:
http://www.magentocommerce.com/wiki/groups/227/installing_magento_via_shell_ssh

The wget line is:
wget http://www.magentocommerce.com/downloads/assets/1.1.6/magento-1.1.6.tar.gz
#15 David Winterbottom (Homepage) on 2008-11-05 15:40 (Reply)

Ah, well, josh's machines went down (hardware failure) and so we were all down and unhappy for about five days - should be all good now ;-)
#16 Elizabeth Smith on 2008-11-05 17:11 (Reply)

(Comment removed)
#17 Katty (Homepage) on 2008-11-05 23:45

I'm not so sure I can follow this advice, even though it sounds tempting! :-D

@Paul: You need a captcha s9y. ;-)
#18 till (Homepage) on 2008-11-06 00:27 (Reply)


Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
Submitted comments will be subject to moderation before being displayed.
 

Hi, I’m Paul Reinheimer, a developer working on the web.

I co-founded WonderProxy which provides access to over 200 proxies around the world to enable testing of geoip sensitive applications. We've since expanded to offer more granular tooling through Where's it Up

My hobbies are cycling, photography, travel, and engaging Allison Moore in intelligent discourse. I frequently write about PHP and other related technologies.

Search