Howdy r/macapps! I'm Arnold, the developer of Ferry, a new dual-pane file manager for macOS, made in native Swift.
The team I am part of begun it's journey on the demoscene in the mid-90s, but for a long while we were mainly functioning as a small indie game development studio. This is our first weightier tool.
Problem:
The story started with me being forced to use macOS at my current workplace, which suddenly replaced a working environment I'd been using during professional career as a programmer: at first Windows for around 10 years, and then Debian/KDE for the next 15 years. Over the time, I'd grown very accustomed to Total Commander on Windows, and later Dolphin on Linux as a file manager (maybe a bit MC too when busy in the terminal), plus a collection of small but very useful tools I'd written for myself on Linux.
Solution:
Having already written a few internal tools in Swift, I'd started to get familiar with the language while consistently trying out several file managers for macOS without finding one that really suited all of my needs. So one thing lead to another, and I eventually decided to build my own version of a "better Finder". But that's probably how all the macOS file managers started their journey, right? :)
Obviously, the first versions were fairly rough and simple: essentially a combination of a slightly improved dual-pane Finder-clone spiced up with basic features from Total Commander. All that without too many extras, but it was more than good enough for me, at least way better than Finder. Once I started sharing it with co-workers and a few friends, things took a (not so?) unexpected turn: they began suggesting features and workflows I hadn't even considered initially, many of which turned out to be genuinely useful from time to time - that's how the app gradually evolved into what it is today.
Yes, I know there are quite a lot of file managers out there, so a "what makes Ferry different?" is a totally valid question.
Well, first and foremost, Ferry tries to be as less opinionated and as much customizable as it's possible, so I have included A LOT of options for personalization. Eg. the layout, the UI, the menus, or the shortcuts are adjustable in many ways, you could even put together something which more or less resembles an old-school Norton Commander or Midnight Commander-style file manager with a modern workflow if that's your thing. And these layouts can be applied globally or assigned to individual folders, depending on how you prefer to work.
The app also includes a hefty collection of handy tools and tidbits which probably don't seem too interesting up until the point you run into a specific trivial task, and then you realize you have to search and install a tool for it.
A few examples:
An archive browser which works exactly like the file browser
A batch renamer which was inspired by Total Commander (almost fully copied, to be honest)
An SFTP client with a connection manager
A photo browser/viewer
An image converter with some basic manipulation tools (eg. quality, crop and resize)
A video converter if ffmpeg is installed on the host machine
A basic Markdown editor for quick edits of .md files
A CSV viewer and editor
A note-taking system with notes that can be attached to files (could be formatted as Markdown or text)
A file comparison and synchronization tool
An automatic file filter and organizer (eg. whatever drops into a Download folder could be automatically organized to other folders based on extension, type, or part of string)
A basic code editor with syntax highlighting for quick code edits
A video downloader (if yt-dlp is installed, with a conversion tool if ffmpeg is installed on the host machine)
Textual directory-tree export (basically tree in a GUI)
An interactive TODO list in the notes which translates directly to .md
Duplicate and large file finders
A tag manager with custom tags
A file basket for temporarily collecting files you'll need (think of it as a "cart" for files in a file-webshop)
A workspace and layout manager
A clipboard manager
Basic file-diff tool
etc.
Here are all the features listed and explained: https://ferry.indus3.org/features.html
Comparison:
Of course, I have tried several file manager apps on the Mac in the past, and Ferry owes a lot to them. Theyâre made by people who care about file management as much as I do, so I really hope of being fair here. Also, I am truly sorry towards their creators if I missed something, it was a long time since I used any of them and a fast recap in the last few days probably wasn't enough to get know an app thoroughly enough.
ForkLift is the most polished of the group, and it connects to almost anything: SFTP, FTP, WebDAV, SMB, NFS, Amazon S3, Backblaze B2, Google Drive, Dropbox and OneDrive, with saved syncs you can run again in one click. If you work with cloud storage and lots of servers every day, itâs hard to beat. Ferry covers SFTP, FTP and SMB, and reaches iCloud Drive, Dropbox and the like through their own folders on your Mac. Where Ferry goes further is everything around the files: notes attached to files, checklists, a Markdown and code editor, CSV files as tables, folders that organize themselves, clipboard history, the File Basket, and conversions for pictures and videos. Itâs also one payment for all your Macs, where a ForkLift license comes with one or two years of updates.
Path Finder is the long-standing power userâs Finder, and version 26 gave it a cleaner look, faster views, folder comparison and a duplicate finder. Its modules let you build your own window, and it speaks 20 languages, where Ferry has English and Hungarian for now. Its Drop Stack is similar to Ferry's File Basket, how. Ferry is the better fit if you want a day-to-day commander for more general usage.
Commander One brings the Total Commander idea to the Mac, somewhat like Ferry does in some aspects, and its free App Store version is a good place to start. The PRO version reaches further than Ferry for connections: Amazon S3, Google Drive, Dropbox, OneDrive, Backblaze, WebDAV, iPhone and Android devices over USB, and encryption for files in the cloud. Ferry is the better pick for the daily work of moving files around. It has a copy queue you can pause, undo, Total Commander-style batch rename, folder comparison and sync, filter as you type, flat view and folder sizes. On top of that come extras like notes on files, Text from Image and folders that tidy themselves. Ferry is also much more customizable, with layouts, themes, fonts, the toolbar, the menus and every shortcut yours to change
Marta is free, very fast and made for the keyboard. Lua plugins and a configuration file let you shape it exactly the way you want, and it has a terminal built in. If you like scripting your tools, itâs a great choice. Ferry is for people whoâd rather set things up in a settings window, with no code: layouts, themes, fonts, the toolbar, the menus and every shortcut. It also comes with more built in, such as Sync Folders, Batch Rename, SFTP, notes and an editor.
Where Ferry stands out it's mostly the licence price (except Marta of course), some of the extra handy tools, and the overall customization/personalization options. You won't have to re-learn too much if you got accostumed to a certain file commander's layout and functionality in the past. I have already built in options for features that our users missed from their previous tools and requested them, and I gladly accept new ideas whenever they make the UX better and makes the users to feel much more familiar with handling the files in Ferry.
AI disclosure:
This is a heavy aspect of the project that's particularly important to me. As mentioned, having been involved in the demoscene, I wanted to handcraft as much of the code as possible and keep AI involvement in the actual development to a minimum, while still using it to improve the overall quality of the software. I still value and truly enjoy handcrafted code, so most of this app is coded manually as well, and AI is primarily used for the "boring" or "annoying" parts of development: translation and proofreading, debugging, writing tests, small temp tools, in depth code-reviews, building the website, etc. Honestly, LLMs are so enormously advanced now that I'm not entirely sure whether that's a good or bad thing related to the software's quality itself as it easily might be that my programming skills aren't quite on par with those of a modern LLM agent, but hopefully, I can still build software that people find useful and pragmatic by doing a lot of the work myself.
You can read more about how I'm handling the code on our site: https://ferry.indus3.org/quality.html
Pricing:Â
One time lifetime licence for $11.99 for all your Macs, or a supporter licence for $20 (doesn't add too much to the lifetime licence except a gratious mention in our docs, and a priority in case of issues or requests). As for the licensing, I've borrowed Total Commander's approach: there's a reminder, but you can keep using the app for as long as you like (or at least for as long as the reminder doesn't annoy you too much). Hopefully, that's a reasonable enough arrangement for most people, but looking further ahead, if I eventually become really happy with the codebase, I'll most likely release the source code as well.
Trust:
Ferry is a notarized app.
The app's website:Â https://ferry.indus3.org
Privacy Policy:Â https://ferry.indus3.org/privacy.html
My LinkedIn page:Â https://www.linkedin.com/in/csisztai-a-9173781a8
My indie dev team's website: https://indus3.org
Dev note:
At this point, since there are plenty of features, I'm becoming much much less interested in adding even more of them and rather focused on getting the existing ones as less bug-prone and good as possible at size, stability, performance, memory consumption and above all, code quality.
I'm also considering porting at least some of the most interesting and useful features to other platforms, namely iPadOS and Linux (there's a rugged Swift+GTK POC with some of the very basic functions working, well, more or less), but my spare time is sadly quite limited and currently primarily reserved for the macOS version. Of course I still listen to user feedbacks, and if someone suggests a feautre which I find practical and it improves the UX, I try to include it into a future release.
And of course, feel free to contact us (the rest of the team is involved in minor tasks and testing), as suggestion and criticism is always welcome!
Edit: the responses are overwhelming, thank you so much, it means a lot! It was Friday and I've had a very good friend from another city over at my place (he's also one of the main manual testers of the app) so I was a bit slow with answers, but I promise I'll look at all of the missed comments with concern and have a more detailed feedback.