Download Best Practices, Part 1
By Gary Zellerbach on Mar 21, 2008
We've been working on a new internal wiki to capture download best practices gleaned over the past 11 years of designing and managing our high capacity download systems. I think this is good and valuable information so wanted to blog about some of our findings. This will be the first in a series of posts on the subject.
First, let's consider our goals in defining and publishing these practices. At a high level, I'd sum them up as follows:
- Ensure customers are able to download successfully, as fast as possible and with minimal hassle.
- Provide a consistent and efficient download experience.
- Increase completion rates and reduce abandonment.
- Ensure our systems and processes optimize the conversion of downloaders into (paying) customers.
- Save time and bandwidth (cost) for Sun and our customers.
- Within Sun, document the processes to release software for download, and ensure they are followed.
Our first best practice is seemingly simple yet frankly it's not been followed consistently over the years: use a unique file name for every file in every product and version release. There are several reasons why this is so important, the first of which is unique to our systems:
Sun Download Manager uses special "verification property files" (VPFs) to checksum files as they are downloaded from Sun Download Center. The VPFs are mapped to unique file names. So, here's where we get into really deep water if file names aren't unique from release to release! If we release a product with file name "product.zip", a VPF will be created called "product.zip.sdm.zip" that SDM grabs automatically and uses to checksum the file and ensure a successful download. Now if the product team releases the next version of the product but does not update the file name, a new VPF will be created with the same name as the prior one. This works fine for downloading the new product. But when users try to download the prior version, there will be a checksum mismatch between the old file and the new VPF -- the download will fail. And that's why this is so critical on our system.
Here are a couple of other good reasons (not unique to Sun's download systems):
- Downloads often flow through content distribution networks which cache files around the world for fastest delivery. Unique file names ensure caching works most efficiently and eliminates the potential for delivering incorrect content from the caches.
- Unique file names reduce potential errors when locating,
copying, moving, updating, reporting on, and archiving content.
It's really not hard to do, so we hope you'll follow this practice!
|If you work
for Sun, you can view
the full Download Best Practices Wiki.
Sorry, this is for Sun employees only. The link will not work unless you are inside Sun's firewall.