Download Best Practices, Part 1

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 "", a VPF will be created called "" 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.


I've been attempting to use the Sun Download Manager to download the latest OpenSolaris ISO all week. It's a good thing that it supports pause and resume, since the download speed is consistently between 40K/s and 2K/s, whether I am at work on a DS3 or at home on a cable modem.

The Sun download center has never been super speedy, but this is pretty much unusable. How do you expect to get the wide adoption required of open source projects if no one can get the code?

Posted by Herschel  Krustofsky  on April 04, 2008 at 08:03 AM PDT #

Hi Herschel,

I'm sorry to hear about the slow speeds you're experiencing. We use a global content distribution network that provides over 19,000 "edge" servers worldwide to ensure optimum performance and capacity for our customers. We rarely encounter issues like you've reported. I'm working from home right now and just did a test that pulled down about 500K/s from SDLC on my DSL line, so I'm sorry but I'm unable to duplicate your experience at this time.

I would appreciate it if you could report this issue to the download center support team here:
This will ensure that if this is a wider problem or trend, that the right folks pick up on it and launch a deeper investigation. We certainly strive to provide the best possible performance.

Posted by Gary Zellerbach on April 04, 2008 at 09:05 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

I helped design, build, and manage download systems at Sun for many years. Recently I've focused on web eMarketing systems. Occasionally, I write about other interests, such as holography and jazz guitar. Follow me on Twitter:


« February 2016

No bookmarks in folder