Fetch 5.0.5, by Fetch Softworks
Posted: 21-Jul-2006

4 1/2 out of 5 Mice

Vendor: Fetch Softworks Type: SHAREWARE

Reviewer: T. K. Larson Class: INTERNET
$25   Download

Fetch is a Macintosh program for transferring electronic files between computers connected via a network, such as the Internet or your home network. Fetch uses File Transfer Protocol (FTP) or SSH File Transfer Protocol (SFTP) to accomplish the transfer. Fetch makes it easy to move files between your Macintosh (client) and server (host) machines including Macintosh, UNIX, Windows, NetWare, or other sorts of computers, as well as specialized equipment including medical imaging machines, image editing systems, and photo processing equipment. Fetch can also be used to publish a website at a web hosting provider, publish images for eBay auction listings, transfer documents to a printing company or service bureau, submit advertisements to a newspapers and magazines, and so on. Fetch is amazingly easy to use and comes configured "out of the box" in a manner that works well.

Jim Matthews is one of the original authors of Fetch. From the Fetch manual FAQ, apparently Jim appeared on Regis Philbin"s "Who Wants To Be A Millionaire" TV show and did well. His good fortune made it possible for Jim to license the Fetch software from Dartmouth College, create Fetch Softworks, and commercialize the code.

A single user license for Fetch 5 is $25. Upgrades from Fetch 4 are as follows:

  • Fetch 4 license purchased between 01/01/01 and 03/09/05 upgradeable for $15.00
  • Fetch 4 license purchased after 03/09/05 is upgradeable for FREE

Requirements for Fetch 5

  • Mac OS 10.2.4 or better (including Tiger)
  • G3, G4, or G5 processor (now available, Fetch 5.1 is a Universal Binary that will run on the new Intel based Macs)

This review is for Fetch 5.0.5 running on a Dual 2.7 GHz G5 (OS 10.4.6), a 1.67 GHz G4 AlBook (OS 10.4.6), and a 667 MHz G4 TiBook (OS 10.3.9)

Installation is a breeze. Fetch is easily downloaded from
http://fetchsoftworks.com/ as a disk image file (e.g. "Fetch_5.0.5.dmg"). After the dmg file has finished downloading to your desktop (or wherever you choose to download), double click the disk image file to mount it. You will see the following:

Fetch Installer folder

In true Macintosh "drag and drop" style, simply drag the Fetch application to a preferred directory on your hard disk (e.g. Applications folder) to install it. Drag the "Read Me" file as well as it contains some useful (though not critical) information. That is all there is to it. One may use the software for a free 15 day trial period before purchasing a serial number.

The html help built into the application (uses Help Viewer) is quite extensive. A comprehensive manual (300+ pages) can be downloaded from
http://fetchsoftworks.com/FetchHelp.pdf for those interested in details.

In Use
Fetch has been around since about 1989. It was always easy to use, and the good news is, it still is. One of the Fetch trademarks that was always endearing was the application icon - the brown dog with a floppy disk in his/her mouth (see above). Needless to say, I was relieved that the venerable icon is still there (with better resolution). When Fetch is transfering files, the dog goes into action (animated as running to the left or to the right depending upon whether you are downloading or uploading).

When you first start up Fetch, by default, it displays the "New Connection" dialog (with lower pane expanded) shown below. In order to connect to a host server with which you wish to exchange files, one has to provide a minimal amount of information. Connection to an anonymous FTP server requires only the anonymous FTP server name (or IP address) as Fetch will provide "anonymous" as the username as well as a default password (typically blank or your email address) and the transfer type will default to FTP. If you wish to connect to some other server on which you have an account, you must provide the host name (or IP address) and, most likely, a username and password as well as specify the connection type.

