Filed under: Software, Universal Binary
MacBU programmer talks Universal Binaries
It
is a good sign that some developers from Adobe and Microsoft are talking about why there aren't Universal versions of
their products. I don't think anyone thought that this would be an easy thing to do for complicated applications like
Office or Photoshop, but clearly there is demand and the companies know that.Rick Schaut, of the Mac BU (Microsoft's Mac development team, and the largest Mac developer right after Apple) takes some time to dispel some myths about the transition. Folks, these apps are huge, complicated messes and in order to get them running natively on Intel Mac requires a change in the very way these applications are compiled. Not something anyone should rush into.

![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 1)
Phillip said 10:54PM on 3-25-2006
First!
Anyway, Mathematica was a large and complicated program. Though in different ways I suppose...
Reply
Michael Bedar said 12:15AM on 3-26-2006
MS is the second largest Mac software dev? I would have thought that Adobe would take that honor...
Reply
Wry Cooter said 12:18AM on 3-26-2006
Mathematica was not built Frankenstein style from 20 years of patching legacy code, by competing groups of programmers that rarely had a chance to meet and see if they were on the same page, cobbling together acquisitions from companies they put out of business.
The thing is, Apple has been singing this cocoa song since OS X became public; you'd have to be a total fool to ignore the possibility they were asking for developers to go cocoa for some very obvious reasons.
Reply
Wheels said 2:05AM on 3-26-2006
I love the comment about "Well, we ignored Apple's advisory about switching over to Xcode, but that's a meaningless thing because the pain we're going through now is the same pain we would've gone through then." That's stating the obvious. But the real point is that if BU had converted over to Xcode back to in the day, they could've done it during an upgrade cycle and nobody would be the wiser. But now that they've been caught with their pants down, they just look sloppy and sound whiney. Also if they did the job back then, they could have spent all this time focusing on making sure the universal compiling came out right.
All this proves is that Adobe and Microsoft gave Apple the preverbal finger when Apple told everybody to switch to Xcode, and now they're paying for it.
Reply
Ralph Daily said 9:59AM on 3-26-2006
The MacBU post sounded pretty rational to me. Even Apple has had to take some time on its pro apps.
Reply
Jer said 5:55AM on 3-27-2006
Speaking of Microsoft, interesting post and even more interesting comments on the Vista delay.
http://minimsft.blogspot.com/2006/03/vista-2007-fire-leadership-now.html
HUGE comment thread, looks like lots of internal ms folks. Best quote so far:
"What is the difference between OS X and Vista?"
"Microsoft Engineers are excited about OS X!"
Reply
kumaw said 10:37AM on 3-27-2006
Wheels, you're an idiot. From the article:
----------------------
While Apple did advise developers to move to XCode, Apple was rather tight-lipped as to the fundamental reason why. In the mean time, developers had to consider that advice along with the fact that Metrowerks' toolset was both significantly faster than the XCode/GCC combination and generated better code than XCode/GCC. No sane developer would sacrifice both a significant level of productivity and the quality of their product merely because Apple said so.
----------------------
The reason why many CodeWarrior users didn't switch to Xcode was because Xcode has been an inferior development environment in many ways. Significantly, it is much slower and produces slower code than does CodeWarrior. This alone is reason enough not to switch to Xcode. Xcode is getting much better with every release, but it's hardly an ideal development environment.
Besides that, you're argument is like saying that Microsoft has been telling everyone to switch to Windows for years and we're all just "sloppy and whiney" because we didn't and now we can't run the latest Windows-only game on our Macs. That is to say, your argument is moronic.
Also, just switching to Xcode does not magically give you a Universal binary. It's only the FIRST step. There's still a lot of work to do after that. Just look at all of Apple's Pro apps. They're probably all built with Xcode and none of them have been released as Universal yet.
Reply
kumaw said 11:00AM on 3-27-2006
Wry Cooter,
Switching to Cocoa is not a magic bullet, nor is it prudent for some applications. There's absolutely nothing wrong with Carbon, it's a first-class citizen on Mac OS X (both PPC & x86). In fact, many significant parts of Cocoa are either built on or rely on Carbon.
While yes, some things are easier to transition from PPC to x86 when using Cocoa, it's not a magic bullet that will fix everything. If I were to write any new application for Mac OS X I'd definitely use Cocoa over Carbon, but if you already have a very large application that's written in Carbon, there's no single compelling reason to completely rewrite it in Cocoa. It might be something that you'd want to do in the future to make the application easier to support, but there's no we-must-do-this-now-or-else reason to do it.
Photoshop (and Adobe's other applications) for example depend on Adobe's own cross-platform GUI libraries so they can easily make Mac & Windows UIs. These GUI libraries are based on Carbon so to switch to Cocoa they'd have to rewrite them and there's really no significant reason for them to do that.
Just having a Cocoa application does not mean that you can easily make a Universal binary. Some things might be easier with Cocoa than with Carbon, but there's still a lot of work to be done either way.
Reply