John Gruber has posted a thorough, thoughtful piece on iTunes, Cocoa, and 64-bit software. He makes a number of useful, sensible points about how Cocoa is “not magic pixie dust” but does open the door to UI & performance improvements. (Lest anyone forget, the Photoshop team has been working for quite a while to move Photoshop to Cocoa and 64-bit.) It’s well worth a read.
A few thoughts:
- Getting functionality for free (e.g. when a standard Cocoa control is improved) sounds great, but it’s something a developer like Adobe has to consider carefully:
- Whether or not it’s important to you, cross-platform consistency matters a great deal to many customers (e.g. those in a large company that runs Macs & Windows machines). It’s hard to expose one’s apps to those sorts of changes. (As I’ve written, consistency within an OS & consistency across OSes both matter.)
- I know Adobe apps sometimes catch flak for using custom UI widgets, but you don’t want the apps limited (or made inconsistent) by what the different OSes provide. If customers benefit from something like scrubby sliders, and if you want the experience to be consistent, you need to provide them yourself.
- Gruber writes, “Maybe the Carbon APIs will never go away, but I wouldn’t bet on that.” I don’t know what Apple plans; I just ask (as I’ve asked them previously) that they communicate plans in advance. If they want to say, “Listen, four years from now, Carbon-based & 32-bit apps aren’t going to work anymore, period; you can transition everything now, you can wait ’til the last second, or you can spread it out,” that’s fine. (It’s enormously helpful in planning, actually.) Just provide plenty of lead time so that no one–Mac users, developers, or Apple–gets squeezed.