With respect to connection types, Fetch 5 provides for both nonsecure and secure connection types. The nonsecure connection is vanilla FTP (no security, data and passwords are sent in the clear). Secure connection types include SFTP (SSH File Transfer Protocol), FTP with KClient (KClient interface to Kerberos V4), and FTP with GSSAPI (Generic Security Service API interface to Kerberos V5). Note that for SFTP, encryption is enabled by default and can not be turned off - passwords and data are always encrypted. For the Kerboros based secure connections, encryption can be turned off but passwords are still encrypted. Obviously the server has to be running these protocols in order for you to connect using them. FTP is common, SFTP is reasonably common while the Kerboros based connections are less common (and require Kerboros configuration files/certificates on your Mac for operation). Most likely, you will connect using FTP or SFTP - SFTP is preferred because of the secure nature of the connection but not all servers support it.

In the connection dialog below a hostname (nimbus01.inel.gov), username (tkl), connection type (SFTP), and password for user "tkl" have been entered. At this point, one could check the "Add to keychain" box to store the password in the Mac keychain so that the password does not have to be entered the next time a connection to this server is desired. As an added measure of security, I chose not to store the password even though I am the sole user of the client machine in this case. For reference, the host nimbus01 is one node of a cluster running SUSE Linux.

Fetch New Connection Dialog (lower pane expanded)

Before selecting the "Connect" button to actually connect to the host, there are a few settings that help streamline the connection process the next time you wish to communicate with this host. First, if you wish to go to a particular folder/directory in the server file system hierarchy, you can enter this folder/directory in the "Initial folder" field ("Ale3dForMac/" in the figure above). If you leave this field blank, Fetch will default to the root level of your account on the host file system. Second, the "Port" field is provided to accommodate nonstandard host configurations. On standard setups, FTP and SFTP typically run on ports 21 and 22, respectively and Fetch defaults to these ports. Most likely, you can leave this field blank. However, if you have difficulty connecting, checking with the server admin will quickly determine if it is a port number issue. Third, the heart button to the far right of the Hostname field is the "Shortcut" button. The Shortcut button is exactly what it sounds like - clicking on this button allows one to save the parameters currently entered in the "New Connection" dialog for later use. In other words, if you save this connection as a short cut, your next connection to this host will require only a single mouse click from the Shortcut dropdown menu (provided you have added your password to the keychain, otherwise you will need to manually enter a password). The Shortcut button also provides access to previously defined shortcuts. Finally, the clock button to the immediate right of the Hostname field contains a dropdown menu of recent connections you have made. Selecting one of the recent connection entries allows rapid reconnection to that host.

Once you have made the selections described above, selecting the "Connect" button will connect you to the "Initial folder" specified on the desired server and a familiar Finder-like view into the "Initial folder" on the host will appear as shown below.

Fetch View Into the Server Folder Specified On Connect

A few words about this window. The padlock on the right hand side indicates that the connection is secure (in this case SFTP). For an FTP connection, there is no padlock. As Mac users would expect, the column widths can be adjusted to suit your viewing preferences by simply mousing on and sliding the column dividers. While I found the default toolbar at the top of the window to be adequate, the tool bar can be customized by selecting the "View/Customize Toolbar..." from the application menubar and then drag-adding or drag-deleting tools. You can highlight a folder in this window and double click to open the folder in the same window. While each tool functionality is mostly obvious, a nice touch to the user interface is the fact that each of the tool icons is "hot" - holding the cursor on them for a few seconds causes display of a popup explanatory message.

