Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Why Download a Downloader to Download an app?
22 points by phl 12 days ago | hide | past | favorite | 17 comments
Why do some companies distribute thair downloadable software through a downloadable custom downloader instead of offering the full installer directly to download? It has puzzled me several times throughout the last 20 years. I can not come up with a good reason. Especially when the custom downloader doesn't suppoert resuming interrupted downloads, display remaining time, current download speed or how much data is being downloaded. Notable example is the Spofify (Mac) downloader. I would really like to know what are good reasons from a UX, business or technical perspective to do that.

Could be because of EV app certificates (which get rid of the warning screen when you install a desktop app). These require a number of installs before the warning goes away. When you modify the executable at all though, the counter resets. Instead, if you keep the same install executable and fetch the latest version of the app, you can keep from resetting that counter. Just going from my experience.

The Windows SmartScreen can be a real pain when you release frequent updates.

Do you know of any off-the-shelf downloader that would handle the download and install of the versioned app, or is it a 'build your own' thing?

Thank you. That makes perfect sense. I wasn't aware of how exactly EV app certificates work out inpractice as I have never shipped a desktop app.

It's not just EV certs, regular code signing certs have the same issue.

I always assumed that the in-browser download completing ~instantly and a native branded GUI establishing itself as a separate window must make the average user slightly more likely to follow through with the installation, instead of forgetting about the download. Basically an attention trick.

I'm not sure, but I think it's about resumable downloads and handling downloading errors.

I practically never download anything large through a browser: I get the link and then use `wget -c` to make sure I get the file, automatically retries when connection is lost and re-established, etc, instead of waiting a long time and then checking the download in the browser and find out it failed a few minutes after it started for whatever reason.

If it's a couple of megabytes, I use the browser. I don't trust the browser with larger downloads.

The "app downloader" may be doing similar things.

Maybe a useful tip: you can resume paused Chrome download files with wget -c


Thank you. I'm aware of that. It's more work to delegate to one tool I know will often fail me and fall back on a second tool than to use the second tool in the first place.

Well that probably made sense in times of IE5, but modern browsers can’t be worse than wget -c ...

If modern browsers assume flawless internet connections, they'll be much worse than wget -c, at least at downloading large enough files for which there's a higher probability of something going wrong with certain internet connections.

I need to be able to leave something downloading and be sure that, when I come back, the file is there.

Now, would I do this if I had a 1Gbps? Probably not. But at 8Mbps, with an internet connection that only works if you offer intestines to gods, I have to.

When I've done it in the past the reason was that the "downloader" was more like a bootstrapper to get the app on the machine with different logic if the app was already installed/not installed, and to migrate between versions if necessary - without corrupting the existing installation, if it exists.

Download & Install is filled with points of failure and have few ways of performing the modifications atomically. Its better to have this correct than have nice information displays. But this depends heavily on what the app structure looks like.

> Especially when the custom downloader doesn't suppoert resuming interrupted downloads, display remaining time, current download speed or how much data is being downloaded

These things are not always easy, are usually lies, and add very little value to the application. Be happy they haven't hyper optimized first time installation or new user onboarding, since you usually only do it once.

Resuming an interrupted download is a lie? Displaying data use is hard?

They generally download the latest package, according to the computer specifications. You don't have to choose if it's 32-bit or 64-bit. The provider doesn't need to update the installer app itself if there's an updated package.

Browsers used to not pick up where failed downloads left off

Firewall rules could block .zip and .exe downloads that were not approved

Comm lines and ftp/http servers were slower

1GB used to seem like a lot and could take hours

In the case of my company's software it's for ease of deployment for new versions. When you click download you get a gui that will step you settings etc. I don't want to rebuild and re-sign the gui every time I have a patch and need to change its install behavior slightly, so it downloads the latest installer dll and executes that in order to handle any new flags, configs, added binaries, etc.

All of this is done behind the scenes though, so your average end user doesn't even notice.

Basically so that executable software is downloaded running and given PERMISSIONS as quickly as possible.

The most stupid thing I can think of is that the downloader changes version less often that the said software. So you download your "downloader" which points you to the latest version of the software.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact