Catalina: Apple turns macOS into a closed platform; many audio-devs warned from the upgrade

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

I'm sure it'll work on every platform ever, as long as the OS can schedule threads in a timely manner.

Post

Angus_FX wrote: Tue Nov 05, 2019 12:27 pm
The problem with DX was that it was a gigantic breeding-ground for bugs due to being an insanely flexible spec and therefore many, many edge-cases and different ways to interpret it; worse, there was no canonical host implementation.

VST2 is simple and solid, and remains good, popular spec even after all Steinberg's attempts to kill it, precisely because of that. All the bits that 95% of the market uses can be implemented in a single header file of a couple of hundred lines. The same could be argued for MIDI, in fact. A plug-in API should aim to be like an audio connector: just enough pins to do the job. As the complexity goes up, the potential number of ways to get things wrong grows exponentially.
Thanks Angus. Excellent observations. I don't recall numerous DX hosting problems in practice other than the occasional wonky plugin, but back in those early days wonky VST plugins were hardly rare either. :) But what you say about the "open ended nature" of dx is certainly true. The simpler the better.

It took me a long time to adapt to the COM paradigm. Learned to get along with it but COM seemed like trying to engage in sex, in a weightless vacuum environment using radar navigation with both partners wearing space suits.

I remain thankful for your help back then figuring out some of the DX and VST hosting. I am a plodder quite willing to study documentation and figure it out. But some of that stuff seemed sparse-documented with bad ambiguous writing, plus poorly-commented header files. Was amazing that some smart folks such as yourself could figure out how to make it work early on considering such a paucity of information. Talent almost like "psychic programming powers." :) Have seen similar in some electronic techs who could intuitively repair about any gadget almost by sense of smell. "How did he do that?"

Post

JCJR wrote: Wed Nov 06, 2019 8:39 pm It took me a long time to adapt to the COM paradigm. Learned to get along with it but COM seemed like trying to engage in sex, in a weightless vacuum environment using radar navigation with both partners wearing space suits.
COM was indeed somewhat of an abomination. One of the smartest things MS ever did was to hire the Borland brain trust who created Object Pascal and Delphi. They were the ones who showed MS how to do OO the right way, and from them we got .net. COM, RIP (rest in perdition).

Post

dmbaer wrote: Wed Nov 06, 2019 9:34 pm They were the ones who showed MS how to do OO the right way, and from them we got .net. COM, RIP (rest in perdition).
Yes, we got .NET 1, .NET 2, .NET 3, .NET 3.5, .NET 4, and soon, .NET 5. Because why should Java get all the incompatible versions! :lol: I never had to deal with COM, so I don't know what Ye Olden Days were like, but runtime version hell is pretty much the new library version hell. Of course, this is a different matter from OO.

I'm not sure anybody has gotten OO "right", but I haven't truly delved into Simula or Smalltalk properly yet. There are some features I can't live without (or, prefer not to since they simplify some techniques greatly, like polymorphism), but most of it is utter junk and needs to be shot into the sun.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

Well one thing about COM, it was kinda like having sex in a spacesuit but enabled quite different kinds of code to talk to each other. I don't know if versioning was really that much of a problem. It was just tedious as hell, especially if you are a cautious type who wants to trap and try to elegantly back out of every possible error that can happen.

Call a dx file converter or whatever and write in "elegant possible failure" to every tedious step. Which IMO needed to be done even if in practice the process NEVER fails unless the user's computer is completely FUBAR. It is just so whiney-sounding trying to explain to the user, "Really, sure the crash happened on our program but it was the fault of this external code we have no control over!" Better just never crash, ever. Even if it don't exactly work right, at least never crash.

About the same deal applied to my ignorant feelings about COM-like Mac Coreaudio-family processes, that were the same "sex in a spacesuit" so far as I could tell. Tedious multiple error-checking easing-in and backing-out of opaque indirect-referenced code objects. I'm just a wimp complainer. :)

Post

Apple support has become more and more of a pain for me, but I can't stop supporting it because it represents 50% of my business. At this time, the numbers for me are:

Paid plugins: 50% on macOS, 50% on Windows
Free plugins: 25% on macOS, 75% on Windows

The main issue I have with Apple is that 99% of the support requests I get are from macOS users. I get barely any support requests from Windows users. In fact, it's very rare, almost non-existent.