New in Fetch 5 is the toolbar icon at the top of the directory listing window. It provides easy access to common FTP functions that previously could only be accessed via Fetch menus. The toolbar includes the following:

  • "Back" takes you up one level in the server file hierarchy.
  • "Path" displays the path to the current directory and allows you to select any element in the path.
  • "Recent" displays and allows you to see and select recent folders you have visited.
  • "Get," (greyed out unless something is selected in the window) allows you to download the selected items to your local machine.
  • "Put" uploads files or folders from the client to the server (you will be prompted to navigate to the items to be uploaded from your local machine).
  • "View" and "Edit" tools allow you to view and edit the selected file (as long as the selected item is viewable/editable). The default editors to use for text files (e.g. BBEdit or TextEdit) or graphics images (e.g. GraphicConverter) are setable in the Fetch application preferences.
  • "Get Info" displays useful information for the selected file/folder on the server. The dialog that displays the information can also be edited, and those changes are immediately saved to the server (e.g., this is a very easy way to rename a file or set file protections).
  • "New Folder" creates a new folder/directory on the server, prompting you to name the folder in the process.
  • "Refresh" updates the file list to match the current state of the server. Typically, you don't need to do this after an upload, as Fetch automatically does a refresh. There are instances, however, where you"ll want to do a refresh to get an accurate view. For instance, if you rename a file to the same name as an existing file, Fetch actually overwrites the existing file, and the view contains the duplicate file listing (a refresh removes one of the files). If you have multiple connections to the server (aka, multiple windows showing the file list), updates to one window are not automatically update in another, so a refresh is needed. There are a number of actions that can be taking place on the server from other sources as well, so when seeing the latest listing is critical, use the refresh button.
  • "Delete" allows you to delete the selected file or folder(s), and provides a confirmation dialog to ensure you really want to do the deletion.

There are several ways to move files between your client machine and the host you are connected to or, in other words, download ("Get") files from or upload ("Put") files to the server. The easiest is to just select and then drag and drop. For example, if one wished to transfer the Gzipped tar archive "mac_tests_with_results.tar.gz" in the server window above to your client desktop (or other folder), simply highlight the file and drag it to your desktop (or other folder) on your Mac. The figure below illustrates this process where the Gzipped tar archive was dragged and dropped to the desktop on the client Mac. Transfer progress is shown in the lower part of the window indicating that about 86 MB of the 304 MB file had been transfered, the average transfer rate was 8.6MB/s, and that 26 seconds (approximately) remained to complete the transfer. The cursor changes to a galloping dog icon to indicate a transfer is in progress (cursor is not in screenshot below, but it is shown in the following screenshot).

Fetch "Get" File via Drag and Drop From the Host Window to the Client Desktop

The figure below shows a transfer of the same file by selecting the "Get" button after highlighting the file on the server. Where does the file go? When you use the "Get" tool, the download location defaults to the client Desktop unless you change this default setting via the Fetch Preferences.

Fetch "Get" File via The Get Button or (Get from the Menu)

Moving files from your client Mac to the host is accomplished in the similar manner. Select the file on your Mac, and then drag and drop the file from your Mac onto the server, or select the "Put" tool and navigate your directory structure to the file you wish to upload. As mentioned earlier, the "running dog" icon reverses direction to indicate an upload versus a download. This attention to detail is indicative of a very polished product.

Fetch Menubar
The processes effected from the connect window tool bar can also be started from the Fetch application menubar shown below.

From the Fetch menu you may view the "About Fetch" panel, check for updates, view and change preferences, hide Fetch, quit Fetch, etc. The "File" menu is Macintosh standard, allowing you to open a new server connection, view and select recent server connections, open/close windows, save shortcuts, do page setup and print. Likewise, the "Edit" menu contains expected options such as redo, cut, copy, paste, select, and search. The "View" menu, as mentioned above allow one to customize the connection window toolbar and set window font type and size. The "Remote" menu allows you another approach to effecting the connection window tool commands (such as "Get", "Put," etc.) as well as manually set the format/mode (e.g. binary, text, automatic) of the file(s) to be transferred. In my use, I found it unnecessary to use anything other than "automatic" (the default) as Fetch was perfectly capable of determining the file type and setting transfer properties to ensure uncorrupted file transfer. In older versions of Fetch, this was not always the case and, on occasion, experimentation with the file format/mode setting was necessary to get successful uncorrupted file transfers.

The "Remote" menu contains a "Mirror" item that allows you to set up mirrored folders between the server and client or vice versa. For example, if you keep all the files that make up a website in a folder on your Macintosh, you can use the Mirror window to quickly upload only the files that are new or have changed since your last update, instead of using "Put" or "Get" upload/download the entire site again. The mirror settings can be saved in order to make uploading the website changes a one-click process. Also in the "Remote" menu is a "View Verbose File List" item. Selecting this command opens a new window and presents a file listing of the host directory in the topmost connection window using the Unix "ls -al" command. This listing shows all files (including files that may be hidden (e.g. start with a . prefix)), read, write, and execute privileges for each of the files, file ownership, file size etc. Quite informative for the Unix inclined.

