Category: Noodlesoft

Hazel’s 15th 16th Anniversary

September 6th, 2022 — 9:05am

It’s been 16 years ago today since Hazel’s first release. Why celebrate the 16th anniversary? Because I thought it was actually 15 years but got the dates wrong. So, to mark the 16th anniversary (or a belated 15th, if you prefer), Hazel is 30% off. That applies to all license types (single, family, and upgrade). Just go to the store. Sale ends at 3am EDT.

Chances are if you are reading this, then you already own a copy so share the news with friends and family. Just don’t tell Zach in Accounting. He knows what he did.

While odd bits have changed since the 10th anniversary, things remain mostly the same. After all these years, still not in the App Store. No plans to shift to a subscription model. I’ve resisted many of the “innovations” in software sales and distribution in recent years. I could probably write another post why but in short, I haven’t found any need to change something that works.

Can’t say whether I’ll still be here doing this for Hazel’s 20th anniversary but I hope you’ll forgive me if I forget again and end up being a year or two late.

1 comment » | Business, Hazel, Noodlesoft

Hazel 5 Launch Postmortem

December 20th, 2020 — 4:57pm

As promised, I thought I’d write about my launch. While not disastrous, it had its share of bumps. I had hoped that I had learned something from the Hazel 4 launch four years ago. One of the issues was server capacity. This year, I deployed an extra server. It was an asymmetrical setup, with my main setup handling the website and doling out free upgrades to recent purchasers, while the second server handled the store. Unfortunately, it wasn’t enough. The store still got swamped. Given how busy I was handling requests and trying to troubleshoot other issues, I didn’t have time to test and deploy yet another server, plus they would all be hitting the same database so it was unclear if it would help much. Given that this type of load tends to subside within the day, I rode it out.

One thing I could have done to help alleviate this was to spread out sending messages to the mailing list. Before sending anything to the list, traffic was quite manageable. Once the list got blasted, so did my site. I’m not sure if my email campaign provider supports it, but sending messages in chunks or just slowing down the sending rate would have probably minimized the problems.

Then there were packaging issues. Hazel is codesigned and notarized yet on some people’s systems, it would reject Hazel, either wholesale or in parts. This is worth a whole post on its own so expect one later. Suffice it to say, I did fix some of the issues and came up with workarounds for the others.

And finally, there were actual issues with the software.

First was a bug with trial mode expiring soon after install. I had Hazel reset the trial period for people coming from a previous version but it contained a bug which I did not catch. I did have a beta period but the version used then accepted Hazel 4 licenses, which meant that trial mode was not tested.

The other major bug was black backgrounds appearing in some views on 10.13. I take total responsibility for this as I did not test for 10.13. I did have a 10.13 partition on a drive I keep with various macOS versions, but it got nuked by an early Big Sur beta install which went awry. I tried reinstalling but my installer was corrupt. Add to that that Apple doesn’t allow you to download old installers and you can see how this fell by the wayside as other issues came up. It is ultimately my fault and my apologies to those running 10.13. As for the issue, it seems that 10.13 has problems with certain named/system colors when the app is linked against 11.0. Solution was to do special-case code for 10.13 using non-named colors.

There were plenty of other bugs but those were the most apparent and the ones I had to address quickly.

And with all of the above issues, I had to deal with thousands of people reporting them. Especially in the first few days, it was a frantic balancing act of being responsive to users while trying to carve out time to investigate the issues they were reporting. Logic would dictate stopping the bleeding first (i.e. investigate and address the problems) but it’s hard to ignore the huge number of messages piling up. Some would say that having all that attention would be a good problem to have, but when it was happening, it sure didn’t feel like it.

Lessons to be learned:

  • Try and slow down or space out announcements. Having everyone find out at once is asking for trouble. One idea I toyed with before launch but didn’t implement was to have a preview for those on the mailing list. Have a separate store that was available early where they could purchase an upgrade before the release to the public at large. That might have helped with the initial crush.
  • When running a beta test, be mindful of the holes in your testing, including differences between the beta and final product and missing demographics in your pool of beta testers.
  • Keep your priorities straight. Not everything needs to be handled immediately. It’s ok to ignore stuff.
  • Accept that no matter how much you prepare, you are never fully ready for what comes next.

Oddly, I found that the press was noticeably absent. It seems that even though the Mac market keeps growing, there are fewer and fewer outlets reporting and reviewing Mac products. Hazel has enough of a following that it didn’t matter as much but it feels as if things have regressed on that front, which is a bit sad.

