1

Something of a bugbear of mine is the mixed use of the terms upload and download. As a software engineer I am retentive about semantics and find that this is a fairly big one that can confuse groups and pollute code.

The trouble is, I think I'm wrong!

My colleagues refer to an upload as a transfer from a smaller system to a master system or server - a download is the opposite. This works great in the internet domain but I feel it breaks down - who decides when a node is a server?

I prefer to use a concrete definition based on the question which way is the data flowing?

Upload - data is leaving

Download - data is arriving

This is not subjective and covers file transfer between peers. It appears that the tags on Superuser agree with my definition.

Edit: I cut out some text that was important but I shall put it back. If you have device connected via RS232 and you write to the port and the device stores it, is this data upload or download? This is important as RS232 is very much a physical layer protocol and does not have the notions of host and slave like TCP or USB do.

My question is - am I wrong?

4
  • Its simply a node is a server when clients connect to it. Any node can be a server.
    – Ramhound
    Nov 4, 2014 at 15:22
  • @Ramhound please see my edit :)
    – Gusdor
    Nov 4, 2014 at 15:26
  • "I prefer to use a concrete definition based on the question which way is the data flowing?" That's nice. What is your definition? Nov 4, 2014 at 15:59
  • Like your colleagues I am used to a hierarchical network. For peers on the network, there's always the word "transfer". The misuse of terminology seems to be an overall trend of dumbing-down of technology by end-users. Seems like an adapter can be called a "card" even though it doesn't look like a printed circuit board (PCB) at all. A connector is called a "slot" regardless of shape or purpose. Flash memory is "burned" even though there's no chemical reaction as with writing optical discs.
    – sawdust
    Nov 4, 2014 at 18:59

1 Answer 1

2

You are correct and your colleagues are wrong.

Download = Receive data; Upload = Send data

A server can download information from a client. E.g. when a user is uploading a file in a browser, the server is technically downloading the same file from the client's computer. Which party initiated the transaction doesn't count.


Addressing your edit:

In your case, data is going from the host to the device. Thus, for the device, it is downloading data: it starts with no data, and ends up having some data. The party who write the data to the device, is therefore, uploading data to it.


Edit 2:

A note on grammar: you can say data is downloaded to the device or data is uploaded to the device. Both are correct, since the phrase does not mention whose context is taken, it's natural just like data is transferred to the device. In the first person context, you always download from somewhere and upload to somewhere.

3
  • 2
    Note that kevin describes how 'upload' and 'download' are generally used now, but it was not this way in the past. Originally, the terms were used as the OP's colleagues state, but I haven't seen it used that way for at least 25 years, now. Nov 4, 2014 at 15:39
  • @ChrisInEdmonton 25 years ago was 1989, you sure it wasn't longer than that? ;) Nov 4, 2014 at 16:50
  • Well, I can confirm that I have heard upload/download referred that way in the 80s. It would probably have been unusual even then, though. Nov 4, 2014 at 18:32

Not the answer you're looking for? Browse other questions tagged .