Seeking recommendations for a better file delivery mechanism

Alias on 2008-05-07T03:48:11

Dear Lazyweb.

I've had some complaints that the strawberry binaries download rather slowly, particularly in some parts of the world.

So I need some suggestions on a better distribution mechanism, something better than just "serve it all from strawberryperl.com". (Note: I'm not looking for a better cpan.strawberryperl.com, just the main distro download).

Here's my criteria, in order...

1. Reliability

If I create a link to a download, and I test it on my computer in Australia (and it works) then it HAS to also work everywhere else.

This rules out distribution via CPAN and linking to the search.cpan.org multiplexor (as different mirrors sync non-deterministically and at different rates).

2. Statistics

Call it vanity, call it anything you like, but I insist on having at least SOME idea of the number of downloads. This gets more important later, once the number of variations starts to get higher, so I can get feedback on which variations are more popular. XP vs Vista, 32 vs 64 bit, exe vs msi vs zip, Vanilla vs Strawberry vs Chocolate etc.

This also rules out CPAN. I've got no way of knowing the number of downloads or installs, short of making the installer phone home.

I don't necesarily want the download figures to be public, but I can live with that if I have to.

3. Size

Currently, the production set of 5 release variants (1 Vanilla, 4 Strawberry) is around 100 meg. Assuming the next release gets Portable support, that grows to 7 variants. When the chocolate betas arrive, that grows to 13 variants, and if we end up needing a separate 64 bit release, or separate Vista releases, that could double of quadruple.

So the distribution mechanism has to be able to handle around a gig of downloadable files, possible up to 3 gig.

Again, this also rules out CPAN. It abuses the hospitality of the mirror operators in my opinion.

4. Speed

Downloads should ideally be fast. I'm assuming this probably means some mirror-based network that has at the very least a server in America and Europe, ideally a few more.

5. Usability

Currently, to download Strawberry you click on a single link on the front page.

I like that simplicity.

I really hate Sourceforge, because it makes downloading a pain. You have a releases list, you have to find the version you want, then you need to select a mirror, all on pages covered in SourceForge chrome and distractions.

Ideally, I want a one-click download process.

I can live with 2 clicks, if it involves almost no reading.

But no more than 2 clicks.

So, can anyone suggest something that meets all my criteria?


Hosting

Ron Savage on 2008-05-07T07:10:54

By the end of June, if not before, I'll know for sure about my move to VPS:
http://www.quadrahosting.com.au/vps/linux-vps.html

Quadra is already my web host. WestNet is my ISP.

I'll go for the standard or pro option. I could then handle that sort of traffic.

I'm assuming the 60GB/100GB traffic is per month. I'll have to check that.

Email me if you want to discuss it further.

Re:Hosting

Alias on 2008-05-07T09:50:35

I can handle the traffic now, easily... it's just that any single point is likely to be slow from a single point on the internet to all arbitrary points on the internet.

Torrents, and an offer to mirror

brian_d_foy on 2008-05-07T07:58:43

Have you considered torrents as one of many options? I suppose you'll lose the download statistics.

Also, I'd be happy to set up a North American mirror, which means actually that I give you an account and you set up a North American mirror however you like (or, I guess, you tell me how you want it set up and I do that without giving you an account).

Re:Torrents, and an offer to mirror

Alias on 2008-05-07T09:57:25

Torrents probably aren't worth it for a 17MB file.

However, once we get some notional "Perl and CPAN on a Stick" 800MB package, then torrenting is absolutely the option I need.

Maybe even for Chocolate, but I really hope it is no bigger than 50MB.

Hosting in Europe

domm on 2008-05-07T08:06:41

If you need a mirror in Europe (located in Germany), you can use the Vienna.pm server...

OTOH I guess you're not really looking for diskspace/bandwidth, but for a smart distribution mechanism...

What about SourceForge?

grantm on 2008-05-07T08:19:33

Yes, the SourceForge file upload mechanisms are a diabolical mess. Yes the raw user interface for downloading files is a diabolical mess. BUT they do have a network of geographically distributed mirrors and they do give you stats on downloads. So all you have to do is use one of the many SourceForge upload scripts and then link directly to the download link that presents the user with a list of mirrors.

Alternatively, it seems like you could do it with CPAN if you only included mirrors which you had polled to ensure the file was available and you used a GeoIP thing to select a mirror.

Re:What about SourceForge?

Alias on 2008-05-07T09:51:20

That would mean though, writing my own multiplexor... which I'd like to avoid if at all possible.

Re:What about SourceForge?

Alias on 2008-05-07T09:59:06

WRT SourceForge this is the problem "Yes the raw user interface for downloading files is a diabolical mess".

Strawberry's website is so simple and pain free, that going from that to the aformenting diabolical mess is something I really don't want.

chocolate perl

sir_lichtkind on 2008-05-07T08:23:55

just reply to yesterday. i hope chocolate is not just for noobs but also about having all the tool bundeled together to be highly productive.

Poor man’s Akamai

Aristotle on 2008-05-07T11:23:46

How about the Coral Content Distribution Network? All you need to do is append .nyud.net to the hostname in your link and they’ll fetch the original address, cache it, and deliver it through whichever of the currently 260 participating servers is nearest to the client.

It does increase latency for the first person to click the link, and they do drop infrequently requested stuff, so it’s not a panacea, but for URIs with a steady stream of requests, the service should help handily.

Re:Poor man’s Akamai

Alias on 2008-05-08T00:25:59

Curiously, Coral's home page is blocked by my corporate porn/gambling/social-network/etc filter...

This is an excellent idea though, I should investigate further.

geo dns and mirrors

rjw1 on 2008-05-07T22:53:24

use http://geo.bitnames.com/ and some mirrors for something like download.strawberryperl.com.

the other option is of course on the download page just give a main link and then some text saying if you think this is too slow please to be using one of our mirrors and link to a mirrors page. people will still probably whine but at least you can say there is a closer mirror.

Re:geo dns and mirrors

Alias on 2008-05-08T00:28:25

"saying if you think this is too slow please to be using one of our mirrors and link to a mirrors page."

This isn't a good enough solution. Making people read/think is not an option! :)

I also don't really want to have to set up my own mirror pool for something as simple as downloading a dozen files.

mirror redirection

rkobes on 2008-05-08T00:21:12

I'd be willing to host a country-based redirection service, as used on cpan.uwinnipeg.ca/cpan and mirror.ctan.org for, respectively, CPAN and CTAN. Also, if you need a Canadian mirror, cpan.uwinnipeg.ca is available.