There once was a time (BB--Before Blogger) when every internet newbie had to learn about FTP.
After discovering the joys of Usenet, the WWW and email, a lot of people turned to FTP both to find new stuff and to upload content of their own. Finding out how to connect to an FTP server and mess with file permissions was all part of the internet newbie initiation.
These days, things are simpler and FTP seems to have dropped from the radar of most casual internet users, who rarely need to venture beyond a browser in order to build their own web content.
But (S)FTP still has a valuable place in the hearts of web builders and developers, and is still one of the most practical methods of getting files from one place to another in a secure manner.
FTP software has grown up in the meantime. Clients have matured, adopted support for more protocols, and added loads of useful new features. FTP is somewhat more sophisticated than it used to be.
There are several great FTP clients available for Mac OS X, so we thought it was about time we took a look at some of them. This is not a comparative review--there are too many clients, each with too many features, for us to be able to cover them all in one article. Consider this more a guided tour of what's available, with some pointers to a few famous sights along the way.
Interarchy adopts a Safari-style interface that will feel very comfortable for some users. The use of tabs makes it easy to manage multiple connections to multiple servers, and bookmarks have also been designed to operate in a very browser-like manner; anyone who has saved or used a bookmark in Safari will know exactly what is going on.
All of which might lead you to think that Interarchy is an application for newbies, but that's far from the case. Behind the simple UI is a very powerful and adaptable client.
New in version 8.0 (only recently released at the end of March) is support for more protocols (FTP/SSL-TLS, WebDAV), improved SSH security, and Action cogwheels in almost every imaginable place in the app. Whenever you have a file selected, you'll quickly be able to select an action for it.
Interarchy offers detailed Transfers and Transcript windows and an impressive selection of advanced networking tools, such as scheduled network host information requests, and built-in port scanning and traffic monitoring gadgets.
Version 8 is a Universal Binary and supports Bonjour connections, too. It comes with some useful AppleScripts and better yet (in my opinion), some Automator Actions for listing files on remote servers, uploading, and downloading.
Uniquely, this new release takes a radical new approach to setting up new connections. The New Connection dialog box is just like Automator, giving users the chance to select protocols and actions from a list on the left, and inserting the appropriate data into panels as required. I've not seen FTP done this way before, and it makes a nice change.
Interarchy manages to cram in a great deal of features, and is an application that will appeal most to serious network professionals and developers.
Ahh, Fetch. I have fond memories of using an ancient release of Fetch on a lime-green iMac back in the OS 9 days, and even then it had a reputation as one of those all-time-great Mac applications.
Fetch 5 is not the same all-dancing network management application as Interarchy. It is much simpler, much more focused on the most important thing: transferring files from one place to another. And it works well. Fast, easy to understand and to use, Fetch does the job.
The toolbar is an exercise in clarity and the large status pane at the bottom of each window keeps you informed of what's going on. Like many other apps we're looking at here, Fetch only displays files on the remote server. To see your own files, you need to open a Finder window. Not that this is a problem. Indeed, for most Mac users accustomed to working with multiple Finder windows, it makes perfect sense.
There's a lack of some of the smarter UI extras found elsewhere: no tabs, for example. But some people prefer things that way.
Fetch might be limited to the basics, but it does them well and it does them right. With Fetch, you can choose to edit image files on the remote server, as well as text files. It can automatically compress uploaded files (very handy for backups) and decompress archives coming the other way.
Cyberduck, like Fetch, is an example of great software that Just Works. This frequently updated app has the added bonus of being open source and free, too (although the developer welcomes donations).
Bookmarks are handled with a simple drawer; drag files on to any one of them to start an upload. Multiple connections are easy to handle by simply opening a new browser window. There are no tabs, there's no image editing support, and there's only two possible views of your files (outline and list--no icon or column views), but none of that is really a big deal, because Cyberduck is a great little client.
Cyberduck is AppleScriptable, and a selection of scripts is available for download.
While several of the other apps under discussion in this article support synchronization, Cyberduck's implementation of it is particularly nice. Files can be mirrored in any direction or properly synced--and you can check a preview of any file you like before the process starts, just to be sure you won't be losing any data.
There's also Growl support, a Quicksilver module, and a colorful Dashboard widget for quick uploads on the hoof. All in all, plenty of features and nicely implemented.
Fugu offers something a little different, partly because it's exactly an FTP client like all the others, and partly because of a different approach to interface.
Fugu displays the two-pane approach, showing you both your local files on the left and those on the remote server on the right. It's simple enough to get your head around the Toolbar controls.
But most importantly, Fugu does not do FTP. At least, not plain old FTP. It's more accurately described on the product website as "a graphical front end to the command-line Secure File Transfer application." You could open Terminal and use SFTP from there; Fugu just offers a simpler way of running the same software.
It also allows you to perform Secure Copy transfers (connect just as you would to use SFTP, and additionally specify file(s) to copy).
And there's one more trick up its sleeve: with Fugu, you can quickly create an SSH tunnel (to a server that supports it, where you have an account), and subsequently transfer files over plain old FTP through that tunnel. You'd still have to use a separate FTP client, though.
Since SFTP is increasingly a standard offering from reputable web hosts, that might sound like an overcomplicated way of doing things, but it might be useful for some.
One neat touch is the addition of support for directory uploading, something not natively available in SFTP. There's still no support for directory downloading, though, which Fugu will try and overcome by using SCP instead.
Fugu feels a little slower than some of the other clients, but unless your every working moment depends on super-fast FTP connections, that's not going to be a problem for anyone.
It's free, open source, and updates are regular. The recent 1.2 release was a Universal Binary, confirming Fugu's future on the Intel architecture. If your FTP activity is only ever going to need connections to SFTP-only servers, Fugu is an excellent choice of client.
Captain FTP also stands out from the crowd, because of its unusual interface.
It's a Cocoa app but you might not think that when you first open it up. The toolbar, for example, is set to show only text by default, a very unusual choice on the part of the developer.
Like Fugu, it uses the two-pane approach, making side-by-side navigation of the local and remote filesystems nice and simple.
What takes some getting used to are the buttons and controls underneath the file listing:
I only grokked the meaning of one of these (Refresh) by resorting to the tooltips and program documentation to find out their purpose. There's a learning curve here, not to understand the features, merely get used to the interface. it turns out that if you
Control-click on any of these buttons, you can customize it to a function of your choice.
But if you do take the time to get used to the interface, Captain FTP isn't a bad little client. I found it quite speedy.
The feature I liked most was the concept of virtual folders, which is an excellent way of adding or updating files on servers you access frequently. It works like this: having connected to a server, you choose a directory on it and click the Virtual Folder command. This creates a new folder on your Mac, which is uniquely tied to the remote one you just selected. Any files saved in your virtual folder, or simply dragged on top of it, will be uploaded automatically.
At the bottom of each window is a Working Directory line, showing you where you are locally and remotely. You wouldn't guess it by looking at it, but this line is editable, making it a convenient way of jumping from place to place among filesystems.
Captain FTP might not make a good first impression; I didn't like it to begin with. But there are nice features on offer which make it worth a little patience.
Two words jump into mind when using Transmit: slick and friendly. It has an added sense of fun that you simply don't see anywhere else (except, perhaps, for Fetch's little running dog cursor).
Panic Inc.'s application is just bursting with features, and is a pleasure to use. It allows you to edit remote files with any local application, talks Spotlight-speak, has a smart little Dashboard widget, and comes with useful Automator actions and optional AppleScripts (.zip file).
Transmit also offers tabs, but by far the nicest bunch of tabs yet. Each FTP connection is clearly separated from the others, yet easy to get to. Like many other clients under the spotlight here, it now supports .Mac accounts, WebDAV, and FTP-SSL/TLS, and it can seek out FTP servers elsewhere on your network using Bonjour.
Transmit's droplets are a very nice touch. Any of your favorites can be edited and saved as an icon; drag any files on it, and they'll be uploaded. Similar functionality can be enabled with the Transmit Dock icon. As with Captain FTP's virtual folders, this is incredibly useful for frequently changed files, although Transmit's implementation is fractionally easier to set up.
FTP clients, like many things in this world, will all do a broadly similar range of tasks equally well. Some of them may have extra widgets (or Widgets) that others lack, and some may do certain advanced tasks that their contemporaries won't. But on the whole, you could use any of the apps we've covered here and not have any complaints.
And we've only mentioned a fraction of what's available; there are plenty more clients you could try.
If you're a student, or work in an organization where keeping costs down matters, your obvious choices are going to be Fugu and Cyberduck. By contrast, if you're a web professional who spends a lot of time using FTP, the most feature-rich clients are going to have the greatest appeal--Interarchy or Transmit.
Giles Turnbull is a freelance writer and editor. He has been writing on and about the Internet since 1997. He has a web site at http://gilest.org.
Return to the Mac DevCenter
Copyright © 2009 O'Reilly Media, Inc.