Old 01-01-2008, 08:46 AM   #1
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,747
Default how bad to require 10.5?

Hi Mac people. I've got most of my plugins ported to OSX, and I've made both VST and AU versions. But I'm new to Mac, and I think I've been suckered by what seems to be a common Apple development problem, which I wasn't looking out for.

Without getting too technical, apparently I have to choose between making my code backwards compatible, or forwards compatible, or else doing everything twice, which is annoying. (I am happy to get more technical if anyone listening is familiar with the cocoa-in-carbon problem.)

The code I've written, following all of Apple's current development recommendations, is compatible with any audio host program, no matter how outdated the host's programming is, but only if the user is running 10.5. To make my plugins work in 10.4 and earlier, I need to rewrite a bunch of code to do things the old way, which will eventually not be supported by Mac.

So the question is: how bad is it to require 10.5? I know audio users tend to be conservative about upgrading, because it's costly to intentionally make your setup unusable for an unknown period of time. On the other hand, developers of new applications will all face the same problem I'm having, and many of them will opt to require 10.5, which will in turn cause more users to upgrade.

(In the Windows world, something like this would be dealt with by providing a redistributable library component, which developers can distribute with their applications. As far as I can tell, this doesn't happen in the OSX world.)

All advice is appreciated in this strange new world. Thanks!

(To be clear, I'm talking only about my own plugins, not Reaper. OSX Reaper runs fine under 10.4.)
schwa is offline   Reply With Quote
Old 01-01-2008, 11:43 AM   #2
GIlJanus
Human being with feelings
 
GIlJanus's Avatar
 
Join Date: Apr 2007
Location: Vermont, USA
Posts: 50
Default

This is my perspective.

I have a MacBook Pro 2.16/3GB/160GB running 10.4.11. I could run 10.5, but since my MIDI keyboard and Audio Interface is a Line6 Toneport KB37 - I won't be upgrading until Line6 gets their act together. Lots of issues about not installing, or installing but not really working well have been reported in their forums.

No reports of my M-Audio Trigger Finger not working in 10.5.

So I'm waiting for Line6 - I need both the keyboard and the audio-interface to work correctly. I also use the standalone Gearbox software to practice guitar.

I do own the Gearbox plugin product - but it's only AU on a Mac, so I need Reaper to support AUs - but that's up to Justin's allocation of time.

Your plugins look very interesting, but if it requires a large amount of work, it might not be worth it - see how other folks report their issues or not.

Hope this helps,
Gil
GIlJanus is offline   Reply With Quote
Old 01-01-2008, 03:08 PM   #3
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

noooooooooooooooooooooooooooooo
Justin is offline   Reply With Quote
Old 01-01-2008, 03:55 PM   #4
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,747
Default

Quote:
Originally Posted by Justin View Post
noooooooooooooooooooooooooooooo
On principle? Or ... ?
schwa is offline   Reply With Quote
Old 01-01-2008, 04:01 PM   #5
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Quote:
Originally Posted by schwa View Post
On principle? Or ... ?
Well, a) I still have 10.4, b) there's still a lot of hardware out there that won't work with 10.5 yet...
Justin is offline   Reply With Quote
Old 01-01-2008, 06:17 PM   #6
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,747
Default

Quote:
Originally Posted by Justin View Post
Well, a) I still have 10.4, b) there's still a lot of hardware out there that won't work with 10.5 yet...
It's a drag really, I mean Apple pushes Cocoa as the only way to go, and gives you these bridges to use Cocoa inside legacy apps that need a Carbon window framework, but the bridges require 10.5. By the time I replace the bridge code with actual hooks into the carbon event handler, I'd have been better off using Carbon from the start.

[rant] Hey Apple, if you're going to deprecate an API and provide a bridge between the new API and the old one for legacy code, that's called "backwards compatibility," and requiring the latest OS for backwards compatibility is an oxymoron. [/rant]
schwa is offline   Reply With Quote
Old 01-02-2008, 12:25 AM   #7
spaz
Human being with feelings
 
Join Date: Aug 2007
Location: Not too far from SeaTac Airport
Posts: 29
Default

Quote:
Originally Posted by schwa View Post
Hi Mac people. I've got most of my plugins ported to OSX, and I've made both VST and AU versions. But I'm new to Mac, and I think I've been suckered by what seems to be a common Apple development problem, which I wasn't looking out for.

Without getting too technical, apparently I have to choose between making my code backwards compatible, or forwards compatible, or else doing everything twice, which is annoying. (I am happy to get more technical if anyone listening is familiar with the cocoa-in-carbon problem.)

