There is a category of apps that provide a unique functionality and for which the user community is split into two camps: Those who are zealous about the functionality and really “get” why it’s awesome, and those who don’t get why they would ever need the functionality.
A perfect example of this is clipboard managers. I was in the second camp for a very long time because I simply couldn’t understand why I would ever need to go back to my clipboard history to get something. And then I got Copy ‘Em and I’ve never looked back. I’d find it very hard to work without a clipboard manager now, using it several times a day.
Hazel is another example. Hazel’s mission in life is to watch folders for you and take action on the files within. When I first heard about Hazel, I didn’t “get” it. Why would I want an app that watched folders? The early examples were for people who were scanning in documents and I wasn’t scanning in documents at the time. I eventually broke down and watched David Spark’s Hazel guide and I finally “got” it.
My use cases for Hazel
I do use Hazel for scanning documents but that’s actually not its primary purpose for me. My favorite usage is that I have it watch certain folders and when the files within get stale, it moves them to my network attached storage (a Synology Disk Station). As you can imagine, I create a LOT of data for the podcast each week and after a couple of weeks, I’m certain I don’t need it with me on my laptop, so it gets filed away on the Synology into different folders depending on the content.
After I record the NosillaCast, I upload it to a service called Auphonic, which levels the audio, sets it to the loudness standard for consistency, adds the album artwork and uploads the MP3 file to my hosting provider, Libsyn. When it’s done it offers to also download the finished MP3 file. Hazel keeps a watchful eye on my downloads folder, and when it finds a file matching the pattern of my podcast naming convention, it moves it into my podcast audio folder for safekeeping. That folder, in turn, is one of the folders that is watched by Hazel and moved to the Synology when it gets stale.
I’ve told you a few times that I have a folder on my drive called deleteme. This folder is named in a way that tells future me I already have a copy of any file found inside, or the file was never important enough to keep. I have Hazel watch deleteme and after files are a week old, they get moved to the trash.
At one point, when Dorothy and I were working out the process for her to keep the Programming by Stealth index up to date that she created, we thought we needed her to FTP stuff to podfeet.com. I’d trust Dorothy with my life, and certainly with my technical digital life, but we wanted to figure out a way around this just for the geekiness factor. I solved it with Hazel.
I created a folder in Dropbox called ftp-to-podfeet and shared the folder with Dorothy. Then if Dorothy put a new version of the JSON file into that folder, Hazel would find the match to the name and use its own built-in FTP tool and send the file with my credentials to my server. After it sent the file up, it would politely throw the file in the trash. It was so nerdy and cool!
I’m embarrassed to admit that there are a few things Hazel can do that everyone would like but I only discovered very recently. You can have Hazel delete files in the trash when they hit an age of your choosing, and you can even have the trash kept to a reasonable size. If it gets over, say, 1GB, it will delete older files.
One of my favorite newly-discovered tricks in Hazel is a feature called App Sweep. If you delete an app by simply throwing it into the trash, you’ll have all kinds of cruft left behind on your system, such as plists, cache files, save states, and downloaders. They might not cause a problem but they may someday, so why not delete them? With Hazel, if you enable App Sweep, and you throw an app in the trash, after just a couple of seconds, Hazel will pop up a window asking you if you’d like it to clean up the cruft left behind.
I used to use Parallels Toolbox’s Uninstall Apps tool to delete apps. It was supposed to find these orphaned files, and it did find some, but I found that Hazel had to clean up after Parallels Toolbox! I wrote to the Parallels people and their support was completely uninterested in my findings and wanted me to send them log files and such. I did, but suggested they simply test their own darn app! Now I just throw away apps and wait for Hazel to clean up after me.
Announcing Hazel 5
Now you’re probably wondering why I’m taking this trip through Hazel since it’s been able to do all of this for ages. It’s because Hazel has a huge new update. In the past, Hazel worked as a Preference Pane in System Preferences, but the new Hazel 5 is a standalone app. This allowed the developer, Paul Kim, to provide some nice enhancements and to make it ready for macOS Big Sur.
I’ve only just started playing with it and it has some really nifty features.
You can now add some organization of your watched folders by creating folder groups. Now all my bill-scanning rules are in one pile and all of my podcast automations are in another pile.
This sounds like a dumb thing to get excited about, but Hazel has undo now. Locked in the cage that was Preference Panes, if you messed around with a rule you had to cancel without saving if you broke it. Now you can remove rules and undo, and even remove steps from your rules and undo, or just fiddle with the settings in a rule and then undo it. Experimentation will be much more seamless now.
The interface overall feels much more intuitive and more discoverable now. I went back to a Mac I hadn’t updated yet, because I thought I’d found some new features, only to find they’d been there all along.
In Preferences, you’ll find new layout options. I really like the option to have the specific rule I’m working on in a wide pane down across the bottom and the folders and rule lists in two panes up above. It puts the widest item in a wide pane.
I think perhaps my single favorite improvement in Hazel 5 is that you can now pop out rules into floating windows. The use case for this is when you’ve got one rule working that was maybe kind of complicated and you’re trying to create a new rule that is similar.
In the old days, you had to flip back and forth between them and maybe leave the new one in a non-working state you didn’t really want to save. Now you can have them side by each while you figure out how you got the rule to recognize the right date pattern or to follow a script you created.
Hazel contains two new features that might be in the power user category – Lists and Tables. The main idea of these features is to be able to provide a list or table of attributes and add logic to your rules based on those lists/tables. You can create the list or table inside Hazel 5, or you can reference an external file. With tables in particular you can have a list of items and then return values from another column. It’s a pretty cool concept.
I was able to get the lists to work but I haven’t yet gotten tables to work as expected. I decided to try the external table option in my testing. I created a very simple table with 4 headings and 4 rows of data in Numbers and exported as a comma-separated values (CSV) file, but Hazel couldn’t interpret it properly. I thought the problem was that Numbers added two extra commas at the end of each line, which created two blank headings rows, so I created the same table in Excel. Excel 365 doesn’t appear to have an export option (unless I missed it) and instead you save as a CSV file. This file also didn’t work properly as the input to Hazel. In all cases Hazel imported all of the columns into the first column of the table. I also tried the tab-delimited option from Excel and had the same issue.
Paul and I have been trading information and it looks like the problem is with Windows line delimiters in the Excel CSV format, and a double comma at the end of CSV files from Numbers that causes two empty header cells which break everything. Paul is working on some solutions and in the mean time I think I’d just work with embedded tables for now till it gets sorted. You could also use another tool to clean up your CSV, like BBEdit with its “zap gremlins” feature or something like that.
The bottom line is that Hazel 5 is a very welcome upgrade. If you’ve used it before, it won’t be jarring at all. It’s more like if you got your kitchen remodeled but kept all of the appliances in the same locations. Better but familiar. There are a few bugs to be worked out but I’m writing this less than a week after this entirely new design was released. The developer is super responsive and I know the few rough edges I found will be polished off quickly.
The developer of Hazel made one crazy decision, and it’s that he’s only charging $20 for this upgrade, no matter how old your license is and even if you have a family pack license! I think he could have charged more, but don’t tell him I said that. If you haven’t bought Hazel before, it’s $42 for a single license or $65 for a Family Pack.
I love Hazel and now I love it even more now that it’s a standalone app.