Next time, I’ll be talking about my journey into the nightmare world of code signing and notarization. Fun times to be had by all. Until then…

2 comments » | Hazel, Noodlesoft, Software, System Administration

Hazel 5

December 9th, 2020 — 11:40am

I’m almost a month late with this announcement but Hazel 5 is out! I’ve been quite busy since the launch but after releasing 5.0.3 (yes, there have already been three patches) I feel like I have a little breathing room to post even if I’m bit exhausted.

I won’t give a full rundown of what’s new but you can get more details here.

The most obvious thing you’ll probably notice is that Hazel is no longer a preference pane, instead shipping in an app form factor. Why? The main reason is Apple. If you missed my post on this topic, in short, Apple screwed over preference panes in Catalina. The result is a buggy mess and I’ve seen almost no improvement on that front since then. It seemed clear to me that preference panes were a developmental dead end.

I had already been planning on releasing a version 5 so I was prepared to make some major changes. Problem was, I had to make sure I released 5.0 around when Apple’s next OS (now known as Big Sur) would arrive. Why? Because any Big Sur compatibility work put into Hazel 4 would most likely not be usable in version 5. Partly because of the major changes between the two but mostly because many of the issues that affect preference panes since Catalina aren’t a problem for apps. I could either do double the work or cut my losses and do a big push for version 5 in the time available. The downside is that the conversion to an app displaced other features I had planned. Some of these will make it into point releases but the bigger ones may have to wait until 6.0. 

It is nice to be able to have things in an app. There are fewer limitations but at the same time, it changes expectations. One of the major reasons why I had Hazel as a preference pane was that people expected preference panes to be for configuring services that run in the background. Since releasing as an app, I’ve had numerous people ask me to provide a way to hide the dock icon. People have the notion that they need to keep the app running for Hazel to run its rules, not realizing there’s a helper doing all that separately and that they can quit the app at any time. I did add in a little tip that pops up if you activate Hazel after a few minutes of inactivity (which would imply, to me, that they were keeping it running longer than needed) but I may need to be a bit more forceful in educating users.

Besides all the interface improvements, I’ve also added support for tables and lists. This expands the possibilities with text matching, hopefully allowing users to consolidate their rules. This took a good deal of back and forth in the design until I finally settled on what’s there now. There’s a chance these features will change in the future, especially with how list items work, but I’ll try and make sure it is done in a way to preserve compatibility with old rules. That’s always been a concern for me: making sure any changes I make to the rule schema/interface are done in a way such that old rules are expressible in the new paradigm. Except in the rare case where I drop a function entirely, I strive to make sure everything carries over.

One focus this time around was making the install process a bit nicer. Hazel 5 ships as an app on a disk image. The preferred way to install is to run it right off the disk image. Hazel will detect this case and offer to install into Applications (or a folder of your choosing) and relaunch. Or if you prefer, you can drag Hazel to a folder and run it there, in which case, the installer doesn’t kick in. The latter should reassure users that the app is self-contained and doesn’t install stuff in unexpected places. I’ve always felt that when you are first presented with an app, a double-click should run it, ready to do work. This includes any steps needed to get to that point, like installation. That was something that worked very well when Hazel was a preference pane and I wanted that same experience as an app. Having the user drag the app to Applications, navigate to it and then launch it seems like too many steps and I felt I could do better. If you want to do this with your own app, there are frameworks you can use.

Another thing I’ve added is the “Full Disk Access Guide”. For some operations, such as managing your Trash, Hazel requires full disk access. Unfortunately, Apple dropped the ball on this, providing little to no guidance or APIs to detect these cases and having no UI to help the user do it, thus leaving it to individual developers to cook up their own schemes. Previously, I pointed the user to a webpage which outlined the steps of navigating to the correct pane in System Preferences, unlocking it and then dragging the app into the list. For Hazel 5, I now bring up the correct pane in System Preferences and show a window/overlay which attaches itself to System Preferences, showing each step with arrows for guidance. Screenshot included below. And if it looks familiar to you, yes, I stole it from SuperDuper, with permission from its developer Dave Nanian (thanks Dave!).

