• Embedded. TFTP and regular FTP have reasonable high-quality libraries for all kinds of microcontrollers. HTTP doesn't have a standardized directory browsing mode, and rsync/bt/sftp/… aren't available for those µcs.
• File uploading with easily set up sandboxing and virtual accounts. We could use something else here, but so far it was cheaper to keep FTP running than to set up SFTP that a) doesn't require system-wide accounts (couldn't do that because of username clashes), and b) is sandboxed out of the box without me having to double- and triple-check there's no weird corner case where you can get out. And not-(S)FTP solutions seem to lack good, reliable, easy to use desktop clients. We're dealing with tens of thousands of files and dozens of gigabytes here that need to be shared with non-technical users, and work outside VPNs, so CIFS and most hipster startup crap doesn't really cut it.
I don't think the embedded situation is going to change any time soon, but I'd really appreciate a less painful SFTP solution for the latter case.
I am with you that there are other solutions, but they are not easy to use for enterprise customers and that is where FTP still thrives. Rsync? Sysadmins maybe know this, but your marketing guy? BitTorrent? That's for illegal stuff and it is blocked on our company network.
You want to send a client (e.g. a newspaper) all your fancy videos and graphics (remember you are the marketing guy) to publish somewhere. The videos are of course 4GB per file.
What is the easiest way to share these files you have sitting in your "Marketing Campaign 2016" folder? Ask your IT department (just going by your suggestions): - HTTP? Our server cannot handle file transfers larger than 2GB and times out after that. Also most clients don't have resuming capabilities. And don't even start with public file sharers our data is private. - BitTorrent? Is blocked on our network. Also the client told us it is blocked by their ISP - rsync? What is that? I'm a windows guy. Also I doubt that the newspaper will know what to do with some weird command line commands...
Just set up a quick FTP server (or use the existing one) and send the link to the client. Everything works. Resuming. Large downloads. Easy to use. Reliable. "Known" interface as the client just sees folders and files. Many clients available or just the web browser.
I am not surprised at all that FTP is not dying, I myself have often advised customers to "just use FTP" instead of whipping up a custom solution. It just works. The cost is low, the benefit high.
Sadly there currently is no run of the mill solution to replace FTP that "just works" for the average joe.
SFTP does everything FTP does, works in every FTP client I've seen this decade, and is even supported by some FTP servers if you need virtual users.
Meanwhile, SFTP does not work with browsers and file managers (unlike FTP[S]), so FTPS works "out of the box" unlike SFTP.
And if you can install an FTP server, you can probably drop Mongoose[1] into the directory that has the files (it's a single binary) and double-click it. There are no more steps, it's already serving those files on port 8080.
As for "FTP just works" - the same way IE6 used to "just work": there are a lot of hacks happening under the hood, along the whole network path, to keep FTP from breaking (don't get me started on FTP and firewalls).
Command line? You mean "press Win, type cmd, Enter, type ftp, Enter." Right? Are you saying there are GUI tools to do that? This changes EEEVERYTHING! (What makes you think FTP is the only protocol with GUI tools? Is it 2000 yet?)
In other words, user-friendly solutions exist. But (and this is the elephant in the room) they are not quite as convenient for your local IT guy as shrugging it off with "just dump it on this unsecured clunker like it's 1995".
The world changes slow in some areas, especially slow in the enterprise world. That is the world FTP thrives (plus your average joe we hosted).
Mac has SFTP support built in, as does Linux - no issues there.
Every time I hire a company to do Wordpress development on Heroku, one of the first questions is always "yes, we understand that you want to use Heroku, but can you give us the FTP password please?"
I need to publish a publicly available, read-only directory. Users can browse the directory structure, downloads shouldn't require exotic tools, client software ideally exists in a base system install, and recursive downloads should be easy.
If you have a better idea, I'm all ears.
1. Publicly available, with the link.
2. Immutable data, by definition is read-only.
3. Users can easily view the root directory and every file enclosed
4. Uses nothing more than a web browser, with no addons. Right now, it does greatly speed up if you use the peer software.
http://ipfs.io - Interplanetary File System.It does everything you asked for. The current way the network works well for people who don't run the client is that ipfs.io is running an IPFS->web gateway, where you go to http://ipfs.io/ipfs/[hash]
For example, I'm preparing to go to a 3d printing convention where the bandwidth is very limited. So I'm hosting a slew of 3d printer files. If you are running the peer software, click the localhost link.
http://127.0.0.1:8080/ipfs/QmRBWNHKvz4AmTGN4QyJ4bQMd4fb5vfTd...
http://ipfs.io/ipfs/QmRBWNHKvz4AmTGN4QyJ4bQMd4fb5vfTdacjkb6P...
So yes, there is a potential download of some software. What does that get you? It allows you to download at the full speed of the network (bittorrent based) and uses DHT for finding local peers. You can also add files in the network, and share by simply copy/pasting the link to whom you want to have the files. Interestingly, it indeed solves this: https://xkcd.com/949/
Ideally, the IPFS team is working on a javascript-only IPFS node, where the webpage itself is self-hosting the IPFS gateway. That would also free up phone clients and more exotic tyes of computers with only browser support.
I'm not sure why there aren't more hosts who support SCP/SFTP but the vast majority of web hosts seem to only offer FTP access and that's what less technical users (e.g. non-developer Wordpress admins) have come to expect.