Replacing a bit of Transmit

Has it really been only two years since Panic announced the end of development for Transmit iOS? I guess it seems longer because the eventual death of Transmit has been weighing on my mind ever since.

Transmit still works, but it fits into the system less comfortably with each iOS update. And no true replacements for it have sprung up, which I guess confirms the logic of Panic’s decision to stop development.

It’s not as though there are no other SFTP apps for iOS.1 But they aren’t as easy to configure and they don’t provide the niceties that Transmit does. I suppose if they did, their developers would have run into the cost/benefit wall that Transmit did.

And when I talk about Transmit’s niceties, I’m not talking about its visual design. Transmit is a good-looking app, to be sure, but what makes it stand out—still—is how well it understands what the users of an SFTP app need to do. For example, one of my favorite features is that it knows how to handle different ways of addressing a file on a server. The Copy Path command gives you the standard Unix-style path to the file, and Copy URL translates that to your particular server configuration and also URL-encodes it.

Transmit Copy Path or URL

You want the former if you’re doing some internal manipulation but the latter if you’re going to embed a link to that file in a web page. Having both at your fingertips is the kind of thoughtful detail that makes an app not merely useable but useful.

Secure Shellfish, the latest app to try to replace Transmit on my devices, provides no such affordances. You can long-press on a file to get at its name (clumsily, and without the file extension) via the Rename feature, but there’s nothing in the popup menu that lets you do what’s so easy to do in Transmit.2

So if I want to use Shellfish—and I may be forced to use when iOS 14 rolls around3—I have to fill in the gap with Shortcuts. Luckily, it’s pretty simple, at least for my most common use of Transmit’s Copy URL command, which is getting the URL of an image file on the web server so I can include it in a blog post.

Here’s a shortcut meant to be called from the Share Sheet within Files while Shellfish is the active file provider:

StepActionComment
0 Shellfish Image URL Step 00 This is only for images.
1 Shellfish Image URL Step 01 Assemble the URL. The Shortcut Input appears twice in this text but with different properties selected each time. First we extract the file name, then the file extension.
2 Shellfish Image URL Step 02 Encode spaces and special characters that might be in the image name.
3 Shellfish Image URL Step 03 Put it on the clipboard for later pasting.

It was easy to write because I save images to a particular folder (a new folder each year) on the server. That means most of the URL is given, and only the filename (with extension) has to be extracted. Shortcuts has a means of doing that and it knows how to encode the constructed URL before putting it on the clipboard.4 With this, I have a limited version of Transmit’s Copy URL.

Secure Shellfish is free to download, but the full app requires a $10 in-app purchase, which is what I paid for Transmit. This also confirms Panic’s decision, because it now requires both $10 and the unpaid services of an amateur programmer to get a limited version of the Transmit’s functionality.

Update Feb 3, 2020 7:18 AM
Reader Simon Gredal sent me an important correction last night.

When you configure a server in Secure Shellfish, you’re given an opportunity to set an initial directory (which I’ve obscured in the screenshot below) and to associate a website URL fragment with that directory.

Shellfish configuration

This is very much like the system Transmit uses. I just missed it entirely when configuring Shellfish to connect to my web host.

With this configuration set, if you long-press on an item accessed via Shellfish in Files, a menu pops up.

Shellfish long-press menu

Selecting Share from this menu gives me access to my Shellfish Image URL shortcut. But selecting Manage brings up this window:

Shellfish Manage window

Here we see the encoded URL for the file. Tapping the Share icon next to it brings up the Share Sheet, from which I can choose Copy to put the URL on the clipboard.

This is one step more than using my shortcut, but it is possible, and it’s more flexible than my shortcut because it works for any type of file. So although it takes more tapping to get at, Shellfish does provide the affordance I wanted.

My apologies to the Shellfish folks for missing this feature in the original post, and my thanks to Simon for setting me straight.


  1. I know these are commonly called “FTP apps,” but does anyone really use FTP anymore? 

  2. I’m perfectly willing to believe this is more the fault of the Files app, which Secure Shellfish has to fit inside, than of Shellfish itself, but assigning blame properly doesn’t solve the problem. 

  3. A warning: when an iOS update finally does kill Transmit, I intend write a post entitled Sic Transmit gloria mundi, and I don’t want anyone stealing that title. 

  4. I should mention that Shellfish provides Shortcuts with an Upload File action that can be configured to return the URL of the uploaded file. I’m not using it because here I need to get at the URL of a file that’s already on the server.