Pricing is always a tricky issue. It’s always hard coming up with the right balance of something users will pay while also making sure your business is sustainable. But let’s address the elephant in room, or maybe the lack of said elephant. Subscriptions. I never really considered them for two reasons (a) I’m not particularly fond of them and neither are a good number of users and (b) I don’t need them. I’ve been fortunate in being able to keep doing this while charging a price that is fair to me and my users. Could I make more money? Sure, but if you’ve followed this blog for any period of time, you should realize that’s not my main goal.

That all said, I did end up raising prices as a lot of work went into this release. While users have been pretty supportive of the price changes, I can’t please everyone. In my defense, I’ll point out that I’ve been pretty good with providing significant amounts of functionality for free in between major releases (don’t believe me? Check out my release notes). Additionally, my major releases are pretty far apart (about every 4 years). Not that I’m doing that on purpose and I can’t guarantee the next one will happen at the same interval. It just happens to be how I do development. Major release sees major shift in architecture, paradigm or functionality. Minor releases flesh that out until I feel like that has run its course. Rinse, repeat.

And on that note, I hope to get one more release out before the end of the year. With luck, this will include a bonus feature which should make tables even more useful. Also, I’ll try and write up a post-mortem for the launch as it didn’t go quite so smoothly and I’m sure there are lessons to be learned there. And before I forget, thanks to you for your support. It’s been a long journey and it feels great reaching this milestone.

Comment » | Hazel, Noodlesoft, Software

Ten Years

September 6th, 2016 — 7:00am

Today marks the 10th anniversary of Hazel. On September 6, 2006, Hazel 1.0 was released and after all this time, it’s still going strong. I’ve already shared my thoughts on why I took this journey and how I managed to stay on this road so I won’t rehash that here. What started as a product developed in my bedroom is, well, still a product developed in my bedroom, but now I can say it’s a successful one.

Hazel back then was a much more basic product. You can check out the release notes page, which documents everything back to the beginning. It’s interesting to see what features were added later, many of which are probably considered essential now.

As for the future, who knows? While the list of big features I want to implement is much shorter now, there are still a bunch of smaller things I want to put in. I can’t say whether I’ll still be doing this in another ten years but I have no intention of quitting now.

And with today being the anniversary, I need to celebrate in some way so, from today until 3am (EDT) tomorrow (Sept. 7), I am offering Hazel at its original price from 10 years ago. That’s $16 (50% off). The family pack and upgrade didn’t exist back then but they’re 50% off as well. No special code or link. Just go to the store and buy. If you don’t have a copy yet, here’s your chance.

2 comments » | Business, Hazel, Noodlesoft, Software

Hazel on El Capitan

October 6th, 2015 — 1:05pm

For those who haven’t updated to El Cap yet or don’t follow the Twitter feed, yes, Hazel runs great on El Capitan (OS X 10.11). There are no known significant issues or bugs at this point and the current version runs fine as is. The only problem that I’ve found so far is an obscure and extremely minor UI feature. I will be issuing a patch at some point but there is no hurry on that front as I’d rather wait for some real El Cap bugs to surface.

If you do find problems, please report them to me. You can (in decreasing order of effectiveness) email support, post in the forums, or tweet. Those are the places I check and can confirm and fix the bugs I see there. I won’t see posts on other sites so please consider posting to one of the above places first. Whatever you do, please do not give credence to random statements about compatibility on other sites, especially when those statements were made months ago on an early beta of El Cap, and even more especially on a site with “rumors” in the name. I’ve received enough emails referencing such posts that I feel the need to weed those out specifically. Remember, this is the internet so choose your sources carefully.

In the meantime, work is continuing on version 4. I can’t say when it will happen but I will be doing a beta at some point so keep an eye on the aforementioned official channels for updates.

5 comments » | Hazel, Noodlesoft

Hazel 3.3

October 20th, 2014 — 2:41pm

Hazel 3.3 is finally here. It has a bunch of neat additions that I think experienced users will find handy (in particular, all the things you can do with custom attributes now). I won’t list all the features here but check out the release notes if you want to learn more. Also, while 3.2.7 for the most part works fine on Yosemite, this version fixes all those pesky cosmetic issues, including the dark mode menubar icon which a lot of people seem to be fixated on. I think this is a great release as it ties up a bunch of loose ends and really opens Hazel up to workflows that weren’t able to be accomplished before without the aid of custom scripts. Speaking of which, Yosemite introduced JavaScript  alongside AppleScript as a way to automate apps, so JavaScript is now an option in Hazel as well. So for those of you who find AppleScript unpalatable, now you have an alternative.

