I'm a web developer, but I can't figure out the business or technical problems behind this. Many websites have something to offer, and user has to download it.

But some of those websites instead of giving the file directly and straightforwardly to the user, simply show such a message:

Your download would be ready in X seconds. In case of problem, please click here to start download manually.

What constraints make developers result in such a complex and convoluted solution?

As a user, I find it irritating and absurd and possibly degrading for UX, because it makes me feel as if I'm in a restaurant, and I have to wait for my order to get ready. So, what are the technical limitations?

  • It might be some time to let the advertisements load completely on the browser. Such pages are usually full of ads.
    – agent13
    Commented Feb 19, 2013 at 14:35
  • Maybe in advertising websites, but about corporate websites like this one Commented Feb 19, 2013 at 14:36
  • 2
    It let me download the stuff immediately. The exact message is " Thanks for downloading TeamSpec! If your download does not start within 10 seconds, please click here to manually download the file".
    – agent13
    Commented Feb 19, 2013 at 14:38
  • 1
    SourceForge is a pretty good example. Can't download anything without having to wait like 5 seconds. You can click the download link to have it now, but it still tries to download the file after the countdown finishes. Pretty annoying indeed.
    – marco-fiset
    Commented Feb 19, 2013 at 14:47
  • 1
    See also: Your download will start in X seconds Commented Feb 19, 2013 at 17:11

4 Answers 4


I think you're misreading that banner. It most likely reads "If your download doesn't start in ### seconds please click this link." (Emphasis mine)

The reasoning is pretty straightforward.

The developers have done their best to make the download automatic. However, they know that with the wide variety of browsers, plugins, and security settings that things may not work as expected.

The # of seconds they provide is just an arbitrary number. It's a SWAG as to how long things should take in the worst case for the automatic download to start. The number of seconds is there to get the end user to wait for a moment, verify the download is or isn't starting, and then take corrective action. Otherwise, the user would end up downloading the package twice.

  • 5
    "Doing their best to make the download automatic" should be as simple as: <a href="http://www.example.com/files/stuff.zip">download stuff</a>
    – mouviciel
    Commented Feb 19, 2013 at 15:24
  • 2
    @mouviciel: unfortunately, it's not that simple. Such a link would make many browsers navigate away from the current page, open a blank page, and then start the download, when they see that they cannot handle the response's content type themselves.
    – tdammers
    Commented Feb 19, 2013 at 16:11
  • 1
    @mouviciel: additionally, many sites wish to track the number of downloads of each file, and as such the request will be routed through some kind of script to record details of the person downloading the file.
    – Gavin Coates
    Commented Feb 19, 2013 at 16:42
  • 2
    @tdammers I've never heard of a browser that destroys the current page before it knows it can render the next; can you cite examples?
    – user27354
    Commented Feb 19, 2013 at 18:30
  • 2
    @GavinCoates That doesn't explain the behavior. All the tracking script needs to do is use an HTTP redirect and it'll be transparent to the user - it doesn't have to display a new page.
    – user27354
    Commented Feb 19, 2013 at 18:31

There are two major reasons for using such a download screen.

  1. The site needs/wants to show advertisements before the actual download. In this case, the download will typically not be started for several seconds (and any direct link is disabled during that time).
  2. The site requires you to fill out a form before you can download, and two actions must follow: showing a new page and actually starting the download. If you don't want the user to click an additional link, the most sensible solution is to try to start the download automatically from the new page (with a backup-link that the user can use if the auto-download logic fails).

In the first case, just providing a link removes a source of revenue for the site.
In the second case, just providing a link goes against the usual expectations of how a site reacts to user-input (in particular, after successfully submitting a form, you are not presented with the same form again).


GlenH7 is right; the banner says "If your download doesn't start in ###...", the page attempts to start it immediately by using JavaScript to open the link and gives you the link in case the JavaScript does not work. The link also does work immediately. After all the JavaScript just does document.open(that link).

Now the bigger question is why they gave you this page with JavaScript redirect to the actual file instead of giving you the link to the file directly. I can see two reasons:

  • So they can show you "thanks for downloading blah blah...". I would consider this mislead.
  • So they can do load-balancing. See e.g. SourceForge. It kind of makes sense there, so they don't have the mirror selection on the front page and it still takes just one click to download by default. Often there are better methods for mirror selection though; the SourceForge case is somewhat specific in that their mirrors are sponsored by the providers so they need to show you which mirror you are using. Most company sites don't need that.

I assumed the purpose of the wait X seconds is to give you time to read the ads on the page - and so they can say to the ad sales people that the add has been viewed by N people for n seconds.

I suppose it's also a rate limiting anti-DDOS technique.

  • 1
    No, it isn't. The case this question appears to be about is the one where the direct link does work immediately.
    – Jan Hudec
    Commented Feb 19, 2013 at 14:46
  • On sourceforge the direct link works immediately but the wait for download counts down for 5secs
    – Martin Beckett
    Commented Feb 19, 2013 at 15:38

Not the answer you're looking for? Browse other questions tagged or ask your own question.