The other issue with Apple is the fact that I have to update and re-upload my entire line of plugins every 2 years or less (usually, it's every year). I have 25 plugins that are maintained, most of the maintenance is just for the Mac versions.

I haven't done the math yet, but even for the amount of time it takes me to release and maintain macOS compatible plugins, I think it's still worth it. But sometimes I feel like dropping it and do like Magix by staying focused on Windows...

Post

SampleScience wrote: Thu Nov 07, 2019 4:07 am The main issue I have with Apple is that 99% of the support requests I get are from macOS users. I get barely any support requests from Windows users. In fact, it's very rare, almost non-existent.
I think that says more about Mac users than macOS. I worked support for a company that was predominantly Mac (90%?) when I started, but shifted to probably 50% Mac vs PC by the time I left. The majority of issues were with Mac users, still.

And this was a hardware company... :dog: :lol:
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

Are most of the Mac support requests also related to compatibility?
s a v e
y o u r
f l o w

Post

Anecdotal evidence, the best kind.

Post

I'm curious: what type of Mac issues did you have to deal with?

When I worked in support, I'd estimate that 5% of the issues I saw were actual bugs, 10-20% 'how to' questions (not really issues, but legitimate usage questions), 10% user error issues, and all the rest real issues that could, in most cases, be resolved by systematic troubleshooting.

Post

It took me a long time to adapt to the COM paradigm. Learned to get along with it but COM seemed like trying to engage in sex, in a weightless vacuum environment using radar navigation with both partners wearing space suits.
This, only each partner could have any number from zero to five of eleven different kinds of genitalia, with a variety of mechanical and chemical (in)compatibilities; any number of partners with all participants able to join and leave the, er, situation at will, and all capable of the sexual equivalent of polyrhythmic four-limb independence (or the appropriate number of limbs for the species-type involved).

(OK, I probably read a bit too much Iain M. Banks. RIP. But I dare anyone who's written multi-threaded COM code to tell me I'm wrong.)
I remain thankful for your help back then figuring out some of the DX and VST hosting. I am a plodder quite willing to study documentation and figure it out. But some of that stuff seemed sparse-documented with bad ambiguous writing, plus poorly-commented header files. Was amazing that some smart folks such as yourself could figure out how to make it work early on considering such a paucity of information.
I look back at that code and the best I can say is that it did a pretty good job of _appearing_ to work ;)

Or put another way.. of all the ways DX could have gone wrong, it was only really around long enough to go wrong in some relatively small percentage of them.
This account is dormant, I am no longer employed by FXpansion / ROLI.

Find me on LinkedIn or elsewhere if you need to get in touch.

Post

SampleScience wrote: Thu Nov 07, 2019 4:07 amThe main issue I have with Apple is that 99% of the support requests I get are from macOS users. I get barely any support requests from Windows users. In fact, it's very rare, almost non-existent.
What are your most common support requests from macOS users?
AudioThing (VST, AU, AAX, CLAP Plugins)
Instagram | Twitter | Discord Server

Post

audiothing wrote: Thu Nov 07, 2019 1:35 pm
SampleScience wrote: Thu Nov 07, 2019 4:07 amThe main issue I have with Apple is that 99% of the support requests I get are from macOS users. I get barely any support requests from Windows users. In fact, it's very rare, almost non-existent.
What are your most common support requests from macOS users?
"Logic does not find my audiounit plugin"

...because Apple's au validator is broken since Mojave and Logic's plugin caching is a mess

Post

Markus Krause wrote: Thu Nov 07, 2019 4:26 pm"Logic does not find my audiounit plugin"

...because Apple's au validator is broken since Mojave and Logic's plugin caching is a mess
Yeah, that's actually broken since High Sierra.

We have heavily reduced support tickets for this and other issues with a simple javascript suggestion box. It scans for common keywords like "doesn't show" "isn't visible" etc.. and it shows a suggestion.

Checking the mentions of "restart your mac" in the last 6 months of tickets shows only 14 occurrences, about 2 tickets per month. Which are taken care of with a simple canned response.
AudioThing (VST, AU, AAX, CLAP Plugins)
Instagram | Twitter | Discord Server

Post

audiothing wrote: Thu Nov 07, 2019 1:35 pm
SampleScience wrote: Thu Nov 07, 2019 4:07 amThe main issue I have with Apple is that 99% of the support requests I get are from macOS users. I get barely any support requests from Windows users. In fact, it's very rare, almost non-existent.
What are your most common support requests from macOS users?
In my case, it varies greatly. Sometimes it's from people who didn't read the 2-pages manual and doesn't know how to install. Other times its bugs I've never heard of or doesn't experience on my own mac. I give people the benefit of the doubt and try to help them. Usually, the bugs are there because the user doesn't meet the minimum system requirements. I also have mac users who expect an installer and if there is none they contact me instead of reading the installation instructions. Etc.

It goes in all directions.

Since High Sierra I know that mac users must restart their computers, so I added the information in the manuals. Since then, it greatly reduced the number of requests of people not seeing their plugins. It made a difference.

My strategy for the moment will be to update my FAQ with as much information as possible.

Post Reply

Return to “DSP and Plugin Development”