Exploding costs are most likely the main reason why there's hardly any source to get games of the CD-ROM generation. I've mentioned it being a problem in one of my earlier articles. Instead of endless whining, I'd like to point out a few (in my opinion) realistic options for solving this.
I'm restricting myself to the WWW part of the Internet here. I'm perfectly aware that many of these things are practised, for example, on IRC already. However, no other service has nearly the same scope as the WWW, so every solution ignoring it will be at the expense of most potential users.
Also, be aware that if you, as a webmaster, implement any of these solutions, your visitors will dislike it. Unlike you, they don't know about bandwidth costs, and they probably even don't want to understand. You'll certainly be able to explain it to the regulars, but the casual visitor (i.e. 99.99% of the people visiting your site) will always swear, curse and hurl abuse at you. If you want to be civil and deal with such people at all, the only valid answer is this: What do you prefer - this admittedly imperfect offer, or these files not being available at all?
Home connectionsMost of us a sitting on a nifty DSL connection these days. And let's be honest: the upstream, even though it's a lot lower than the downstream usually, is idling most of the time. So it wouldn't hurt to throw a few files up on a simple local server. Dynamic IP addresses stopped being an issue when services like DynDNS became publically available.
- Wide, easy availability
- Good level of control for webmasters, because it's still just a few central sources
- Uptime - use a computer which is always on anyway, like a router
- Limited speed compared to common download speeds
Conclusion: Good solution for small to mid-sized sites. Slightly bigger sites might need to spread over several different sources like that, but it's still very easily overseen. On really big sites, resources can be too sparse.
TorrentsBitTorrent is already used to spread lots of (legal) software these days. Basically, a website would just offer a small text file for download (the 'torrent'), and the game archive itself would then be transfered from other people downloading / sharing it. A little like other common file sharing applications, but with more focus on serving few files at high speeds.
- Takes load off central server completely
- Software widely available (even implemented in the Opera web browser)
- Depends on visitors to stay active as 'seeders' after finishing the download
- Out of the scope of control of webmaster
Conclusion: This solution will only work for huge sites. Without an appropriate number of potential seeders, it's hopeless. If that critical mass is reached, it is an excellent solution, on the other hand, as long as the webmaster can accept that a torrent might stay active after he decided not to offer the download at all anymore for some reason.
Download rotationIf it gets too expensive to offer all files permanently, use an automated system which activates / deactivates parts of your complete connection according to the day of the week, week of the month or something like that - while still serving it all off your main server. That way, visitors can't download everything at once, but they have to come back later to get more, spreading their overall bandwidth consumption over a longer period of time.
- No speed issues, because files served from same server as site
- Simple implementation easy
- Limits availability of files (people might give up in frustration)
- Decent implementation tricky
- Depending on the technical implementation, it can probably be by-passed by 'timed download' features of download managers
Conclusion: Possible for all kinds of sites, but if visitors are insistent, it might not really lower bandwidth use, but only distribute it differently. Definitely an option to try, but keep a backup plan ready in case it doesn't have the desired effect.
Other restrictionsLimit transfer speed of visitors with something like mod_throttle for Apache, limit the number of times a file is allowed to be downloaded (regardless of by whom) per month or even limit visitors to one download at a time (like Home of the Underdogs does). There are many ways, but they all have one thing in common: Prevent one person from leeching everything you have at the same time.
Overall conclusionThe best ways depend on your own goals and your technical environment. You should aim at something reliable both for the visitors (e.g. availability) and the webmasters (no cheating possible, fine-grained control). The technical feasability is sometimes questionable, though. The best solutions require very good (expensive) hosting to get a level of control over the interiors of the webserver necessary for enforcing such policies. Also, you have to have the technical knowledge. Manipulation on this level (if done right, of course - everybody can fiddle around) is anything but trivial, unfortunately.
Mr Creosote (October 12th, 2006)
Comments, discussion, etc.