Soundbooth and PowerPC Chips

John Nack has commented as a long-time Mac user in the Soundbooth forums as well as on his blog on the subject of Soundbooth’s support of only Intel-based Macs. His post is worth a read, but one of the comments on his blog sums up a lot of frustration people are expressing:

The use of Xcode means that, afaik, the creation of a universal binary would’ve required Adobe to click a check box before compiling. They chose not to, and that is what upsets people, I believe.

Oh how I wish this were true. As I said originally, we really wanted to make a PPC version but the “make universal” checkbox simply wouldn’t work for us. If it would I’d be in there yelling for our engineers to check it and get me a PPC version–I’m not in the habit of passing up potential customers! However, as has been pointed out elsewhere we have buckets of Intel-specific code for modules in Soundbooth that would all have to be re-written to work on PPC chips. The spectral view and the edits you can do there are a good example of something that could work on the PPC but would be so dog slow as to be worthless without this kind of work. We leverage this sort of Intel expertise all over the application.

Even if we could check the box to produce a PPC version, and dedicate engineers to re-write all that Intel-specifc code, most people don’t consider the impact that has on testing and quality assurance–which is a non-trivial part of getting a release out. (Just ask our QA team who worked through the weekend tracking down issues to get the public beta out last week). A different chip architecture means a different test bed, which in turn means a lot of additional testing time. Every aspect of the application has to be re-verified–all that Intel-specific code we would have re-written for PPC would have inevitably introduced new bugs and testers are rightfully distrustful of the idea of “oh, don’t worry, the software will work the same on both chips.” Engineers can write all the code in the world, but without a good QA team running through all of it you probably wouldn’t want to buy what they produce…

All of that is to say that creating a PPC version would have been possible, but it would have taken considerable resources for our team. We used our PPC/Intel analysis as part of our platform decisions and balanced that with all the other things that go into a software release: our desired feature set, how much time we’d take to stamp out bugs to reach our high quality standards, how many people we have on the team to work on it, and when did we need to ship it in order to capitalize on the opportunity.

People talk of a monolithic Adobe but we’re made up of dozens of product teams, some smaller than others. As a team we looked at all the factors and concluded that we could make this app but we’d have to give up some significant things. The two huge things that hit the cutting room floor were PPC support and several dozen features we all desperately wanted but simply couldn’t get done. They were excruciating choices, and people will argue we should have made different decisions instead. That’s what making software is like.