Back in 2003 or so, when I was much younger and demonstrably dumber, I thought the hard part of having an audio software company would be having ideas for new products. Oh, those heady days of youth.
One of the very, very few benefits of age is experience. And experience has taught us that the hard part of having an audio software company is, in fact, keeping the products you already have working. While I tell people I am a product designer (if I’m feeling magnanimous towards myself) or a UI designer (if I’m being realistic) or a UX designer (ditto masochistic), in point of fact the vast majority of my job is just getting things to build on the four operating systems we make products for, and making sure they still mostly work.
One thing that has greatly annoyed us in our continual rebuild is the lack of symmetry in the install process for our three different desktop environments. I couldn’t figure out the “blessed” method on Linux, because it seems to be the usual “assemble a collection of sticks and pieces of rusty metal we have hidden in various places all over the world” and I don’t have that kind of time. We have always used some ancient installer maker thing on Windows that has the worst made-up scripting language I’ve ever come across; it is, and I am not exaggerating, effectively like trying to write the script for a modern sitcom using cuneiform. And on Mac, everyone uses a freeware GUI for the built-in OS method that mostly works but requires a lot of repetitive tasks. None of those three methods is very good for plugins. Every couple years, in the developer forums we have a presence in, I’d ask the elders about this. Most of them would just shake their heads in sadness. Some would begin quivering, and in hushed tones tell us of that time they tried to do something different, and how awful it was.
Now, however, I find that I am one of the elders, and I can do what I want. And what I wanted was an installer that is the same on every platform, and is made specifically for the needs of audio plugins. Since that doesn’t exist, at least in any form we can buy, I decided to make one, much to the bemusement of Adam and all my developer friends (except one, who did the same thing, for the same reasons.) As it turns out, it wasn’t very difficult, except (as usual, so all is right with the world) on macOS, where security theater is the order of the day. I could get deep in the weeds on this, but I won’t. You can see part of our process in an extremely truncated form on the JUCE forum if you’re curious as to how we pulled it off.
I honestly don’t know why more companies don’t make their own installer, or there isn’t a commercial cross-platform solution. We had some hiccups with ours, but on the whole it was an interesting problem to solve, and seems to have improved the experience greatly. Our biggest issue right now is that it works so fast that people don’t think anything happened, and we’re actually pondering putting in a fake visual speed bump just to make people feel like they got an install experience worthy of the name.
It was first rolled out in a Dubstation update a few weeks ago, and has since been used (as of this writing) for the latest Enso update, RoughRider3, and Replicant3. It is actually a bit more trouble to render a customer-facing installer for us, but our payment for that extra effort is a process we fully control, and which is specifically tailored to our needs.
The first time you use it for a given product, you need to select the formats you want to install. After that, every time you update that particular product, it will auto-select those formats. It will show you the version number you have installed (on macOS, and for VST3 and AAX on Windows; this doesn’t work on Linux, as plugins don’t have version numbers we can see). It defaults to the “blessed” locations for each format, but there is a text file (in ~/Music/Audio Damage on macOS and Linux, and in C:/Program Data/Audio Damage on Windows) where you can change the default paths for each format if you use something besides the blessed locations. The nice thing about this is that we can do specific things that are impossible with the available options (e.g. the factory content download for Quanta will be moved from the plugin itself to the installer) and we have full control over everything in an extensible way.
We hope you like our new installer, and do let us know via email or on our Discord if you run in to anything wonky. Back to the Update Mines for me.
April 1, 2023