Interview: TotalFinder Developer Talks About Bringing Tabs to Mac OS X Finder

By

Tabs in Finder, courtesy of TotalFinder
Tabs in Finder, courtesy of TotalFinder

TotalFinder is starting to cause a buzz in the Mac community. The app aims to bring something to Finder long-rumored to be coming from Apple itself: tabs. We spoke to developer Antonin Hildebrand about his project, the reasons behind it, and his plans for its future.

Please note: TotalFinder is alpha software that integrates with Finder. Run it at your own risk and ensure you back up your system before installing it.


Cult of Mac: What’s your background regarding the Mac and programming?
Antonin: I’m a former Windows game developer who switched to Mac because of web development ambitions. I live in Prague, and work as a JavaScript front-end engineer for a SF-based start-up, but during the night I work on interesting open-source projects and native Mac applications. I specialize mainly on tools for developers. 

In February 2009, I forked the Visor project by Blacktree and took time to fix some bugs. After that release, I got great responses from the community, adopted the project and have been continuing its development since then. This is how I learned about SIMBL hacking and the possibilities of modifying native apps during runtime.

What is TotalFinder? What does it do that Finder doesn’t?
TotalFinder is a plugin (SIMBL) which adds to Finder or extends its feature-set, such as by including Chrome-style tabs, Visor-like activation and Echelon, a system for preventing .DS_Store files. TotalFinder works only on Snow Leopard, because its Finder was silently rewritten into the Cocoa framework by Apple. This makes it possible to ‘hack’, even without original source code.

Why did you decide to create TotalFinder?
My background is a Windows power user, and I used to use dual-panel file managers like Total Commander or Servant Salamander. After switching to Mac, I realized I needed to make a bold choice: use a heavy-duty Finder replacement like PathFinder, ForkLift or DiskOrder, or learn to live with Finder and its shortcomings. At that time, I decided to stay with Finder mainly for three reasons:

1. Many other apps simply expect Finder to be available and interact with it by default;
2. I wanted to shift my workflows more towards command-line anyway;
3. Finder is not that bad and I had hopes for improvements in upcoming OS revisions.

I’m sure many users are asking similar question nowadays!

TotalFinder became the clear answer for me—it’s Finder, but better, so you don’t have to do any major trade-offs. Note that TotalFinder won’t be for everyone—my aim is for it to be the perfect tool for Mac power users, developers and OS tweakers. My original motivation was just curiosity—to see if I could make it possible to prevent .DS_Store files creation and fix this long term headache, but it opened up many more possibilities.

Why Chrome-style tabs rather than Mac-like ones?
The reason was my pragmatic decision of not reinventing the wheel code-wise! Chrome tabs were the only available open-source implementation I knew about. Luckily enough, it is a state-of-the-art implementation, so I didn’t think twice about grabbing it. You can read more about developing the tabs feature on my blog.

Looking at it from another angle, I’m also working on this in my spare time, and I didn’t want to spend months developing my own tabs solution. This helped boost the project greatly and I’d like to thank Google for providing Chromium sources under a liberal license. I wish Apple would do something similar with their Safari-style tabs—so many Mac applications could take them and implement tab interfaces consistently across the OS and with less effort.

Anyway, I now have the full sources of tabs and the tab drawing routine is there. I can quite easily modify the look and feel of everything and move buttons around. I’m open for discussion. But internally it will be powered by Google’s code, and there’s no need to switch right now.

Are there any known drawbacks to running TotalFinder that users should be aware of?
TotalFinder is in alpha and you should use it with caution. I use it myself and it works reliably for my workflows. But I understand there are people using Finder completely differently than me and they may experience problems I haven’t seen yet. We need to nail those down. I want to thank all early adopters for helping me in this mission.

I also need to hunt down all the memory leaks, which is just a matter of taking time for it and using the right tool. Right now, you may always restart Finder if it eats too much memory by typing ‘killall Finder’ in Terminal.

If you are considering using TotalFinder please first check open issues at getsatisfaction.com/binaryage, and you can also read people’s comments on Twitter.

What are your plans for TotalFinder 1.0?
0.7 will bring in a dual-pane mode. The future roadmap includes: drag-and-drop tabs, cut and paste, and keyboard shortcuts for sidebar items for 0.8; Terminal.app co-operation and a one-month beta period for 0.9; final polishing for 1.0, at which point I’ll start selling the completed app.

For more information on TotalFinder, visit totalfinder.binaryage.com.