OS X 10.6 support survey


#1

How many JUCE users absolutely require OS X 10.6 support?

Raising the minimum deployment target to 10.7 would allow us to use many more C++11 features in the JUCE codebase, most notably std::atomic and std::*_ptr. As we move towards a more modern API and improve thread safety we have our hands tied in a lot of places because the features we want to use are unavailable in the older standard library required to target older machines.

The usage data we’ve collected contains only a few hits from 10.6 Macs, which is a fraction of a percent of the total, but that’s not a good measure of the JUCE ecosystem as a whole.

Regardless of your opinion on 10.6 compatibility it would be helpful if you could share any data you have regarding 10.6 usage.


#2

I have a friend who is a musician and claims he is stuck on 10.6 due to his dependency on Logic 9.


#3

That’s strange, as I have logic pro 9 working fine on my macbook with macOS 10.12.6

We have recently announced dropping support for 10.6 for our plugin and there are a few vocal users that are unhappy (the idea being generally that “macos 10.6 is the last good version of macos”). Just like there is a surprising amount of people being really angry that we drop support for windows XP… The good news is that we have also dropped PPC and nobody complained :slight_smile:


#4

I keep getting customers emails of users of 10.6.8. I would really like to move to 10.7 as well, but I think the time is still too early. In my opinion it is related to hardware and software incompatibilities on OSX. Computers that cannot be upgraded to 10.7 (without hacking the OS) are still being used by quite a few people (the same ones that realize they cannot sync a new iphone with 10.6.8) and audio people often will stick to a certain version of their DAW because they do not want to pay for a new version or dislike changes in newer versions. I think the problem is worse on Mac OSX because Apple is too quick to deprecate both hardware and software and many people have been burnt before. Updating the OS has too often lead to 3rd party stuff breaking on the mac platform (especially audio-stuff).

It’s also a programmer’s problem these days… look at me, still using OSX 10.11 and XCode 7 just because I’m scared things might break if I update my OS (for instants ironically the possibility to compile for 10.6.8).

t0m, adding your own std::function to Juce has made things much more easy recently. What other features of C++11 do you need for Juce? Maybe these could also be brought to Juce for 10.6.8 support. The problem is only the standard library, we have full compiler support. Lots of the missing functionality could be pulled from Boost on 10.6.8.


#5

I think this step makes total sense. If you really want to compile for 10.6 nobody forces you to upgrade JUCE.


#6

We dropped 10.6 support years ago. Yes, there is a vocal minority, but because they are so vocal, they make the problem appear to be much bigger than it really is.

We had literally 0.01% of our customers complain, but according to them it’s the end of the world.

Our minimum system requirement right now is 10.8, but we would have very little resistance if we changed that to 10.10.

The vast majority runs the latest and we don’t want to stand in the way of progress. We like progress. We use the latest stuff ourselves.


#7

I would love to agree, but the bug fixing policy towards master branch (of some bugs at least) is a valid argument against that.
Just a general remark, had no issues myself, I am always using develop.

But on the topic, I am in favour to drop 10.6.


#8

drop it!


#9

@pflugshaupt mentioned, that the clang that ships with Xcode 7 is C++11 compliant, but the stl is not. Why not use libc++ directly for 10.6 - perhaps in a different namespace - jucestd or something? Then there could be continued support for 10.6 while juce could use jucestd::atomic, etc. The projucer could auto select the stl namespace according the the minimum deployment target. This jucestl could maybe be a juce module that needs to be added in this case.


#10

Or why jump through all these hoops for 0.01% of all users? The cost benefit ratio is way off.


#11

I vote to get rid of it. We’re now only supporting 10.9 due to some OS features and have dropped 32-bit support for our DAW. 5 years seems to be emerging as the industry standard these days.

Yes, there are some vocal users still on old systems but if they don’t like upgrading because they don’t want to risk it or aren’t interested in new features why are they ok with updating your software? It doesn’t seem fair to pick and choose what is ok and what isn’t…

The other cost that isn’t mentioned here is development time. I know personally I’ve saved hundreds of hours of not only coding time but also debugging time due to using safer modern libs and idioms. I’m sure those 100’s hours of dev time more than makes up for any revenue from 10.6 users.

The standard and STL are very good these days and highly optimized, I’d like to see more of them in JUCE. It would also make the library easier to learn for newcomers if there weren’t so many JUCE alternative classes.

I’d also prefer the JUCE team spent their time working on cool new features than debugging a 10.6 jenkins report…


#12

True, got carried away.


#13

Using the new Xcode, I can just about compile to 10.8 even though it states some library is deprecated. I can’t remember which lib it was now, all I remember was waving my fist in the air in a general Apple direction! :slight_smile:


#14

We dropped 10.6 some time ago now and there has been very little in the way of complaints as far as I’m aware. We’re aware some users have stuck with 10.6.8 because they believe it to be a very stable version of OSX, however the same people are not likely to want to upgrade their plugins either.

I would support dropping 10.6, we done it for exactly the same reasons.

The protection scheme we use has also fairly recently dropped 10.6 support which will mean several well known manufacturers will likely be dropping support (if they haven’t already).

We also work with some other third party companies and all seem to be fine with dropping 10.6 support.


#15

Drop the OS X 10.6 support already, in the long run it will benefit the 99.99% of other users (and the sanity of the developer) :wink: We decided to only support >10.7 from day one and I can count on one hand the requests for 10.6 support we’ve had the last 4 years.


#16

drop it.


#17

Drop 10.6 support. We target 10.9!


#18

Drop it.


#19

Currently we released last updates with 10.6.
Newer products / releases will support 10.7 and greater.

I think best way would be to set a deprecation date and JUCE version that will be the last 10.6 supporting.


#20

Currently I’m still compiling for OS X 10.6. IIRC 10.6.8 was the last release supporting 32 bit Intel CPUs. 10 years ago such systems where still sold by Apple. 1.5% of my users (incl. Windows) are on OS X 10.6.x. Actually, all of them on 10.6.8.

I will release my upcoming product with support for 10.6.

Nevertheless I’m happy if you drop support for 10.6 in JUCE and move on.