While I will continue to do maintenance releases, my thinking at this point is that 3.3 will be the last of the version 3 series as I start shifting into thinking about version 4. I think version 3 has had a phenomenal run and I hope to make version 4 a worthwhile upgrade. It’ll be a while so for those fearing version 4 around the corner, you should’t worry. I’d be quite surprised if I get it out before the end of 2015.

Many thanks to all the testers who banged on 3.3 during its beta. Got a lot of great bug reports including some at the last minute which helped to make Hazel not explode (at least not yet – if yours does, blame it on tester #347).


1 comment » | Hazel, Noodlesoft, OS X, Software

My NSConference talk

October 14th, 2014 — 1:51pm

Just found out this weekend, somewhat belatedly, that my talk at NSConference 6, “Life Outside the Mac App Store”, is available on Vimeo. I don’t have the nerve to watch it myself but given recent events, you might find it interesting.

Comment » | Business, Conferences, Hazel, Noodlesoft, NSConference, OS X, Software

Hazel 3.2 with Mavericks tagging support

October 23rd, 2013 — 12:51pm

Apple just released Mavericks yesterday so I’ve released version 3.2 which specifically supports the new tagging feature. You can now create conditions based on a file’s tags and add/set tags via a new action. I’ve done a fairly faithful reproduction of Mavericks tagging UI so it should be a seamless experience.

Like Apple, I’m taking a more conservative approach to tag support as it’s still unclear how people are going to use the feature. One particular feature: the ability to create dynamic tags (i.e. not hardcoded into the rule) is definitely being considered. I’m sure many of you want this feature so here’s the deal: tell me how exactly you would use it. It’s not a question of “why” but of “how” so concrete examples will go a long way into determining how this feature will be fleshed out.

There are fixes in this release as well so even if you aren’t on Mavericks yet (though being free, what are you waiting for?), you should update. Many thanks to the people who beta tested. The beta version should update to the final release but if you run into any problems, contact me.


6 comments » | Hazel, Noodlesoft

Hazel 3.1 is here

June 19th, 2013 — 3:40pm

Fresh from the Noodlesoft Danger Labs is Hazel 3.1 with a bunch of spiffy new things. The two main features this time around are file uploading and matching against file contents. If you don’t use Hazel, maybe these sound a bit abstract to you but for people that use it, it fills a couple big holes in their workflows.

But instead of elaborating on these myself, I’ve been fortunate to have a couple users do the work for me. Demonstrating use of the new file upload facility, Sid O’Neill shows his workflow for resizing and uploading images to his server

Next up is David Sparks (MacSparky and MacPowerUsers Podcast) showing how to match and extract dates out of your files and use them for renaming. Includes a great video so definitely check it out.

Of course, there are a bunch of other things in this release. You can find the full list here.

The response from customers have been great. I’ve gotten a lot of wonderful emails from people so far which has solidified my dedication to the product even more. As mentioned in my last post, I will be looking into Mavericks support, with a particular interest in its tagging feature, in a future release.

Also, in regards to the new upload feature, watch this space in the coming weeks as I’ll have something for you developers.


2 comments » | Business, Downloads, Hazel, Noodlesoft, Software

Things to know about Hazel 3.1

June 11th, 2013 — 12:33pm

If you don’t follow the Twitter feed or forums, then you may not know that Hazel 3.1 is currently in beta and will be released soon(ish). Normally, I’d just announce it when released but this time around there are a few things you should know in preparation.

It will require OS X 10.7 (Lion)

I announced this in the forums last fall. It was a hard decision to make but given the data, it made sense to drop 10.6 support. Note that Hazel 3.0.18 will still continue to run on 10.6.

It will be a free upgrade

Being a non-major release, this update will be free to version 3 license holders.

When 3.1 is released, Hazel’s price will go up

Final price has yet to be determined. If you are considering buying Hazel, you should do so before 3.1 ships as you’ll get it at the lower price now with a free upgrade to 3.1 later.

And about Mavericks…

Apple just announced and seeded it to developers so, Hazel 3.1 won’t have specific support for it. As with every other OS release, I will be adding support for Mavericks in a future release. I usually don’t try and do compatibility fixes this early on since many of the issues end up being on Apple’s end so I like to wait until the seeds stabilize a bit before hunkering down.

And as for that tagging thing, I’m just as excited about it as you are so, trust me, I’m looking into it.

Comment » | Hazel, Noodlesoft, OS X

Back to top