By Jove, you're right! Perhaps what we need is some kind of universal protocol for transferring files. We could call it the 'File Transfer Protocol' or something.
As it turns out, the protocol for actually transferring the files is utterly irrelevant compared to the protocol for getting updates, keeping various local stores synchronized, retaining versions, managing conflicts, handling client-side bugs and surprises, etc.
It's a good point I suppose. I've never had a need or urge to use a service like Dropbox to keep files in sync though. I prefer just to carry my working copies around, or use Google Docs. Maybe I'm missing out on seamless splendour, I don't know.
> "Maybe I'm missing out on seamless splendour, I don't know."
I'd say that yes, you are (no snark intended). Dropbox is one of those things that you didn't really know you needed until you've used it for a while. It crept up on me and became indispensable for pretty much every collaborative project I've worked on.
Yes, file synchronization is really the hard part from an architecture POV.
From everything I've seen so far, Git appears to provide the best solution. It is rather complex though, and it's a big challenge to build an intuitive user experience on top of this that shields non-technical users from a lot of the complexities.
What happened to FTP anyway? I know there were a number of issues with it (security, working through NAT, lack of a standard directory listing format etc); but these were all problems that people managed to solve in different ways.
It just goes to show how far how our industry is willing to embrace change for the sake of change (with the results sometimes being inferior) every time a new buzzord appears. I reckon a modernised version of FTP would do the job pretty well.
What I'm mainly concerned with at the moment is building something that recognises a widely-adopted protocol is going to be very difficult politically to achieve (and get implemented), but a library which abstracts over the different protocols would relieve most of the pain.
People didn't "solve" those problems so much as hack their way around them in a wide variety of ways with no standardization, that is the problem. Having to occasionally support customers that need FTP servers, I can tell you that it is a never-ending nightmare of incompatible clients, server settings that must be set differently depending on customer requirements just because of issues with FTP, and firewall problems (on the customers side, though it also creates hassles on our end).
It's too hard to set-up for casual file sharing (backup, docs, photos etc.), and it's less efficient and scalable than BitTorrent for wide file distribution (piracy).
Perhaps with HTTP 2.0 and IPv6 looming though, we will see some progress on an FTP 2.0 that resolves the issues you mentioned.