Transferring files across the internet used to mean getting your hands dirty with FTP commands. Nowadays, its use cases have become rather more isolated, but they still exist.
FTP remains a fairly efficient protocol, and it probably has the edge in terms of speed for grabbing the latest ISO files from your favourite distro website. It's also still, in spite of WebDav, the primary mechanism for managing content on your web host.
A good, fully featured FTP client is therefore something to be desired. Among its key features might be wide support for protocols – as well as standard FTP, there's FTPS (FTP using SSL), SFTP (FTP tunnelled through SSH) and more exotic types, such as FSP (the largely historic File Service Protocol) and the eminently useful FXP (File Exchange Protocol).
Depending on your usage, other features might be desirable, too – keeping a website synchronised with a local copy is made dramatically easier with some sort of mirroring and diff functions, and then there's always the perennial problem of changing the file permissions. Would you want to edit remote files in place?
Not covered in this roundup are some clients that are too old, some that are proprietary and wouldn't cough up a copy to test, and some that wouldn't install (we're looking at you, IglooFTP). The standard FTP command-line client also won't be covered.
How we tested...
Testing in 'real' conditions doesn't test much other than the current state of your network connection, so all the speed testing was done on a Gigabit LAN to a local ProFTPD server.
The main speed test comprised sending over 300 files, containing 1.3GB of data in total. FTP is a very efficient mechanism for transporting large files, but transferring multiple files is a better test of the client's efficiency at initiating and completing the transactions.
The local machine running the client software was a 3GHz Core 2 Duo box running Fedora 13. The latest revision of Sun's Java and Firefox were also installed for the software requiring them.
You might think that open source should have sewn this one up already, but there's always room for a proprietary app if it offers something novel. This is the only client on test that supports the Amazon S3 transfer protocols – a very specific usage case, but if it's important to you, this is a bit of a no-brainer.
Downloading the install package leaves you with a folder full of stuff and a script to start up the application via Java – hardly inspiring, but a few disk accesses later you'll have a pleasant twin-panel pop-up.
The basic controls are simple, and you won't need to delve into the menus for normal transfers – drag and drop, or click the buttons. The area under the file listings is given over to the queue list, if you have one, and a logging window that shows what the server is telling you – handy for working out what's going on.
Opening up multiple connections creates a tabbed view, so you can switch quickly between directories. The easy-to-use queue management makes it possible to manage the demands of bulk transfers, and a scheduling system makes a reasonable stab at automating things for you.
If you're going for a file-syncing operation, there's a button right above the panel to take care of it for you. Occasionally, there seemed to be refresh problems with the remote directory listing where it didn't accurately reflect the directory we were connected to. This could be down to the version of Java we tested it with, though.
Most of the time the interface didn't have too much Java lag. Unfortunately, the performance of the client was poor – we need it to move files from A to B without too many Zzzzzs. Sadly, it does not.
Some great features, but does it have any excuse for being so slow?
The wxWidgets-powered interface follows the traditional twin-panel theme, this time with a hard-to-understand toolbar and a thankfully easy to understand Quick-connect feature perched above it.
Bookmarks are separated into two types, and can be quite confusing at the beginning. A global bookmark just stores path names, whereas a specific one also stores the server details (although unfortunately this failed to work more than once).
The global bookmarks are useful for dealing with a lot of mirror sites or different sections of the same site.
Queue handling is the best of any of the apps on test, in that you can see the queue, change priorities, remove files, and pause and resume transfers when you like without interfering with the rest of your session. The bottom tabs also keep a running log of any filed transfers and relevant information about them, including the ability to re-queue them.
Plenty of other useful features have been added, such as a pattern-matching remote search, which will root out files on a specified search path. Once you've found what you're after, you can perform actions such as viewing images or editing text files using your system's filetype associations, or with the tool of your choice if you delve into the settings.
Coupled with good protocol support and strong performance, the only real downer about FileZilla is the way it looks. We aren't just talking about ugly – some of the icons defy explanation. FileZilla might not do much for your desktop aesthetic, but it's a good tool to have on your side if you need to reliably transfer large volumes of data.
Great all-rounder for performance, but it's a shame about the looks.
We usually say that, by and large, browsers don't have the features to make FTP painless. Well, this is a sneaky exception designed to make us eat our words.
Utilising the plugin architecture of the Firefox browser, this cunning code conjures a client from the bowels of the browser and provides a reasonable facsimile of a desktop app. You still get the twin-panel view, though this time it's neatly enclosed in a Firefox tab.
The panels themselves include a useful tree view for navigating around local and remote directories, and between them are the idiot buttons for simple transfers.
In spite of it being an add-on, it's pretty easy to forget you're running a web browser and think that FireFTP is just like any other desktop app. The only thing that really gives it away is when you resize the window, which causes a clunky and drawn-out redraw process. Actually, that sounds a bit worse than it really is, but it's noticeable.
Moving on to the more advanced functionality, this client does support FXP, so you can use it to transfer files between remote sites. It also supports drag-and-drop operations, and more advanced file inspection – renaming, permissions and the like. There's a neat directory diff tool, too.
Installation is a doddle – just use Firefox to search for the plugin (this is also cross platform). An added bonus of being integrated into the browser is that your bookmarks and passwords get stored along with the rest of your browser data.
In terms of performance, it isn't the best client, but it's remarkably proficient considering it's just a plugin – definitely worth installing if you run Firefox, even if only as a backup client.
Overcomes its humble origins to deliver a great performance.
We should say that this client very nearly didn't make the cut, simply because it hasn't had a stable release since the end of 2008. However, it's one of the most widely used standalone clients, and boasts an impressive array of features.
The GTK interface adopts the standard two-panel design, and harks back to an era when utility was the watchword. This is no reason to criticise it – apart from anything else, it's intuitive to use.
The top toolbar accepts the salient information for any connection you wish to make, and then you just need to hit the Connect button. Transfer buttons between the panes make copying files almost foolproof (though you can also drag and drop), and right-clicking on any given files reveals a wealth of options and functionality.
There's an option to view a file, but be warned, this only seems to work for text files – trying it on a binary file caused a segfault.
gFTP also supports a surprising array of protocols, including FSP and SSH/SFTP, which makes it rather useful for accessing data on remote servers, rather than just downloads.
Bookmarks are supported, optionally saving passwords and remembering complete paths rather than just the server name. Handily, a large number of useful sites are already stored in the list, including lots for different distros and open source sites.
It should also be mentioned that the client can be used direct from the command line, where it's just as competent, but lacks some of the features of shell-only clients like NCFTP. It did well in the speed tests, but it lacks the modern helper tools we'd like.
It works, it's fast, but it doesn't offer much beyond the basics.