A long time ago, on a Mac far, far away…
In 2011 I had an idea for a tiny little Mac app called CommandQ.
I’m a terrible touch-typist and it just so happens that on U.S. style keyboard layouts, the Q and W keys are right next to each other. That means I’d often press ⌘W to close a window and accidentally hit ⌘Q – quitting the entire app instead of just the window.
So I spent a few hours each night over the course of a week or two and built a tiny little Mac app that intercepts your ⌘Q presses and stops the frontmost app from quitting. Instead, it shows a window with a timer. If you keep holding down ⌘Q until the timer finishes, it will go ahead and quit the app just like you wanted. But if you let go before time runs out, you can avoid a dumb mistake.
I named the app CommandQ and put it for sale on my company’s website for a few bucks. It was unlike anything I had built before. All of my other apps were more complex and primarily focused on helping web developers and designers do their jobs better.
But my existing user base welcomed CommandQ with open arms. I iterated and added a whitelist / blacklist feature to let you choose which apps CommandQ works with or ignores.
And then I left the app alone – I haven’t shipped a single update for it since mid-2012.
But, to my pleasant surprise, in the eight years since its release, my little utility app has gained over 20,000 customers!
It’s also brought me a lot of guilt.
The code was so old (pre-ARC Objective-C, targeted against the 10.5 SDK, and linking against OpenSSL), that every time I thought about trying to fix a few bugs, I got blocked just trying to get the project to compile on modern versions of Xcode and macOS. Not being able to add some requested features or even fix the one crashing bug just made me feel awful and even less motivated to actually improve the app.
So, CommandQ languished kinda-sorta-working for a number of years, but people still kept buying it and emailing to say how much they enjoyed the app.
With WWDC 2019 a few weeks behind us, it’s again that time of year where I spend my nights testing my Mac apps for bugs against Apple’s upcoming OS. And I quickly discovered that CommandQ is very much, incredibly broken on 10.15 Catalina.
What to do?
I don’t normally ever suggest a rewrite of a working app, but with CommandQ being such a small codebase, I figured why not? And spent the next week rewriting it with Swift and modern macOS technologies.
The result is CommandQ 2.0.
I’ve fixed all the known bugs and crashers, added the ability to prevent accidentally closing windows (⌘W), and pushed the app through Apple’s notarization process as well.
If you’re an old CommandQ user, I hope you enjoy this new version for many more years to come. You’ll be able to upgrade to version 2.0 for a one-time purchase of $6.99 – no subscriptions here! Check your registered email next week for the coupon code I’ll be sending to claim your discount.