Which way is up?

Is there an established convention on the usage of the terms “upload” and “download?” It seems to me that the terms are used somewhat interchangeably when referring to the transfer of files from one device or medium to another. Perhaps this is done only by casual users, and there is a correct way among those who know. Or not.

So, what is the right way to use these terms?

My understanding is that the computer that initiates the data transfer is downloading the data - no matter which direction the data is going. The initiating computer is downloading data regardless of whether it is send or receiving it.

The traditional definition is that when downloading, data flows from a remote computer to a local one, and when uploading, data flows from a local computer to a remote one. (Here “local” and “remote” are relative terms—the “local” computer is the one you’re using, and the “remote” one could be ten centimetres or ten thousand kilometres away.)

The distinction has nothing to do with which computer initiates the transfer.

It is also somewhat of a convention for software to refer to the device that it is acting on. In other words, if you have software to manage a router, you will “download” new firmware into the router, even though you are uploading it from your computer into the router. Upload and download in this case is from the perspective of the router, not from your PC which is programming the router.

At this point, we have two conflicting answers. It looks like the convention is established by whoever is using the terms.

This seems wrong to me. I’d have said the same as psychonaut. Certainly when you consider ISP service, download speed is differentiated from upload speed based on which direction the data is flowing, to or from your local machine.

I personally always use “downloading” to mean “transferring to a machine at a lower gravitational potential”. So basically anything I do from Boulder is downloading. :slight_smile:

That’s how a techie friend of mine described it but I’m certainly no expert on the subject. I’m fully open to the idea that myself, my friend or both of us may be low grade schmucks.

But I’m reading this in Santa Fe.

There’s a hierarchy. If you’re going up the hierarchy, you’re uploading.

The hierarchy is something like:

Cloud > anything
Datacenter server > branch office server
Server >= PC, workstation (notice the >=, here)
Server > smartphone
PC = PC
To some extent, PC > small or passive device (smartphone, iPod, router)

If you’re working at Microsoft, and you talk about an ordinary person transferring the Office installer from “your” server farm to their home computer for installation, you’ll still call it a download.

Similarly, a person transferring a new video to YouTube for publication is uploading from their point of view, but also from the point of view of someone working at YouTube.

In a peer-to-peer (=) situation, yes, it does become a question of point of view. In such cases, I think people tend to talk about copying files or transferring data, rather than uploading and downloading.

BitTorrent would count as “Cloud”, I think.

I worked for a place that moved a lot of data in and out and offered a couple cloud services. When we pulled data in we would say we were downloading it. When we sent it out, we would say we were uploading it. If we spoke of users sending us data, we’d say they were uploading to us. If they were pulling from us, we’d say they were downloading. There was never the type of confusion you’d get if someone talked about our servers downloading data and meant that it’s transferring data to a customer because that’s not something that would be said.

Have to agree with the other "no"s. I’ve been in the business a long time, and I’ve never heard anybody use that.

Usage does vary a little bit, but I’d wager 85% of folks reference it relative to the device they’re at (i.e. if you’re sending FROM your device, it’s uploading, if you’re receiving, it’s downloading), and the other 15% use the “uploading is toward the Internet Backbone or other central location, downloading is away” definition. Neither depends on who initiates – even defining what you mean by “initiate” would be pretty hard.

Upload = sending data.

Download = receiving data.

It’s that simple, despite some peoples’ insistence on trying to make it more complicated.

Except that apparently it isn’t, since we have multiple people in this thread giving other answers.

This is the SDMB. For that matter, this is the internet.

Agree with TimeWinder. Not that simple.

I agree with Heracles’s hierarchy, along with where you are in that hierarchy. Up/download is relative to where you are and which direction the data is flowing. If not flowing up or down the hierarchy, then it’s a data transfer across, e.g., transfer across from PC to PC, or transfer across from phone to phone.

This is basically it. There are situations where “uploading” or “downloading” is clearly the correct term. If you are not in one of those situations, you chose to use less ambiguous language.

“uploading” or “downloading” = outgoing or incoming… Where’s the confusion?

It definitely doesn’t mean merely sending/receiving or incoming/outgoing. As someone who has been working in computers since before the internet was invented, my understanding is as follows:
There is a level which is conceptually ‘up’ or ‘above’:

The internet / the network / the server

And there is a level which is conceptually ‘down’ or ‘below’:

Local devices (PCs phones, etc.) attached to, or communicating with, the larger system ‘above’ that connects the individual local devices.
You download from the higher level (internet/server/network) to the lower level (an individual device), and upload to it. It doesn’t matter which side you are looking at it from. If I have a server, users are downloading from me.

If you are moving data at the same level you are simply transferring/copying/moving the data, not uploading or downloading. e.g. from one PC to another, from a phone to a PC, from a PC to an external hard drive, etc.

If a file is being copied from a remote device (generally over the internet) to a device I’m controlling then I’m downloading. If a file is being copied from a device I’m controlling to a remote device then I’m uploading. If a file is being copied between two devices both of which I control, then I’m transferring.

Those aren’t hard and fast technical definitions. They’re just the way I’ve always intuitively used the terms and obviously there are going to be some ambiguous situations where those rules don’t necessarily apply.