The "Go" menu contains a cache of the folders on the server that you have recently visited as well as commands (e.g. "Back," "Home," "Go to folder," etc.) to easily move around the host file system. Selecting an item in the cache causes that folder contents to be displayed in the connection window. While this is handy, you can do the same thing from the connection window toolbar.

The "Shortcut" menu serves functionality similar to the shortcut button on the new connection window. The user may show a window listing the currently defined shortcuts, select an existing shortcut for connection, select and edit an existing shortcut, or start a new collection of shortcuts.

The "Window" menu contains the standard items for navigating around the currently open Fetch windows on your client machine as well as opening a "Fetch Transcript" window. The transcript window is convenient if you wish to see what really happened "under the hood" as you executed various Fetch commands. The transcript takes the form of a Unix terminal window showing the various Unix commands that were implemented along with informative messages much like you would see during a command line FTP or SFTP session.

The "Help" menu allows you to access the Fetch Help via Apples Help Viewer. The Help menu is context sensitive in that depending on what Fetch windows you have open, additional help items will be available. For example, if you have the Fetch Preferences window open, "Preferences Help" will be available in addition to the "Fetch Help" item.

Fetch Preferences
Let it suffice to say that Fetch has a multitude of preferences that the user can set if necessary or desired. I found that the default settings were quite adequate. The only setting I altered was the default download location (from Desktop to my download folder).

Fetch Preferences

If you are going to use Fetch on a frequent basis, there are some minor alterations that make the process easier. For instance, instead of prompting for a New Connection when you start Fetch, you can instead have Fetch display a list of shortcuts you've previously set up to various different servers. That one, instead of typing in the connection information each time, you just double-click the shortcut you want, and the connection automatically opens. You can also set a notification sound (the "Bark" sound is very appropriate for Fetch) to play whenever a background action completes (this way you know when a long file transfer has completed).

If you intend to use Fetch with a proxy server or firewall, you may need to adjust the Proxy and Security settings. Check with your network administrator in this regard. I did not experiment with Proxy settings as I don't have to deal with a Proxy server.

Fetch is convenient, intuitive, and easy to use right out of the box. One question remains: How efficient are file transfers with Fetch? I ran some comparison tests on FTP clients with similar capabilities (e.g. Cyberduck, Transmit). I used to use Fetch years ago when it was a free product, but then switched to other products after Fetch went commercial. That said, I have to admit that I was mostly disenchanted with the performance of these other utilities. While they worked fine, the file transfer speeds were typically less (by a factor of 2 to 4) than I expected them to be (knowing the networks speed). I am using "scp" as the baseline for my benchmark tests. "scp," though a bit cumbersome to use, is freely available on Mac OS 10 systems, is secure (uses SSH for transfer), and is optimized to provide efficient file transfer speeds; hence, "scp" offers a good secure performance standard.

To test Fetch performance, I used it for about a month on the various machines listed above in various network arrangements, including my home network (wired and wireless arrangements), my workplace network (under wired and wireless arrangements), and while on travel using visitor wireless broadband connections and VPN to connect to home-based and work-based machines. Overall, Fetch performed like a champ under all these circumstances, and approached "scp" performance for the most part.

The specific test involved transfer of a 180 MB (more precisely 188,114,544 bytes) test file between a dual 2.7 GHz G5 client and a Linux host. The test file was a hydro code (LS-DYNA) binary dump file. The G5 client is connected to the network via a Gigabit fiber connection. For these tests, the host was essentially idle. Each particular test was run several times and the results averaged. Average transfer rate results are:

Host to Client