The code I've written, following all of Apple's current development recommendations, is compatible with any audio host program, no matter how outdated the host's programming is, but only if the user is running 10.5. To make my plugins work in 10.4 and earlier, I need to rewrite a bunch of code to do things the old way, which will eventually not be supported by Mac.

So the question is: how bad is it to require 10.5? I know audio users tend to be conservative about upgrading, because it's costly to intentionally make your setup unusable for an unknown period of time. On the other hand, developers of new applications will all face the same problem I'm having, and many of them will opt to require 10.5, which will in turn cause more users to upgrade.

(In the Windows world, something like this would be dealt with by providing a redistributable library component, which developers can distribute with their applications. As far as I can tell, this doesn't happen in the OSX world.)

All advice is appreciated in this strange new world. Thanks!

(To be clear, I'm talking only about my own plugins, not Reaper. OSX Reaper runs fine under 10.4.)
I would prefer to see 10.x, but at least 10.4

i know that my Alesis IO|26 has only beta 10.5 drivers and i havent looked at novation yet to see what would happen with my remote SL

loosing either would make using your stuff a nonstarter.

FWIW:
from a deep dev geek standpoint, i'd be interested in learning more about what's causing you grief.

my personal belief is that one should right osx stuff with Cocoa and say TTFFF to Carbon, but my own limited experience indicates that a some OSX audio/midi stuff has only carbon support.
spaz is offline   Reply With Quote
Old 01-02-2008, 12:50 AM   #8
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,747
Default

Well, the grief is this -- a Cocoa plugin can talk directly to a Carbon host in 10.5, but not in 10.4. To support both Carbon and Cocoa hosts in 10.4, I need to write two versions of the same code, one in Carbon and one in Cocoa.

In fact, I'd have been better off if I'd just done the whole plugin framework in Carbon, and left it to Cocoa hosts to deal with compatibility. There's zero reason for me to use Cocoa, except for the fact that I already did the whole thing in Cocoa, because of course Cocoa is better than Carbon, and Cocoa is the future, and Carbon will be deprecated, and Apple nicely provides this easy way to embed a Cocoa view inside a Carbon window -- but only in 10.5.
schwa is offline   Reply With Quote
Old 01-02-2008, 06:23 PM   #9
Brokenstylus
Human being with feelings
 
Join Date: Mar 2007
Location: Huddersfield, England
Posts: 28
Default

I've only had my Macbook (1.8Ghz) for just over a year so I won't pretend to be an expert on all things Mac but I did assume that a lot of the DAW's (at least the 'main players') would support Cocoa by now. However, I did a bit of Googling and came across a post on the Apple mailing list that explains which DAW supports what and it came as quite a surprise to see how few of them support Cocoa http://lists.apple.com/archives/core.../msg00028.html (this has hopefully changed a little since last year.)

I'm running 10.5.1 at the moment but only in a hobbyist/student capacity (no external audio hardware on my Mac) so the upgrade from Tiger wasn't a problem but I realise that people running a Mac in a commercial setting would be apprehensive about upgrading.

I read a few things pre-leopard about how some third party apps would require Leopard but the articles hinted at the fact that this was about Quartz Animation more than anything.

I understand your dilemma though, to cater to the largest amount of users would require two separate versions (which carries the added problems of having to update 2 versions of the plugins, potential complaints from users who download the wrong version and wonder why it won't work etc etc...just an example!) while the easiest and most "future-proof" way would be to require 10.5 and cut out a lot of potential users

In my opinion, I'd go for the Cocoa option to keep things moving forward.
Brokenstylus is offline   Reply With Quote
Old 01-02-2008, 07:45 PM   #10
w00t
Human being with feelings
 
Join Date: Oct 2007
Posts: 133
Default

hi. love the plugins well...I have an intel macbook that (unknown to me at the time) was perfectly running tiger, and i upgraded to leopard instantly. probably a big mistake audio wise, but i have since used "boot camp" to load windows and be fine with my hardware (radium 61 ; M AUDIO mobilepre usb) ....from what the commercials would have you believe is that "vista" was the new OS that was giving grief when it came to hardware.....good thing my resolution is "10 percent or less of tv watching than last year" lol


but i say go with cocoa. in one form or another, people are gonna need to upgrade to leopard. once more hardware issues are sorted, then more and more people will feel better about upgrading. but of course i dont know business wise how badly that may effect things.


bah what do i know. stupid thing for them to do, and its burden is passed onto the developers like you, albeit in the "brilliant and aesthetically pleasing" way that only apple can do :/

hope you get it sorted somehow.
w00t is offline   Reply With Quote
Old 01-02-2008, 08:09 PM   #11
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,747
Default

Well, bah. I decided to target 10.4, but of course I need forward compatibility too, so I kept all the Cocoa code in there and wrote Carbon code to do the Exact Same Thing. So Cocoa hosts will get Cocoa views, Carbon hosts will get Carbon views, and I get a headache, an unsatisfying shot of bourbon to deaden the pain, and then a hangover.
schwa is offline   Reply With Quote
Old 01-07-2008, 09:45 AM   #12
adouglas
Human being with feelings
 
Join Date: Oct 2007
Posts: 84
Default

Not being a programmer myself, but a long-time Mac user (since 1985), experience has shown me that development for the future is wiser over the long term than development for the past.

If you develop for backwards compatibility, you may please current users for a little while, but sooner or later everyone will have moved on.

No matter how much people whine about how the old OS is so much less buggy and so much better supported than the new OS (and it happens *every* time there's a new OS introduction, always has, always will), everyone without exception upgrades sooner or later. Early adopters deal with bugs. Late adopters deal with growing levels of incompatibility and shrinking levels of support.

Show of hands...who's still using OS 9? Who's still using Classic apps? Who's still using a 68000-series machine? Anyone? Anyone? Beuller?

In my experience, users tend to react only to what's in front of them at the moment and don't look ahead six months. People gripe about lack of driver support, or a particular bug, or some other nit. So, you're going to hear a lot of people campaigning for backwards compatibility because they don't want to update their OS for whatever reason. I'd love to hear how many of those same users are still on Tiger by Q4 08.

The time you spend developing for an old OS is, ultimately, wasted time IMHO.

Seems to me that this is not a clear-cut A/B decision. Here's why: If you keep on developing for the old OS, eventually you're going to have to do things over again anyway, right? So option A (backwards compatibility) doesn't actually save you any effort in the long run.

Logically, the only way you're going to get out of duplicating effort is to just develop for 10.5+ and let the world catch up to you.

Look forward, not back.

My $0.02.....

Last edited by adouglas; 01-07-2008 at 09:52 AM.
adouglas is offline   Reply With Quote
Old 01-07-2008, 02:52 PM   #13
mark604
Human being with feelings
 
Join Date: Oct 2007
Posts: 35
Default

Quote:
Originally Posted by adouglas View Post
Not being a programmer myself, but a long-time Mac user (since 1985)...everyone without exception upgrades sooner or later. Early adopters deal with bugs. Late adopters deal with growing levels of incompatibility and shrinking levels of support. Show of hands...who's still using OS 9? Who's still using Classic apps? Who's still using a 68000-series machine? Anyone? Anyone? Beuller?....I'd love to hear how many of those same users are still on Tiger by Q4 08.
Well, I've been using Mac just as long, and when it comes to audio, engineers can be very conservative. I never used OS 9. I went from 7.6.1 to 10.2. Thereby going from one extremely stable OS to another extremely stable OS. So there is a very good chance I will still be using 10.4 in 2009. I would have my 8100/110 set up if I had room for it. It still does everything it did back when I was using it, and although I wouldn't use it for editing, it would make a very nice hardware sampler.

Regardless, at this point in time, 10.5 is too new to exclude 10.4 compatibility.
mark604 is offline   Reply With Quote
Old 01-07-2008, 03:30 PM   #14
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

That's true, I wouldnt do anything that would hurt forwards compatability.. however when you can do make something that's just as good (but requires a bit more code) and is backwards compatible, I'd say you should do that.
Justin is offline   Reply With Quote
Old 01-07-2008, 05:28 PM   #15
adouglas
Human being with feelings
 
Join Date: Oct 2007
Posts: 84
Default

Quote:
Originally Posted by Justin View Post
That's true, I wouldnt do anything that would hurt forwards compatability.. however when you can do make something that's just as good (but requires a bit more code) and is backwards compatible, I'd say you should do that.
That of course is the best from our standpoint.

BTW, I'm not an audio engineer either. Just a hobbyist who wants to use Reaper to have some fun and make the occasional demo. I certainly understand the conservative approach, but I wonder just how prevalent that is? Going straight from OS 7 to OS 10 is extraordinary... in fact, unprecedented in my experience.

However, my trade is publishing and design, not audio, so I undoubtedly have a different view of how often users upgrade.
adouglas is offline   Reply With Quote
Old 01-08-2008, 06:27 AM   #16
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

I've used MacOS9 rigs not a year ago because they worked so well.

Audio users are like most professionals. They want their rig to work and have no down time.

I'd vote for the extra code if it gets you more(most) users. 10.4 is still the norm, and some use 10.3 is their rig is most compatible with that.
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 05:48 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.