Why Downloads Fail (Part 4)
And now for the riveting conclusion to this 4 part series...
To recap, in Part 1, I discussed some of the ways we measure download success/failure rates and some of the complicating factors. Part 2 covered what we believe is the number one reason for download failures (as measured at our end of the transaction) -- customers cancel their downloads before they complete. However, we do block customers from getting downloads in certain cases, as detailed in Part 3.
The one thing I haven't drilled down on much is so called "technical reasons" for download failures, so I'll take a stab at that now. First, though, a disclaimer: I'm not an engineer. I work on the "business" side of the fence, but for a business guy, you could say I'm pretty geeky (at least my wife says so all the time). (I have worked as a web master and Perl programmer in the past and do have a passion for the "technical" side of things.) Anyway, please keep that in mind in case I tread where I shouldn't...
So let's tackle the notion of "corrupt downloads." You start a download and when you're done, the file is not complete, won't unzip, checksums don't match, and/or it plain doesn't work. What happened? Often the first notion is that it got corrupted "in transit," though I would say that's highly unlikely. The fact is that TCP/IP itself does checksumming (albeit packet by packet) on the contents it's transmitting. As SDLC (Sun Download Center) transfers all files using HTTP, which is built on TCP/IP, in theory a file will not become corrupted in transit. (If any bits are transmitted incorrectly, TCP/IP should automatically transmit them again.) Yet, we know all files don't arrive successfully at their destination. Why is that?
First and foremost, I believe files get truncated (the download stops before the entire file has arrived), and users don't realize it. The file may even look fine on the system, yet it won't unzip or install. (It's a few bytes short of an image, you could say!) Some reasons this may happen:
- It could fail at our end due to an equipment failure part way
through transmission.
- It could fail because of technical issues at any of the myriad networks, routers, switches, etc. that comprise the "Internet" between us and our customers.
- It could fail at the customer's ISP.
- It could fail at the point the customer connects to the Internet (for example, a failed dial-up connection or the cable modem connection dies).
Also, as noted, while TCP/IP will retransmit failed packets, it will
also give up after a certain number of tries if there's just too much
noise, the networks are too slow, or something breaks.
The next cause is solely client side. Browsers and download
clients generally save a "temporary" version of a file while it's being
downloaded, then write it to the permanent location (where you select
to "save" the file). That's why we recommend users always have free
disk space equivalent to at least double the size of the content being
downloaded. If you don't have enough disk space, the file may not get
saved correctly. We have also seen, in rare cases, operating system
bugs or failures that have caused corrupt files when they are written
out to their final destination.
Finally, in the past (not lately, I promise), we have seen files get
corrupted on our servers. "Garbage in, garbage out" as the saying goes
-- if we send you a bad file, it's going to be corrupt when you get it,
no matter what. This issue occurred due to corruption introduced by
certain 3rd party software (that will go unnamed) when moving content
from our "golden master" server into our production servers. That
problem was solved a long time ago and hasn't reoccurred, but for the
sake of completeness, it needed to be mentioned.
Well, that was fairly technical for me -- I welcome comments and
corrections from those of you more knowledgeable. If you have other
ideas why downloads fail (whether technical or other), please let's
discuss them. And if you ever experience an unexplained problem with
corrupted file downloads from Sun, please let us know so we can look
into it at once.
If all these potential issues sound daunting, there's a simple
answer -- use a good download manager! We of course recommend the
Sun Download Manager,
and I can tell you there is nothing better for downloading from Sun, as
it will practically guarantee download success. How? I'll be happy to
explain, but it'll have to wait for a future post.
For now, please note I'll be on vacation until the new year, so see you
in 2006. Best wishes for the holidays and a great new year!