Test 1 (Fetch download) - 8.97 MB/s
Test 2 (Cyberduck 2.5.5 download) - 1.78 MB/s
Test 3 (Fetch download) - 8.73 MB/s
Test 3 (scp, host to client) - 10.44 MB/s (lots of user applications open/running on the client)
Test 4 (scp, host to client) - 10.63 MB/s (no user applications open/running on the client)
Test 5 (sftp, host to client) - 10.12 MB/s (no user applications open/running on the client)

Client to Host

Test 1 (Fetch upload) - 6.9 MB/s
Test 2 (Cyberduck 2.5.5 upload) - 1.45 MB/s
Test 3 (Fetch upload) - 6.38 MB/s
Test 4 (scp, client to host) - 6.8 MB/s (lots of user applications open/running on the client)
Test 5 (scp, client to host) - 7.1 MB/s (no user applications open/running on the client)
Test 6 (sftp, client to host) - 7.53 MB/s (no user applications open/running on the client)

I would be the first to admit that these tests could be more scientific and more rigorous, but the overall picture is clear. Fetch transfer rates approach those attainable with either "scp" or "sftp." This is good enough for me. Note that Fetch (and "scp" or "sftp") results are a factor of 4 higher than Cyberduck. Don't get me wrong, I like Cyberduck for general use, but it doesn't cut it when you need to move GB hydro code files around your network! No amount of fiddling with Cyberduck preferences has produced any improvement. Fetch just works!

You may question why the transfer rates are of order 10 MB/s when I indicated above that the client had a GB network connection. The explanation (or at least part of it) is that the host and client in this case are on two different networks that cross communicate via a 100 Mbps (hence 12.5 MB/s bottleneck) connection. Thus it would appear that Fetch is utilizing a significant percentage of the bandwidth available.

As mentioned earlier, Fetch has been around for a long time, but its development has not sat idle. Fetch has continued to evolve, adding new and more powerful features, and improving it's overall interface. In the previous paragraphs, I discussed the excellent performance of Fetch file transfers, but there are others who may not have the demand on speed, but want an easy to use client with all the features that they need. Fetch does not provide side-by-side Finder views for both the host and client file systems. This might seem like a missing feature to some, but I can live without it (and adding the feature could possibly muddle with the intuitive nature of the software). Fetch packs a lot of power into its client, and the interface is polished and very easy to use. From it's Finder-style file list window that supports drag and drop, to its attention to detail in interface behavior, such as the bi-directional running dog and the quick-access toolbar, Fetch sports a mature and intuitive interface that is above the rest.

Fetch 5.0.5 is a full-featured Macintosh FTP client for transferring electronic files between computers connected via a network, such as the Internet or your home network. Fetch is easy to install, simple to use, and for power users, highly configurable. The user interface is intuitive and very Mac-savvy. Transfer tasks can be accomplished via several approaches, including drag and drop, tool bar commands, or application menu commands. Fetch uses nonsecure File Transfer Protocol (FTP) or secure SSH File Transfer Protocol (SFTP) to accomplish file transfers. In my experiments, Fetch average download and upload transfer rates approached those achievable with the Unix command line secure copy ("scp") utility which I believe to be nearly optimum for any particular network environment. For general questions, the on-line help is excellent; for details, a downloadable complete manual is available in PDF format. For those who rarely access FTP servers, you may be better off with one of the available free FTP clients. On the other hand, the Fetch single user license cost is very reasonable, and the application dog icon and running dog cursors are priceless. Fetch 5 is a powerful, mature and easy to use FTP client with a lot of personality, and I highly recommend it for all classes of Mac users.


  • Fifteen day trial period before purchase, upgrade path, and license cost very reasonable
  • Fast transfer speed comparable to Unix secure copy (scp) utility
  • Intuitive user interface
  • Transcript panel shows progress for upload/download
  • Good help in Help Viewer plus 300+ page manual in pdf format available for download
  • Galloping pooch cursor/icon gives the client personality


  • File views not updated after some actions
  • No local system file system display "Finder" panel
  • Occasional FTP users may be better off with a free FTP client

Overall Rating:

4 1/2 out of 5 Mice