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
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.
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
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:
takes you up one level in the server file hierarchy.
displays the path to the current directory and allows you to select any element in
displays and allows you to see and select recent folders you have visited.
(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).
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
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.
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
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.
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.
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
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
Test 5 (sftp, host to client) - 10.12 MB/s (no user applications open/running on
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
Test 5 (scp, client to host) - 7.1 MB/s (no user applications open/running on the
Test 6 (sftp, client to host) - 7.53 MB/s (no user applications open/running on the
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
4 1/2 out of 5 Mice