April 02, 2008

Photoshop, Lightroom, and Adobe's 64-bit roadmap

As you've probably seen, among the great features in the Lightroom 2.0 beta is its ability to run 64-bit-native on Mac (Intel, 10.5.x) and Windows (Vista 64).  If you think it feels great to beat Aperture to the punch here, you're right. :-)

What does 64-bit computing mean, practically speaking? In a nutshell, it lets an application address very large amounts of memory--specifically, more than 4 gigabytes. This is great for pro photographers with large collections of high-res images: Lightroom being able to address more RAM means less time swapping images into and out of memory during image processing-intensive operations.

It's also important to say what 64-bit doesn't mean. It doesn't make applications somehow run twice as fast. As Photoshop architect Scott Byer writes, "64-bit applications don't magically get faster access to memory, or any of the other key things that would help most applications perform better." In our testing, when an app isn't using a large data set (one that would otherwise require memory swapping), the speedup due to running in 64-bit mode is around 8-12%.

Therefore 64-bit is a good thing for Lightroom now, and as the amount of data photographers handle inexorably grows, it'll become a bigger win.

The Lightroom news naturally raises the question: What's Adobe doing with Photoshop? In the interest of giving customers guidance as early as possible, we have some news to share on this point: in addition to offering 32-bit-native versions for Mac OS X and 32-bit Windows, just as we do today, we plan to ship the next version of Photoshop as 64-bit-native for Windows 64-bit OSes only.

The development is frankly bittersweet for us: On the one hand we're delighted to be breaking new ground with Photoshop, and when processing very large files on a suitably equipped machine, Photoshop x64 realizes some big performance gains. (For example, opening a 3.75 gigapixel image on a 4-core machine with 32GB RAM is about 10x faster.)  On the other hand, we work very hard at maintaining parity across platforms, and it's a drag that the Mac x64 revision will take longer to deliver. We will get there, but not in CS4.  (Our goal is to ship a 64-bit Mac version with Photoshop CS5, but we’ll be better able to assess that goal as we get farther along in the development process.)


I imagine some Mac users are starting to flip out (breathe, guys, stick with me!), so let me explain how we got here & nip a few concerns in the bud.

As we wrapped up Photoshop CS3, our plan was to ship 64-bit versions of the next version of Photoshop for both Mac and Windows.  On the Mac Photoshop (like the rest of the Creative Suite, not to mention applications like Apple's Final Cut Pro and iTunes) relies on Apple's Carbon technology. Apple's OS team was busy enabling a 64-bit version of Carbon, a prerequisite for letting Carbon-based apps run 64-bit-native.

At the WWDC show last June, however, Adobe & other developers learned that Apple had decided to stop their Carbon 64 efforts. This means that 64-bit Mac apps need to be written to use Cocoa (as Lightroom is) instead of Carbon. This means that we'll need to rewrite large parts of Photoshop and its plug-ins (potentially affecting over a million lines of code) to move it from Carbon to Cocoa.

Now let me be very clear about something: It's entirely Apple's call about what's best for the Mac OS and how to spend their engineering cycles. Like any development team, they have finite resources & need to spend them judiciously. They've decided that Carbon 64 doesn't belong on their roadmap, and we respect their decision. It's up to Adobe to adapt to the new plan.

As soon as we got the news in June, we began adjusting our product development plans. No one has ever ported an application the size of Photoshop from Carbon to Cocoa (as I mentioned earlier, after 9 years as an Apple product Final Cut Pro remains Carbon-based), so we're dealing with unknown territory. We began training our engineers to rewrite code in Objective C (instead of C++), and they began prototyping select areas to get a better view of the overall effort.

In short, Adobe has been taking prompt, pragmatic steps to enable 64-bit Photoshop as quickly as possible on both Mac and Windows. It's a great feature, not a magic bullet, and we're delivering the functionality as quickly as each platform permits.


Now, as I mentioned, I want to nip some concerns in the bud. You might think I'm a little paranoid, but I've been a passionate Mac user for more than 20 years, and I've seen more than a few controversies come and go. If any of the following come to pass, it'll really be annoying:

1)  Writers gin up controversy about Apple vs. Adobe, portraying this as a case of some tit-for-tat ("This one time, Steve wouldn't play golf with Shantanu, so Adobe is sulking!").  Oh, come on. This is why Lightroom x64 is a such a nice counterpoint: Adobe's decisions are pragmatic, not ideological. Look, Apple and Adobe share the goal of maximizing Photoshop performance on Mac hardware, and we're working together on all aspects of that story--64-bit included.

"If it bleeds, it leads," however, and writers looking to drive ad impressions will try to fabricate a grudge match.  Please don't let them.

2)  Adobe gets castigated for "dragging its feet" on Cocoa/x64.  This charge will be inevitable, I suppose, but I want you to know that we started work on the problem immediately after WWDC '07.  We started peeling senior engineers off the CS4 effort, and we'll keep pouring on the muscle in the next cycle.  This work comes at the expense of other priorities, but so be it.

3)  We start hearing all about "Cocoa Über Alles"--about how Adobe should have known that Cocoa is the One True Way™ and should have started the move years ago.  Most Mac users don't know Cocoa from Ovaltine, and nor should they: it's just an implementation detail, not a measure of quality.  I think Brent Simmons, creator of wonderful Cocoa apps like NetNewsWire, put it most elegantly: "Finder + Cocoa = Finder."  That is, rewriting one's app in Cocoa doesn't somehow automatically improve its speed, usability, or feature set.

I'll also note that Apple's Carbon Web site says, "Carbon is a set of APIs for developing full-featured, high-performance, and reliable applications for Mac OS X...  The Carbon APIs are also well-suited to cross-platform development."  I don't mention it to detract from Cocoa; I mention it to point out that each approach has its pros and cons, and in hopes that we don't hear all about how Cocoa is clearly the only way to write "real" Mac software.

So, the summary is this: 64-bit computing is an important part of the Photoshop and Lightroom story going forward, but it's not a magic bullet and we're not going to oversell it as one. We're delighted to be offering a 64-bit-native Lightroom on both Mac and Windows now, and to deliver a 64-bit-native Photoshop on Windows as part of the next release. As for Mac x64, we'll continue working closely with Apple (just as we've been doing) to make the transition as quickly and efficiently as possible.


PS: I know that users of other Adobe applications will want info on those apps' plans for 64-bit transition, and we'll work on sharing more info.  Broadly speaking, we’ll be applying similar criteria to what we followed in our digital imaging products to determine our 64-bit roadmap for the rest of Adobe’s applications. We’ll be prioritizing our 64-bit work based on the potential user benefits and the complexity of the code transition.

If you're a plug-in developer, you'll want to start reworking your code to run 64-bit native.  Note that there's an upcoming Creative Suite Developer Summit, and contact Bryan O'Neil Hughes if you need documentation on making the transition with Photoshop plug-ins.

[Update: The official FAQ on this subject is live on Adobe.com.]

Posted by John Nack at 09:01 PM on April 02, 2008

Comments

Nathaniel — 09:46 PM on April 02, 2008

Sigh. People have been telling Adobe to move to Cocoa for years now, it's been obvious *something* like this would happen eventually. That Apple kept Carbon around so long is probably a testament to how much they're willing to bend over backwards for Adobe.

No offense, but this sounds like George Bush standing before a press conference saying "who could have ever predicted difficulty in Iraq?"

[I suppose the obvious question is why, if Carbon is a poor choice for app development, Apple has continued to rely on Carbon for flagship applications like Final Cut Pro, iTunes, and even the OS X Finder. --J.]

Brian — 10:02 PM on April 02, 2008

Adobe isn't the only one this has happened to. Trolltech, who makes a somewhat popular cross platform toolkit Qt, has had to move to Cocoa (for 64 bit apps) much earlier than they probably expected.

I suspect there are many companies that will be in a similar boat, probably this will just cause most of them to defer supporting 64 bit until they absolutely have to.


Stu — 10:20 PM on April 02, 2008

Well said John.

How awesome that your very first comment more than proves the ferocity of the disinformation campaign that you're up against. Apple pledged 64-bit support for Carbon, and then told Adobe about their change of plans at the same time they told the rest of us. I'd hardly call that bending over backwards. Adobe is dealing with this situation correctly.

That said, those crazy people who keep telling you that Photoshop should be re-written from the ground up? They're actually right!

LKM — 10:24 PM on April 02, 2008

@Nathaniel: Yeah, people have been saying that. But these people had no knowledge of what Apple was up to, and were only right by accident. Apple themselves have been saying the opposite.

Jordan — 10:27 PM on April 02, 2008

Any public comment on when/if creative suite will install and work 100% correctly on a case-sensitive file system?

[No, as that's a separate issue. --J.]

Pecos Bill — 10:46 PM on April 02, 2008

I know this is a bit off topic, but I think there's a lot of negativity around Adobe as so often the Mac product is updated long after the Windoze version (or not at all). I used to be a Photoshop Elements fan starting with version 2. Happily went to 3. Then I saw how painful the organizer is on Windoze (PSE3 was gift for mom) and watched PSE 5 and 6 without a Mac version for that platform while PSE4 languished. There just wasn't value for me to pay to upgrade. I was holding for 5. Considering how long ago PSE6 was released, I'm surprised that Adobe's not calling the mac one version 7. Timing sure is right.

[I don't know anyone who'd disagree that the delay in releasing the Mac version of Elements 6 was unfortunate. "Big" Photoshop & Elements share a lot of code, so it wasn't possible to move PSE to Intel until Photoshop had first made the change.

I'd dispute the assertion that this happens all the time, however. Look at the Creative Suite: each of the, what, 13 large pro apps shipped simultaneously for Mac and Windows with (to the best of my knowledge) the identical feature set. Some Mac users will remember revs of Acrobat that were lacking quite a few features relative to their Windows counterparts, but things have been much closer (if not identical) in their world for quite a while.

I've been a Mac user since Sept. 1984, including all those bad times in the mid-90's. I remember signs pointing in the wrong direction, so I know why some Mac users are very sensitive to any signs of the platform being slighted. I'd just ask that people look at the big picture. --J.]

Once the trial version of 6 gets released to the web (why the delay?), I'll ensure it's a good step. As I've had MacIntel for almost two years, I can't imagine I won't upgrade.

I guess it all boils down to us Mac users are really tired of being treated or feeling like we're treated as second to Windows. (Express is decent, but I don't want to bounce hundreds of pictures off your server.)

Oh, the other factor is Adobe's lack of news about future plans. History says Adobe silence means bad things for Mac users. How nice that you took the time to share this info about 64 bit and how Apple dropping Carbon64 makes lots of pain for all. Also, since Tiger was initially going to be fully 64 bit, it's obvious Apple has battled it too.

Kit Grose — 10:55 PM on April 02, 2008

Not to nitpick, but why does a move to Cocoa require that the application be rewritten in Objective-C?

Safari is a cross-platform Cocoa application written almost entirely in C++ (at least as a driving implementation goal) to aid in porting to other systems; why can't a similar system be used for Photoshop (and the rest of the CS), where the application code is written in C++ and any supporting interface code is ported to Cocoa?

I mean, given Photoshop's size (and custom interface), I can't really see how much of the application is being handled by OS frameworks anyway.

Some info on this would be very interesting.

[Scott Byer in Photoshop engineering replies, "Short answer: it doesn't. That doesn't mean that we don't have to LOOK at all those lines of code to know what has to get pulled apart, re-factored, and re-written. We will take the Safari strategy of a thin Cocoa layer at the edge.

"We are much more about complete API and low latency and OS integration than a web browser. That makes for OS dependencies far higher up in the app, and a far wider use of the OS capabilities. A web browser, while not a small application, is in no way in the same ballpark as a Photoshop." --J.]

yet another steve — 11:18 PM on April 02, 2008

Finder + Cocoa = Finder. Says it all.

The idea that Adobe "should" have moved to Cocoa... engaged in the most massive port to Cocoa ever when the platform maker said they didn't have to is absurd. Obviously commenters stating that have no idea of the magnitude of effort entailed. Would you have rolled it into the move to Intel and delay that another 6 months or a year?

Cocoa has some advantages in a lot of areas, but virtually none to an existing carbon app until the 64 bit issue arose. Carbon is not some sort of emulation layer, it is a full fledged citizen and actually a bit lower level than Cocoa.

If there is any blame here it is Apple's in changing their road map. That said, it happens... you get down the road on a project and realize you are not doing the right thing. And somebody has to have the guts to make the decision to change the road map, even though it will hurt a lot of people.

Actually maintaining it for 32 bit, but not for 64 bit is a nice way to slowly sunset Carbon. Too bad Apple didn't realize this in 2006.

David Dugan — 12:12 AM on April 03, 2008

Mr. Nack, you’ve defended your position well for the most part--you’re obviously sensitive to the bad feelings that this news inspires among Mac professionals--but I must say that calling Apple to task for not coding every single one of their apps in Cocoa is a pretty weak defense against the idea that Adobe should have seen this coming years ago. “Hey, they’re doing it too!”

And, with all due respect, I would suggest that Apple is not going to be releasing 64-bit versions of the Finder, iTunes, and Final Cut Pro exclusively for Windows users while politely suggesting a bevy of reasons that Mac users should be content to suck hind tit for the next couple of years.

[First, obviously Apple doesn't make FCP or Finder for Windows. Second, do you actually want a 64-bit version of iTunes or Finder? What advantage would that provide? Do you really want to allocate 4+ GB of RAM to your music player?

The point I'm making is that people get wrapped up in quasi-philosophical positions (e.g. 64 bits is modern, so everything/everyone should do it) instead of focusing on real-world needs. --J.]

It simply shouldn’t have required *any* announcement at WWDC for Adobe to have plans in place to transition Photoshop to Cocoa some time long before CS5 or CS6. Which brings me to the most depressing part of this blog entry—the inescapable feeling I get that you’re already softening us up to the fact that even Photoshop CS5 probably won't be 64-bit on OS X: "Our goal is to ship a 64-bit Mac version with Photoshop CS5, but we’ll be better able to assess that goal as we get farther along in the development process."

Call me paranoid, but that sounds a lot like a pre-emptive qualification to me.

[I'm simply trying not to be irresponsible and commit us to something before we've had a chance to do all the necessary investigation. I'll note again that CS4's feature set will be reduced (albeit insanely rich anyway) due to the need to start devoting senior engineers to the Cocoa transition. Same goes for CS5. I'm not going to sit here and "guarantee victory"; instead I'll guarantee maximum effort. --J.]

Justin — 12:44 AM on April 03, 2008

Apple has made a point of telling developers to transition to cocoa. Even in beta versions of the OS, and eventually with Xcode. Why would a company the size of adobe, with all it's resources not start a skunkworks project in conjunction with Apple and build a mutually beneficial project to update Adobe products to a modern platform.

[Did you see the part where Apple describes Carbon as "a set of APIs for developing full-featured, high-performance, and reliable applications for Mac OS X"? That's not written in ancient, dusty Dead Sea Scrolls, by the way; that's from the Apple site, right now. My irritation comes from non-engineers' repeated suggestions (which I anticipated in the post) that Cocoa = modern & fast, whereas Carbon = old n' crappy. --J.]

When I say modern platform, it includes processor roadmaps to 64 bit that have been a decade in the making, a programing environment that has been building since the introduction of OS 10 and the company willingness to remove outdated code and programming practices in programs that have been around for as long they have been in existence.

[I've made the following point several times in this conversation, but let me repeat is for clarity: we *have* been removing outdated code from Photoshop version after version. On the Mac we've been transitioning from QuickDraw to Quartz, and as Scott points out, we already use elements of Core Image. We have favored technology transitions that offer palpable customer benefits (i.e. stuff you'd be motivated to pay for), placing them ahead transitions that just change the internals. (Otherwise you'd say, "Look at this new version; I don't see many changes. Lazy Adobe!")

Even so, we've been doing things like migrating from PEF to Mach-O, an effort that consumed significant resources for the entire CS2 product cycle. Don't know anything about that transition or those technologies? Good: that means we did our job, quietly updating our large code base. We didn't tell you about it because it was simply work Apple required of us, not something that would result in visible benefits to you as a user.

So, please pardon me if I'm a little annoyed at repeated uninformed suggestions that Adobe has been sitting around, willfully failing to update its Mac infrastructure. The fact that we didn't move from Carbon to Cocoa before now is due simply to the fact that there was no benefit to users in us doing so. The cost/benefit ratio changed when Apple made Cocoa the only way to deliver 64-bit GUI applications on OS X, and we changed our plans accordingly. --J.]

K Brown — 12:46 AM on April 03, 2008

Apple Adobe....whatever works for you.

Strange though isn't it that there's nothing posted here about the "Adobe Photoshop See What’s Possible Challenge".

[I posted this blog entry at 9pm last night and read/replied to comments until midnight. At that point I started helping my wife with our infant son, driving him up and down the peninsula until 4am, at which point I jumped back in here. Therefore my time to cover other news like the contest has been pretty limited! ;-P --J.]

Market share always comes first.

Hak — 12:58 AM on April 03, 2008

Does Photoshop use QuickDraw?

[Yes, it's still around in some places, but we've been working to kill our reliance on it. --J.]

If yes, then anyway you could go for 64 bits with a Quickdraw application as QuickDraw would have never made it to 64 bits even if Carbon was would have been available in 64 bits.

So in that case, a 64 bits Carbon would not have been so helpful, you would have to do major change to Photoshop anywau, no?

[They're all discreet chunks of work. We should (and will) kill off the last vestiges of our reliance on QuickDraw, and doing so will have user-visible benefits. I keep trying to make the point that we've put that kind of investment closer to the head of the line than others (e.g. Carbon->Cocoa) because it would pay off in concrete improvements that benefit users (and thus motivate them to pay for upgrades). --J.]

Mark Thomas — 01:15 AM on April 03, 2008

If there is any blame here it is Apple's in changing their road map.

Not so fast. The original roadmap was to mandate use of Objective-C for OS X way back when OS X was still called Rhapsody, but developers such as Adobe, whose apps were all chained to the old APIs, balked at the idea of a lot of hard work just to support what they perceived at the time as a doomed platform, so Apple developed carbon as a stopgap measure. The Finder was written as a carbon app in order to prove-out carbon's viability (which it didn't, not really — who doesn't loathe the OS X Finder?) and now we've got a handful of important carbon apps which — despite impassioned arguments (even from Jobs himself) that carbon is a first class citizen on OS X — nevertheless look and feel and behave strangely, and prove, if nothing else, that carbon has always been a kind of circus side-show whose days were numbered; I don't work for Adobe or Apple yet even I have understood this for what seems like a decade. So when Adobe says that Apple pulled the rug out from under them by cancelling 64-bit carbon, it's only half-true. The reality is that Adobe knew it would happen and should have been actively planning for it. They've had years to prepare.

…if Carbon is a poor choice for app development, [how come] Apple has continued to rely on Carbon for flagship applications like Final Cut Pro, iTunes, and even the OS X Finder?

The answer is obvious: carbon, being a bandaid for the lazy, encourages laziness. Final Cut and iTunes originated on the classic Mac OS, so once carbon was born it was a no-brainer to just carbonize them since that was the fastest way to get them running on OS X. But carbon has always been a kind of huge, clunky cludge. A programmer will tell you that there's no reason a carbon app can't be as good as a cocoa app, and that's absolutely true, except for the reality of human nature. I can usually spot a carbon app within seconds — they just feel wrong. They have quirks and seams and crazy angles. No, not because carbon itself isn't up to the task, but because of The Carbon Laziness Rule. There's a lot of stuff that cocoa gives developers for free — font panels, media browser, GUI elements etc. — stuff that in carbon takes a lot of extra work, and most carbon developers have shown a fantastic contempt for that extra work — even the Finder team at Apple.

One thing is certain: Apple, unlike Adobe, has been preparing for the demise of carbon and will have the Finder, Final Cut Pro and iTunes ready for 64-bits long before Adobe has Photoshop ready. I'd wager the work is mostly done.

[Out of curiosity, what is it you think a 64-bit version of iTunes would deliver that you're not getting now? Do you want to allocate more than 4GB of RAM to iTunes? Do you think you'd notice if it ran 8% faster, or 8% slower for that matter?

My obvious point is that 64-bit is one tool for building applications, but it's not something one does just for the sake of buzzword compliance. --J.]

a mac programmer — 02:04 AM on April 03, 2008

People who claim Adobe had been told to move to Cocoa ages ago forget one thing: Apple has kept telling developers that Carbon was just as supported as Cocoa. There was a fight going on inside Apple, which the Carbon guys eventually lost.

But until then (and that happened somewhere in the lead-up to WWDC '07), Apple was actively working on Carbon x64. They even shipped betas of it, and some companies had almost finished porting to Carbon x64 when Apple pulled the plug. Even more interesting: Some parts of Carbon x64 are actually used by Apple internally, Quickdraw x64 is supposedly used for QuickTime for example.

Rewriting an existing application with an existing framework to use Cocoa instead doesn't provide much of an advantage to users: The existing framework already contains code to do much of what Cocoa would do. Users will see little difference between the Carbon and the Cocoa version, but the port will tie up man-years. And people who ever ported to OpenDoc or Copland (the original, not OS 9), or Cocoa-Java or WebObjects know how quickly Apple will dump a technology that was its recommended technology before. Should Adobe have stopped developing Photoshop Mac just to port it to Apple's language of the day on the hunch that Apple would not continue Carbon as Apple's own representatives said?

As to why Photoshop would have to be rewritten in Objective C: It doesn't have to, but Cocoa itself is closely tied to Objective C and its data structures and runtime library. The actual GUI code needs to be Objective C and requires Objective C objects to talk to. If you are already doing that, you might as well throw away that entire layer's original code and make all of it Cocoa, because then you'll at least be able to take advantage of stuff like bindings, and get a cleaner design, and the break will be at a natural boundary.

Christian — 03:34 AM on April 03, 2008

Good post, John. Thank you for keeping us all updated, and we look forward to seeing the efforts of the engineering teams' hard work on these transitions.

Marcus — 03:53 AM on April 03, 2008

I remember a few years ago (I think it is 8), Apple has a couple of keynotes where a guy named Jobs stood up and told everyone that they would put Classic, Carbon and Cocoa into Mac OS X and that the plan was that applications should move from the left to the right over time. Guess what? He was serious.

Benoit Marchal — 04:07 AM on April 03, 2008

Thank you for sharing this depth of information.

John C. Welch — 04:14 AM on April 03, 2008

Okay, so it's my understanding, (probably incomplete), based on reading this page, that most of what's staying 32-bit in Carbon are the UI and related bits. So while Carbon isn't completely 64 bit, it's not completely 32 bit either.

Wouldn't separating the non-UI 'engine' code out from the UI allow you to get closer to all Cocoa in stages, rather than doing a complete rewrite?

(I get that "easier" here is really, really relative, i.e. "Well, this way, we only have to stab ourselves in one lung with a rusty spork, rather than resectioning our ascending colon with a butter knife and a staple gun", but if you can get there in stages, ala the 68K=>PPC transition, it may be *somewhat* easier.)

[My God, what a visual. ;-) Good questions; I'll put them to engineering. It's my (non-engineer) impression that lines between technologies tend to blur (e.g. Objective-C can now be mixed with C++). --J.]

Matt — 04:20 AM on April 03, 2008

I agree that there are a growing number of Mac users who are not satisfied with Adobe because of Elements. This will only add to the issue. Apple is starting to get their act together with Aperture at the right time, now they need to add more local adjustment capabilities to it and then maybe Adobe will have the right amount of competition to have an incentive to be in a leading position when it comes to things like early adoption of Cocoa and regular Element updates.

[Meanwhile, you should compare how non-destructive, non-modal local adjustment capabilities in the 64-bit Lightroom 2 compare to the modal, non-reeditable adjustments in the 32-bit Aperture 2.1. --J.]

jimhere — 04:25 AM on April 03, 2008

Writers gin up controversy about Apple vs. Adobe

If you think it feels great to beat Aperture to the punch here, you're right

You're a writer!

[There are places where Adobe and Apple compete, no question (Aperture/Lightroom; FCP/Premiere Pro), and that's not news. I was trying to head off crazy speculation that Adobe had chosen to delay a Mac 64-bit version of Photoshop for non-technical reasons (something to do with Flash on the iPhone, or whatever else one would care to make up). There's quite a difference between noting reality & fabricating it. Fortunately, at this point, I haven't seen any of the latter. --J.]

Anyway, this whole topic is waaay more important than re-vamping or overhauling UIs. Stick to this type of work instead of fancier 'panels' and things will be alright.

[The two are related, actually. Changes to product architecture can enable both greater user experience flexibility/richness *and* greater code portability. --J.]

At least you explained in early 2008 about how it's Apple's fault.

[I'd like to reiterate that I'm not trying to assign "fault" to anyone. I'm simply explaining the facts on the ground, so to speak, so that people have a clearer understanding of why some things take more time than others. --J.]

No doubt the Apple Corp managers think as highly of themselves as in any other company (remember that decision to discontinue the Palette Well).

And thanks for making it understandable (I'm not a code tech guy).

Peter — 04:36 AM on April 03, 2008

John, thank you so much for that post! I's great to finally know where Adobe is standing, even though I would have hoped for better news on the Mac side of course.

I really think that Apple's constant platform changes are a major annoyance for clients. I mean, I could theoretically still run LiveMotion or even Streamline on a recent Windows machine if I chose/needed to. Forcing developers to port their applications from Carbon to Cocoa is really unnecessary IMHO. It would have been a lot more fair had they been clear about that when they introduced OS X and saved companies the efforts that went into "Carbonizing" their classic applications, which in hindsight was a waste of time if they have to port them to Cocoa anyway. It's the customers that have to pay for the engineering efforts that go into porting the applications, and in the case of cross-platform applications like Photoshop even the Windows customers, even though they don't benefit in the slightest.
As you say, the folks at Apple have finite resources, but they take it out on companies like Adobe, having them and their customers pay their engineering bills for them so to speak. Oh well.

Anyway, I have a few questions pertaining to Photoshop/x64:

  1. 1) Would Adobe ship a Creative Suite where only some applications are 64 bit, or are there technical requirements for an all-or-nothing game, such as shared components?
  2. 2) Are there any additional benefits we can expect from a Cocoa rewrite of the UI aside from x64 compatibility? Like some easy-to-add features that would have been very hard to do in a Carbon-based software (such as built-in spell-checking for in the metadata description fields or something along those lines)?
  3. 3) Do plugins have to be rewritten for Cocoa compatibility? And will 32 bit plugins still work with the 64 bit Photoshop?
  4. 4) There are rumors that Photoshop does not use the full 16 bits in 16 bit color mode in order to avoid 64 bit math during processing. Does that mean that 16 bit mode will or could at least theoretically see an increase in precision on 64 bit systems while maintaining its current performance? Or is that rumor just plain wrong?
  5. 5) And lastly, does anyone know where Apple is headed with all their Carbon software? Port it to Cocoa as well? I'd imagine that porting Carbon to 64 bit should be easier than porting a set of several complex applications like Final Cut Pro and Logic to Cocoa. And does that mean that Finder on 64 bit OS X is still a 32 bit application?

ted — 05:02 AM on April 03, 2008

I remember the WWDC 2007 session State of the Union speech, where the decision to drop 64-bit Carbon was announced. I knew that Adobe was probably going to be the company most affected by this. I've had my issues with Adobe over the years (I'm still seething over the inept CS3 Installer and Updater on the Mac), but the blame for this lies solely on Apple's shoulders. Apple had 64-bit Carbon in the works, and announced at WWDC 2006. Adobe was already developing against it when the bomb was dropped at WWDC 2007.

Finally, expectations that Adobe should have moved to Cocoa previuosly are ridiculous. Up until WWDC2007, Carbon was a first class API on Mac OS X.

ted — 05:08 AM on April 03, 2008

To answer Kit Grose's statement about Cocoa/Obj-C and Safari... The part of Safari that is C++ is the rendering engine, which is abstracted out of the actual app and comprises it's own layer known as WebKit. The Safari app is written in Obj-C.

Martin Pilkington — 05:22 AM on April 03, 2008

@Mark Thomas: Got a few things...

1. I could write something that looks and functions exactly the same as the Finder in Cocoa. In fact I could probably get it to the point where you could hardly tell the difference. Cocoa is not a magic bullet and it's still very possible to write something that isn't very good in Cocoa.

2. You sound like quite a lot of people do (and like they did with the Intel transition), ie. you don't really have a clue what you're talking about. You show me your programming experience and I'll take you more seriously. Someone with little experience with programming does not appreciate the complexity of an application. My applications are relatively small (only a few 1000 lines of code) but they're still fairly complex. Now scale that up to several millions of lines, you see the issues.

3. Is it lazy when Apple said that Carbon was going to be supported, and that it will be in Leopard and that it will be 64 bit (see WWDC 06). They then turned around and said "actually no, the UI part isn't going to be 64 bit". It wasn't a case of them saying "No 64 bit Carbon in Leopard", it was a case of them saying that there will be 64 bit Carbon one year and then taking that back the next. I can see why Apple did it (supporting one UI framework is easier than supporting two), but some of the blame has to go to Apple for how they handled it


@Jack: I know it's going to be quite a way off, but it would be interesting to hear about the experiences Adobe had porting over their code once it's finished. Are there any plans to keep track of engineers thoughts and problems during the port so that they can be shared afterwards?

[Great idea, Martin. Maybe we can collaborate with Apple to share our team's experiences in hopes that it can help other developers looking to make the same switch.

I know that it's human nature to accentuate the negative sometimes, but we really do benefit from close collaboration with Apple, as they do with us. We help to uncover their bugs & they help uncover ours. The process helps strengthen tools like Xcode for everyone. --J.]

MarkusK. — 05:25 AM on April 03, 2008

If you have to port all your code to a new framework anyway, why don't you just use Trolltech Qt? It would give you the advantage of less code diffenernces between Windows and Mac and on top of that make a Linux version easier if you're interested in Linux. But even if you're not: Moving to Qt has IMHO more advantages than moving to Cocoa first and later rewrite the Windows version because MS dropped pre-.NET APIs in the time for CS6.

BWJones — 05:47 AM on April 03, 2008

Nice Dead Kennedys ref. there John. :-)

I should note that the scientific imaging folks that use Photoshop (like me) are going to be disappointed by this, though I understand Adobe's motivations here.

Joergen Geerds — 05:48 AM on April 03, 2008

Hi John,

thank you for the heads up. I am one of those users who desperately need a OSX 64bit photoshop (gigapixel, 16bit and layers) and not very happy to PSCS4 only on windows 64bit, but I understand the dev rationale. The question is: will Adobe grant a cross-platform license (running PSCS4 under win and OSX) for those users in need? I will probably run PSCS4.64 under bootcamp for those big tasks, but still do the majority of editing on the OSX side, so it would be great if Adobe would come forward and make the lifes of some OSX users a bit easier.
I am looking forward to see the 64bit version in action.

Brett — 06:01 AM on April 03, 2008

Aww that's a real bummer. Sucks. Damn. Fuck.

Maybe i'm a bit naive about this but can't Adobe just first write the 64bit in carbon and then aside do the cocoa twist?

John Herrel — 06:07 AM on April 03, 2008

Technology transitions can be a less than pleasant experience. 64-bit will be great when everybody gets there. Now let's deal with the near future. I am an advanced amateur photographer. I have a heavy duty 32-bit Windows Vista machine. Will Lightroom 2.0 also be available in 32-bit version for Windows Vista?

[Yep, absolutely. There's *no* way we'd be able (or would want) to drop 32-bit support anytime soon. --J.]

I am not a techy. Will 64-bit LIghtroom 2.0 run on my 32-bit computer?

[Lightroom 2 will run perfectly well, but not in 64-bit mode. (I believe there are separate 32 and 64 binaries on Windows, so you just need to grab the right one.) --J.]

I won't be acquiring a 64-bit machine until all/most of the apps I use everyday are 64-bit and I can easily work/share documents with the rest of the world that is still 32-bit.

[Odds on, if you have a remotely recent machine, you already have a 64-bit machine. (The MacBook Pro from which I type this has a 64-bit chip in it.) What you probably don't have is a 64-bit version of Windows. As for sharing documents, 32 vs. 64 has no bearing whatsoever. The data in the files isn't changed, just the way in which it's crunched. --J.]

Erland Flaten — 06:09 AM on April 03, 2008

I would like a good tool in Lightroom to merge several exposures to one. HDR is great to get higer dynamic in the exposure range. Maybe we can see this rang in good screens in some years. And maybe CCDs is capable to do it in one shot in the future. But to prepare shots today for good screens in the future. HDR merging is the thing. I have tried it in CS3 and dident understand it. I tried xfuse 0.5 and its great. Sometimes I doo large images in panoramas, but 64 or 32. I have to see it first. Adobes argument making 64 bit in win, but not OS X doesent make no sense. Cant see any differense in usage between the platforms.

So again move HDR to Lightroom. Its where it belong.

Alex Kent — 06:13 AM on April 03, 2008

[ring ring] [ring ring]

-Yeah, hi Steve, it's John here. Look, you know that Photoshop product we have... and how [pause] well, it's quite popular on your computers ?

-hi John, yeah, Steve here, just let me put down my latte. [pause] so Photoshop, what's up?

-This whole carbon64 situation has kinda gotten us in a jam, ya'know?
It's gonna look bad for both of us if we don't make CS4 64bit on Mac...
but, in the end, well, [pause] It's You that are going to loose sales. ya'know ?
[long pause]
I mean, we all knew that Carbon was going away and 64bit was coming and all that, but, well, you guys kept up with Finder and iTunes and everything...

-John, why would Finder and iTunes need to go 64bit ?

-Final Cut Pro then.

-Yeah those guys are in a bind. [pause] so, what are you saying John ?

-i guess, we could sort of, ya'know, deal with the situation, if you sent us some of your cocoa guys for a while ... like ... 6 months ?

[I do love the idea that Steve Jobs would spend his time calling me, of all people. ;-P ("On the Internet, no one knows you're a dog"--or a mere spear-carrier at a software company.) --J.]

DJCarbon43 — 06:33 AM on April 03, 2008

J, Bro...you've lost it. It's kinda wild that Adobe has had this long to transition to cocoa, and they still haven't...even after significant codebase rewrites. This really speaks to a lack of vision within the leadership.

[I disagree that prioritizing work that yields visible benefits for customers over work that doesn't = lack of vision. --J.]

If this keeps up, the competitors are going to eat you alive...they're already nipping at your heels. :(

Rosyna — 06:51 AM on April 03, 2008

I think the biggest thing to remember (Which was mentioned many times already), is that many of Apple's flagship products are Still Carbon. And Adobe has to deal with some font stuff and the 64-bit font stuff is *slightly* ambiguous. The Font Manager is gone, but ATSUI and ATS are still there (CoreText should always be used either way...). The only "documented" way to convert between the ATSUI stuff and the ATS font is via a function that doesn't exist in 64-bit for some reason (it's just a typecast).

And of course, Adobe's weird as hell eventing system. If anything is going to take buttloads of time porting to Cocoa, it's going to be Adobe's event handling. Compared to Carbon Events, the cocoa event handling system is like being shoved in a 3 foot by 3 foot box and being shipped off to Finland.

Antonio — 06:59 AM on April 03, 2008

I may have missed the boat on this, but you did mention that the next PS will be a 64 bit only?

[No, it'll run quite happily on 32-bit systems, and I would expect it to do so for quite some time to come. --J.]

and that this applies to both Mac and Windows? Both XP and Vista 64 have terrible driver support, let alone terrible application compatibility (running 32 bits apps is cumbersome, when successful and there are very few 64 bits version of the most used apps) You mean to say that you expect designers and photographers to purchase a new copy of Windows (most have XP 32 or Vista 32)loose the use of all their other 32 bit applications and many of their devices (because of lack of drivers) just to run PS a bit faster? that sounds to me a tall order, and will only alienate the middle ground user (many of them using PS because the advent of affordable Digital SLRs). Two versions, I can see it as a bridge and then make the one after 64 bits only, but the next version? have you really looked at the performance and support for Windows 64 bit OSs? have you really? I have my doubts (but thanks for keeping innovating, at least is a sure sign of good things to come from Adobe)

Chris Adams — 07:20 AM on April 03, 2008

Did Lightroom help at all with the migration process? I've gotten the possibly inaccurate impression that most of its image processing code was borrowed from Photoshop and was curious whether this turned out to be a good start for the process of replacing the UI without jettisoning all of that nice tested and tuned code.

[It's true that the Lightroom Develop module and the Photoshop Camera Raw plug-in share the same imaging code. The code at issue, however, is Photoshop's UI code. It may be surprising to non-coders (as it was to me when I got here), but UI code often constitutes a very large percentage of one's overall code base. --J.]

Alex Dahl — 07:27 AM on April 03, 2008

Woah, woah. CS4, CS5?! Planning ahead is great, but don't forget CS3. Care to share your CS3.1, 3.2 roadmap? I'm still encountering the PS text-entry bug, devastating system hangs in AI, and Leopard incompatibilities in ID. Take a break from CS5 and fix issues that have been around for years, please.

Peter van Veen — 07:33 AM on April 03, 2008

John - thanks for the insightful and balanced post. This must be immensely frustrating for you and your team.

I find it quite hard to take in that Apple would thwart a 64-bit release of one the Mac's flagship products, deliberately or otherwise. It is imperative for Apple that they are if not ahead than at least on an equal footing with Windows machines when it comes to key creative applications. Creative professionals don't just buy Mac Pros because they look cool!

Dude — 08:29 AM on April 03, 2008

[I suppose the obvious question is why, if Carbon is a poor choice for app development, Apple has continued to rely on Carbon for flagship applications like Final Cut Pro, iTunes, and even the OS X Finder. --J.]

Jack-
In one sense I feel bad for you (how come it has to be you bearing the bad news) ;) but to be honest the above quote is nothing more then a Strawman argument.

On one hand how are you expecting Apple users to be sympathetic to Adobe? Yet saying its all Apple’s fault? Adobe has noething to do with this situation? We have covered this ground before with the Sound booth fiasco. The Apple community has a long memory and has been treated as second class citizens by Adobe for the better parts of a decade, fine CS3 has gone to great lengths to address feature parity, but that has only been since Apple has been on the upswing.

These kind of announcements, these kind of treatment(s) is going to do nothing to the Apple fan base other push the cries ever louder for Apple to buy Adobe, to look to alternatives, etc…

If I were Adobe I’d tread veeeeerrrrrrryyyyy carefully these days… Microsoft is no-ones friend and Adobe at least publicly is once again giving the finger to Apple and its install base. Technical hurdles aren’t even entering into this equation.

Lets review:
- How many years did Apple lose because of Adobe balking at Apple’s plan to go to OSX. In hindsight Apple was right and Adobe (and others were wrong). oSX was the right route to go, but Apple had to back pedal and create Carbon.
- Soundbooth- Not a major hurdle but the slight was there for all the PPC users.
- How long did it take Adobe to get PhotoShop to OSX?
- The overly long cycle for the move to CS3. Thereby stunting sales of Apple’s pro level systems and quite probably the G5s?
- Some companies stance (and sometimes ever so slightly hinted at by Adobe) that developing for the Mac is a “gift”.
- You already have a good chunk of the Illustration market mad at you (read anyone who uses Freehand).
- CEO Chizen’s shenanigans on stage of “What took you so long” in the move to Intel. Then Adobe turning around and saying its Apple’s fault that the tools weren’t up to snuff. Regardless of who’s fault it actually was the entire fiasco was bush league. And here we are again years later with the finger pointing sayings its Apple’s fault, no matter how diplomatic the language is.
- AFAICR didn’t Apple come to Adobe to want to partner to make the apps that would become iLife? Didn’t Adobe turn Apple down?

That last point was the most telling to me. Apple learned an important lesson there and started writing the apps themselves or buying them. They were never again going to be left in the lurch by third party developers. I don’t doubt for one minute that Apple will take this lying down. Also you are opening up yourselves a big window for someone to try and break Adobe’s dominance with Photoshop. Realistically we are talking what? 3-4 years away for CS5? That’s and eternity for a flagship product to be lagging, to say nothing of how well do you expect CS4 on the Mac to sell now that this cat is out of the bag. Anyone with a bit of sense isn’t going to skip CS4 on the Mac… Also someone with no legacy code could get through possibly two revision cycles buy the time Cs5 is out, much like Adobe did with InDesign… Hmmm. And that is assuming that someone had to start from scratch. Not everyone has to do that… Improve Aperture to Photoshop levels anyone? Gimp? Ratchet up capabilities with Pixelmator? The barbarians could very well be massing at the gates in San Jose...

As I have taken Microsoft to task regarding the (then) delays to Office 2008 by referencing Soundbooth I will now turn it back to Adobe:
“If you had the luxury of time (you don’t) or the goodwill of the user base (you don’t have that either), you might get a pass on this, but not now”.

Quite frankly this is in appearance just another example of Adobe treating OSX as a second fiddle to Windows. All the while Apple users remember just who built Adobe? I’m not in this camp I’m merely pointing it out.

You guys have made great software, but people are getting to the point with Adobe that they are looking for alternatives. In the business world Adobe certainly isn’t winning any friends with MS on one side and Apple on the other. And is repeating the same mistakes with the user base as well for good measure…

I wish Adobe luck, but I think luck isn’t going to save Adobe this time around.

Doug B — 08:32 AM on April 03, 2008

John:

After Adobe promised me a Mac OS X version of Framemaker and reneged...

...after the steaming pile that was Photoshop CS...

...after completely ignoring a fundamental change in the way Photoshop makes selections in CS3 that totally screws up a lot of workflows...

...and after nearly fifteen years of upgrades, excuses, and snobbery....

I'm through with Adobe. Really. As a Mac user - someone your company was built on - I'm simply more than annoyed by the excuses here and false equivalencies. Adobe's never exactly been kind to users (Illustrator 10 was a slap in the face) and I frankly think that at some point, you do owe customers a little extra effort.

The damn semaphore that annoys drivers on 87S - how much does that cost to run? Could you have hired a few more engineers to build Photoshop's interface on Cocoa a couple of years ago for what you've spent installing and spinning those wheels?

alvin — 08:43 AM on April 03, 2008

So when's CS 4 coming out? :D

Bill Wadman — 08:48 AM on April 03, 2008

I don't normally post on such threads but the level at which Mr Nack is getting pummeled for giving some information is insane.

Re-writing a application like Photoshop is an ENORMOUS task. Not to mention the amount of testing and bug fixes that would have to be done to get it working as well as the 'old' version. Not to mention that it's goals would be a moving target because all the while it's being written, the 'old' version is getting new features and so the requirements for the new version are constantly in flux.

Adobe is a corporation, not a government. They're in business, and to the extent that they can make all of their customers happy, they will. But you can't expect them to spend probably tens of millions of dollars re-coding one of the biggest applications out there when the company that is writing the API's keeps moving things around because even they don't know how it's going to shake out.

It so happens that the shift to 64bits is a bit more straightforward and mature on the windows side, so they're doing that one first. They're not slighting anyone. They're not screwing Apple. They didn't 'screw up' by not starting to code the 64 bit version of Photoshop for Mac back in 1999. It's not personal.

And for anyone out there other than the .002% of those who are working on 1 gigapixel images, relax, go take some pictures and use the fine Photoshop that we all have now. It still works pretty good you know? That 7-12% increase in speed is not the second coming.

Ben — 08:52 AM on April 03, 2008

Thank you for making your blog a great resource for what's going on with your product and not just making it another marketing tool. Keeping devoted users in-the-loop is very much appreciated.

Jim Goshorn — 08:54 AM on April 03, 2008

Thank you for posting this to keep Adobe users informed.

I have two questions:

1. Why is Lightroom only offered in 64 bit for the Intel Macs? I thought the G5 was a 64 bit machine as well.

[It is. The last G5s shipped more than a year and a half ago, however, and given that the Lightroom team is not very large, they chose to focus their efforts on the future instead of the past. --J.]

2. You mentioned that the biggest advantage to 64 bit is memory access. So how large would a Lightroom catalog have to be to see to see an improvement? How large would a Photoshop file have to be before seeing an improvement?

Jim

[I don't have any hard and fast numbers to share. With Photoshop I'd expect the difference to kick in when you've got a file that would otherwise require the use of virtual memory & that could instead sit in RAM. I'm sure we'll share more details when the app is ready to ship, if not sooner. --J.]

John C. Randolph — 09:01 AM on April 03, 2008

John,

I'll give you exactly half of the blame here. Yes, Adobe should have gotten on board with Cocoa sometime in the last eight years, but a large part of the blame lies with Apple for not having the guts to put Carbon into maintenance mode as soon as all the OS 9 apps were ported.

HIView was a bad idea. It was a heroic engineering effort, and my hat's off to the developers who built it, but the upshot was that it just allowed people to drag their feet instead of getting with the program.

What I'm really going to knock you for though, is Adobe's insistence on sticking with your much-touted cross-platform UI framework, which as near as I can tell is basically a partial reimplementation of the System 7 toolbox. Your attempt to keep the UI identical across Mac and Windows, instead of doing the best you can on each platform and just maintaining the file compatibility, means that your UI isn't a good Mac OR Windows citizen.

Apple's done some fantastic work on CoreImage, and the sad thing is that most Mac users won't be able to benefit from that anytime soon, since Adobe can't or won't use it.

-jcr

Clark Cox — 09:13 AM on April 03, 2008

[(e.g. Objective-C can now be mixed with C++). --J.]

FYI: This is not new, one could mix Objective-C and C++ way back in the NEXT days.

John C. Randolph — 09:16 AM on April 03, 2008

"carbon, being a bandaid for the lazy, encourages laziness."

I will knock Carbon die-hards for many things, but laziness is not one of them. Writing anything in Carbon is a LOT more work than doing it with Cocoa.

-jcr

Pedro Estarque — 09:27 AM on April 03, 2008

I think it is in Apple's DNA to move on at all costs, and users often suffer from this. The floppy disk and SCSI were killed with the original iMac as the MacBook Air is now killing the physical media and Ethernet. It might be a little too soon and require struggle from early adopters, but someone has got to do it, and Apple usually steps to the challenge.

But what really pisses me off are the mixed messages. They told everyone Carbon would be 64bit, that Carbon was a first class OS X citizen, etc. Than suddenly they dropped the bomb. Not even a "we are so sorry, but it's for the best".

Maintaining two APIs simultaneously isn't fun. But this kind of move doesn't inspire much trust on your developers. I would really love if Apple simply stated in 2005: we'll introduce 64bit GUI support in our next OS release. The lower layers of Carbon will be 64bit, but the HIToolbox will not. So if you want your GUI App to be 64bit, get ready for Cocoa now. No one would be able to complain.

Who knows, It might ease the future resolution independence transition, and maybe as a side effect, we can get Cocoa's spell checker in Photoshop's text toll.

amcd — 09:43 AM on April 03, 2008

For once, Windows users get a bonus. WooHoo.

JMStafford — 09:46 AM on April 03, 2008

What's the rush to get a 64-bit Windows version of Photoshop out the door?

[Well, we were already starting to get beaten up about it a year ago. --J.]

Unlike the Mac OS which runs out of the box 32-bit and 64-bit Intel and PPC, there is no such compatibility with Windows. You either buy 32-bit Vista or 64-bit Vista and apps appropriate to each, which means I can count the number of 64-bit Vista users on my toes. That just sounds like a complete waste of effort.

[It's a chicken-and-egg situation, though, right? If you don't have compelling software that makes the OS transition worthwhile, you wouldn't go through the trouble of making the move.

By the way, in the spirit of sharing info where public, I'll note that we surveyed 1,600 Photoshop customers last summer & found that roughly 4% were using a 64-bit version of Windows. --J.]

Want to do something that really helps me in CS4 that should be very simple to program?
1. Make it so I can do unit addition (1.1 in + 2), multiplication (12 mm * 0.7), picas with points (12p3), lenient units (3" = 3in = 3 inches = 18p = 18picas = p216 = 216 pts =216pt, etc), and mixed units (12mm + 2in + 3p3) in all dialogs. Hell steal the code from Illustrator and InDesign.
2. Make Actions text files instead of binaries. That way I can write an Action send it to a client or colleague with dialog paths edited for their machine (I now must have access to a machine and re-record Save steps) or make a quick edit to a number without having to re-record a step. Make Action paths relative. Allow me to specify a step (like Variations) as user-interactive.
3. In the Info palette show both pixels and my selected measurement unit.
4. Have the File Info dialog pull and pre-populate my information from the "Me" card on new documents (if I select that Preference).
5. Have Save As for Web and Devices respect my color choices AND/OR have Save As... JPEG/GIF actually be able to write optimally sized (i.e. small) graphics.
6. Let me import a CSS style sheet for Web Photo Gallery exports.
7. Save Preferences immediately instead of on quit so that I don't lose info with a program freeze (crash, power failure, etc).
8. Allow me to Transform > Perspective/Distort with a modifier key (combo?) instead of a trip to the Edit menu.

[Hold Cmd/Ctrl and drag a corner point. --J.]

9. Allow me to Edit a Vector Smart Object in Illustrator.

[ ? That works now--always has. --J.]

10. When Merging Layers make the new layer take on the name of the first layer I selected rather than the top layer.
11. More, better textures and importable textures in the Texturizer filter.
12. Bring back the Line tool. No I don't want to shift+click with the brush, fill a marquee, or stroke a path. I want the Line tool back.

[The line tool is there, just where it's always been: in the tools palette with the other shape tools (keyboard shortcut U). --J.]

13. Arrow up/down keys in the Type palette, just like Illustrator

And this one might take some work, but I do a lot of T-shirts and it's important to me:
14. In a Multichannel (DCS) document with a Spot White Layer show the white.

Jose Riveros — 09:57 AM on April 03, 2008

John,

Thank you for the information. I have XP64 with Vista 64 waiting on the shelf. I have already downloaded and installed the LR X64 beta. And look forward to installing PS X64.

Keep up the good work.

Mike Berkowitz — 10:20 AM on April 03, 2008

The antimac treatment by adobe is also there in its support for flash.

Flash Media Encoder (to record live video) is a windows only with no plans for mac support. How does microsoft thank adobe for all of its preferential platform treatment - they release a flash competitor in silverlight.

There is a simple solution to all of this.

Apple needs to use some of its $18 billion in cash and buy adobe.

tim — 10:23 AM on April 03, 2008

The work of competition is obvious here. Lightroom has real competition: so Adobe cares and gets it done. Photoshop currently has no real competition, hence the result.

Matthias Zeller — 10:34 AM on April 03, 2008

I found the blog post on this topic by John Gruber http://daringfireball.net/2008/04/64000_question very interesting.

Nathan Duran — 10:49 AM on April 03, 2008

This is one of the very few areas where I simply cannot fault Adobe management in any way. To the general public, and to younger Mac developers who jumped on board after the iPod, it may seem as though they've been dragging their feet all this time, but the reality is that Apple has hasn't expressed much interest in supporting the efforts of third-party developers since the NeXT buyout, and Adobe engineers had every reason to reject the grossly inferior tools they were being offered every step of the way.

First they killed CFM in favor of Mach-O; not because it made any sense at the time, but because Avie stood to profit from Mach-O's adoption. Remember how CFM had all that multi-ISA support in there? Wouldn't that have come in handy during the Intel transition? I personally thing it might have, but I'm not in a position to look at Rosetta's code and offer anything resembling an educated opinion--just uneducated speculation.

Then they gave Mike Ferris free reign over the amount of turd polish that would be applied to ProjectBuilder before it was slyly passed off as a "Mac product." Mike Ferris doesn't like IDEs, doesn't like writing new code, and he really doesn't like comparisons to CodeWarrior. As a result of his refusal to respond to feature requests (even internal ones) with anything other than anger and inaction, ProjectBuilder/XCode is still quite poorly suited for managing large projects spanning thousands of files; it barely handles subprojects, and its buggy-as-hell text editor can't even keep up with my typing speed on a 2GHz machine--something CodeWarrior was able to do effortlessly on a 100MHz Performa more than 10 years ago. XCode's support for shell scripts is used as an excuse for never adding any new features under any circumstances, and Adobe had every reason to resist its adoption as long as they did. During my brief employment at Apple I found that the majority of its own engineers did the same, opting to wrestle with traditional makefiles over dealing with that flaming heap of failure. I mean, this is Apple. Where are the ridiculously experienced UI engineers spending all of their golden time? Certainly nowhere near the 1988 time warp that's engulfed the developer's tools team. Sure, 1.0 was rushed, but 3.1 doesn't look much different once you scratch the veneer.

Adobe would have been flat out nuts to waste time porting Photoshop to Cocoa in 2000. At the time it was little more than a collection of wrapper classes that sat on top of Carbon, and while you could certainly write a fully-featured QuickTime movie player in 5 lines of code, doing anything useful invariably involved finding ways to sneak around behind Cocoa's back in order to get some real work done. Things have improved considerably over the years, and Cocoa is great for small apps that do small things, but it's not a coincidence that Apple's more complicated flagship products never adopted the framework. Cocoa makes life very difficult for anyone who needs to update UI elements outside the main thread or do anything fancy with event handling for example.

Maybe the 64-bit issue will end up forcing Cocoa to achieve the level of maturity it should have struggled for over the past 8 years, but I have my doubts, and my fond memories of PowerPlant's unbridled source access. PowerPlant wasn't perfect, but the fact that it wasn't enshrouded in an utterly pointless veil of secrecy meant that you could fix bugs yourself rather than file a Radar report no one will ever read. If you couldn't figure out why something was happening, all you had to do was hit "Step Into" from the debugger and there was the answer. No disassembling, no DTS incidents; it was right there and you knew exactly what to subclass and overload to work around it. Hell, I spent about two days mangling PP into something that would load (and work!) at INIT time, letting me throw up all manner of fully managed windows and dialog boxes during the boot process. It now takes me longer than that to figure out what stupid thing NSTableView is doing to spin the cursor today.

And then there's the non-standard installer issue that Adobe always gets criticized over, usually by people who don't realize that Apple's PackageMaker is completely undocumented and unusable. It has so many bugs in it that you can easily spend an entire day trying to figure out how to coax it into putting a particular file in a particular location reliably. Try building one or two exceptionally complicated installers for several hundred components, and it becomes immediately obvious that your time would be better spent writing your own installer from scratch--kind of like what Adobe did.

Adobe might be too diplomatic to point any fingers publicly, but their engineers would have to be crazy not to do so in private. Yes, it IS their job to adapt and deliver, but Apple is actively making the situation much more difficult than it should be by hanging on to so many marginally competent NeXT expats who refuse to do the same. My hat's off to anyone who can deal with all of the crap that comes out of Cupertino and still put out a usable product of this size, 64-bit or not. Bypassing ColorSync at printing time alone is a genuine accomplishment these days.

Grover — 10:49 AM on April 03, 2008

John, you really don't get enough credit for what you do here on your blog. For every skull crushingly stupid comment from "official" PR channels and poorly informed administration, I know I can always come here and get some sanity. This announcement in someone else's hands might have been a PR disaster, but your well reasoned explanation makes perfect sense and has the majority of Apple-related sites taking your side.

You've never hid from the hard questions, and you give real (as opposed to PR fluff) answers. When Adobe makes mistakes (Photoshop Express license for example) you listen and take the feedback to heart. You've nearly single-handedly restored my faith in the company and I hope everyone at Adobe realizes what an amazing job you're doing here. If you aren't getting paid for this, you should.

[Heh--thanks, Grover. I'm not entirely sure what they pay me for; I just need them not to stop. --J.]

Rick Brewster — 10:50 AM on April 03, 2008

This is very good news, although I did not see anything in the 64-bit FAQ PDF about whether the 64-bit version of Photoshop will require 64-bit plugins, or if it can also run 32-bit plugins. Or, will Photoshop ship with both 32-bit and 64-bit EXEs and the user will have to figure out which one to use in any given context?

[It's the latter. Win64 users will be able to choose to install one or both flavor, and the 64-bit flavor won't be able to run 32-bit plug-ins. --J.]

There's an opportunity here to either create or avoid a lot of user confusion. Engineering the 64-bit version to be compatible with 32-bit plugins (out-of-process hosting) would be a lot of work, but I would have a lot of respect for whomever pulled it off.

[That wasn't something we thought we could or should undertake. We did do something similar (at least conceptually in my little mind) when we managed to support both CFM- and Mach-O-based plug-ins on the Mac. (99% of Mac users have never heard of that transition, but it consumed a lot of cycles in CS2.) If we hadn't done it, all existing Mac plug-ins would have broken in that rev (which would have meant Mac plug-ins breaking in three out of the last four revs due to OS transitions). --J.]

I still find it amusing that George Ou compared the lack of 64-bit Photoshop to the availability of 64-bit Paint.NET. "Gosh if a bunch of college kids can do it ..." Err, Paint.NET hasn't been a "college kid project" since 2004, and is probably 1/20th the quantity of code that Photoshop is :) That's like saying "Gosh, I ported Hello World from C to assembly and it was easy ... why doesn't everyone just write in assembly?!"

[Heh; thanks for helping to shed some light on that one. I guess George won't be posting a follow-up on this subject, at least on ZDNet. --J.]

What's interesting is that for Paint.NET I purposefuly designed (err, used) a simple, non-tile-based memory manager (CreateDIBSection!) because I was betting on 64-bit gaining momentum. This was back in 2004. At the time I was preferring development simplicity, as it was a tight schedule with junior developers (myself included). I figured by the time people needed to open larger images we'd all be running Windows x64 and that when I asked for a pointer to 1GB of RAM, I'd get one. Not so :( Because of this lack of psychic powers I'm having to completely redo the way memory management is done for Paint.NET 4.0 so it uses the good ol' fashioned tile system. Luckily there's a whole slew of other benefits that come along with moving to this system.

It will be interesting to see the public benchmarks for 32-bit vs. 64-bit Photoshop, as well as to compare the benefit that an AMD gets versus Intel. Paint.NET gained 40% on Athlon X2's, but only 25% on the Core 2, for example (the Intel was still overall faster though).

Rob Fahrni — 10:56 AM on April 03, 2008

Well said John.

Folks should note that Apple uses Carbon for some of it's own applications. iTunes is a prime example, written in C/C++ using Carbon on the Mac, and Win32 on Windows. It's a great application.

Hang in there, I'm sure Adobe will come out the other side better for it.

Bruce Watson — 10:56 AM on April 03, 2008

What does this mean exactly for people who only use Photoshop (not the suite) and who work with large files? Any chance for a port to 64 bit Cocoa for Photoshop being released before the rest of Creative Suite?

How much memory will Photoshop CS4 be able to access under OSX? I ask because Photoshop is running its own VM subsystem. Wasn't this done to get around the 32 bit barrier in the first place?

I'm just wondering if I'm going to be force to buy yet another PC and crappy Vista just to be able to work on my 1.5GB image files. Sigh...

Russell Williams — 10:59 AM on April 03, 2008

To answer Peter's questions above:

1) There's no requirement that all the apps in a suite be 64 bit. 32- and 64- bit applications can interoperate just fine -- you could launch a 64-bit Photoshop from a 32-bit Bridge, for instance. And yes, the shared components would all have to be produced and installed in both 32- and 64- bit versions. Just part of the cost of getting to 64 bits.

2) There may be some small things that come for free with a Cocoa rewrite of the UI, but not major features.

3) No, plugins don't have to be rewritten or even modified for compatibility with a 32-bit Cocoa app. A Cocoa app can load Carbon plugins. But plugins *do* have to be ported for 64 bits, because a 64-bit app cannot run 32-bit plugins (or vice versa). And since 64-bit is Cocoa only, that means a 64-bit plugin has to be Cocoa.

4) 16-bit mode in Photoshop uses values from 0..32768, or "15 bits plus one value". That's not about avoiding 64 bit math. Rather, it gives a single exact middle value which makes many algorithms faster than a representation where the midpoint falls in between two values, as it would if we used 0..65535. For images that need more range or precision than 16-bit mode provides, we have 32-bit floating point mode. The number of images that really need 0..65535 instead of 0..32768 but *don't* need 32-bit HDR is vanishingly small; not worth slowing everyone else down. How Photoshop represents 16-bit-mode documents has essentially nothing to do with the 64-bit transition.

5) I can't comment on Apple's plans or reasoning.

And to answer someone else's point, yes we knew Quickdraw was going away and had plans to transition off it.

Finally, while it may not convince anyone, I will just say that the notion that we on the Photoshop team make decisions to deliberately hurt or neglect Apple customers or disadvantage Apple relative to Windows is simply wrong. I have been on the Photoshop team for 10 years -- as engineer, manager, and architect. Before that I worked at Apple for many years. Neither I nor anyone in my household have ever even owned a Windows computer, and there are many other dedicated Mac users on the Photoshop team. There are no black helicopters here.

Russell Williams
Photoshop architect

Adolfo Rozenfeld — 11:29 AM on April 03, 2008

"If this keeps up, the competitors are going to eat you alive...they're already nipping at your heels. :("

Did I just read that Adobe Photoshop competitors are dangerously getting close?

Talk about reality distortion field.

Allan White — 11:31 AM on April 03, 2008

Do we know why Apple chose to kill Carbon 64?

I understand that the signs were there on a transition to Cocoa, eventually. But, there was no apparent business case to move an expensive codebase to Cocoa - until now. Even then, getting 64-bit support is nice, but hardly mission-critical.

Another observation: this situation perfectly describes the challenges inherent in such a large app. It's probably gotten too big over the years - too many features for too many kinds of users. No wonder it's hard to move!

I wonder how much smaller PS6 was. That was all I ever needed, for nearly any task I can think of as a designer and photographer.

I'll keep buying it for design & video work, but for everything else there's LR & Aperture.

Scott Byer — 11:35 AM on April 03, 2008

My 2 cents:

Don't assume that we don't use Cocoa and CoreImage. Photoshop CS3 already does in places.

Don't assume we hadn't already started doing things to get to Cocoa.

Don't assume any emotion other than surprise regarding the WWDC '07 announcement. I completely understand and support Apple's choice. It means we had to accelerate our plans, not change them.

[Great points, Scott. --J.]

Excuse me, as I have to go dust off my 1991 NeXT Developer Training Course certificate now. :-)

Steven Fisher — 11:53 AM on April 03, 2008

I'm surprised there's only a 12% boost. I would have thought the additional registers available to x86-64 would result in a much bigger speed boost than that for every complex algorithm, regardless of whether the 32-bit addressing ceiling is passed.

Georges — 12:06 PM on April 03, 2008

So,
as CS2 isworking well on my brand new MacPro 2008, I have no interest to update before CS5...

Adolfo Rozenfeld — 12:16 PM on April 03, 2008

"I wonder how much smaller PS6 was. That was all I ever needed, for nearly any task I can think of as a designer and photographer."

I am amazed at how frequently this line of thought appears, as if the main design goal was making bloat, not a better product.

Allan, just as an example: PS CS3 introduced a new tool called Quick Select. It makes you wonder how the magic wand can keep its' name after that. Every person I show it to, keeps saying "wow" at how radically it changes the process of making complex selections: from hours to seconds, really.

Don't even mention the constant path towards non-destructive operations, which means that making changes in PS doesn't mean starting from scratch every time (imagine cropping and scaling down 25 faces, only to have the client request they are larger!)

I can't imagine how painful it would be going back to PS6.

It has to be said that human beings are an incredibly diverse species in terms of perception.

[I think one point is that people simply feel overwhelmed by the number of choices they face. When Adobe trots out a whole Suite's worth of new apps every 18-24 months, we're certainly throwing fuel on the fire. I think complaints about "bloat" largely reflect uneasiness about being able to keep learning ever more stuff in order to remain competitive. People feel that they're on a fast-moving treadmill, and we need to take that feeling seriously.

I always tell the team, "It's not that people want *more* ways to do something; it's that they want *the right way* to do it. It's hard to unwind nearly 20 years of organic development, but we do have some solid plans for evolving to a better place. Doing so is not necessarily a quick process. --J.]

Eric — 12:26 PM on April 03, 2008

I'm having a hard time imagining why we Mac users will be suffering when using 32 bit Photoshop. The vast majority of Windows users will be using 32 bit Photoshop as well.

I, for one, have the perfect machine for a 64 bit version of Photoshp - two in fact - with my Mac Pros. And yet, I only shoot a measly 16.7 megapixel camera (1Ds Mark II) and one with 10 megapixels.

Remind me why I must have 64 bits or my career is over?

JMStafford — 12:34 PM on April 03, 2008
"8. Allow me to Transform > Perspective/Distort with a modifier key (combo?) instead of a trip to the Edit menu."

[Hold Cmd/Ctrl and drag a corner point. --J.]

No combo of modifier keys does perspective that I've been able to figure out.

"9. Allow me to Edit a Vector Smart Object in Illustrator."

[ ? That works now--always has. --J.]

Works today. Must've been double-clicking on the wrong spot on the layers palette.

12. Bring back the Line tool. No I don't want to shift+click with the brush, fill a marquee, or stroke a path. I want the Line tool back.

[The line tool is there, just where it's always been: in the tools palette with the other shape tools (keyboard shortcut U). --J.]

No, no. That line tool makes a shape/path. I want the old bitmap line tool that works just like shift clicking with the brush (heck put it on the brush/pencil flyout). Except unlike shift clicking with the brush, when I hold the shift key I get vertical and horizontal lines. The other methods take extra steps. And as someone who first used Photoshop 1 18 years ago I'm very wedded to my old tools (like the block eraser).

Josh Aas — 12:46 PM on April 03, 2008

"64-bit applications don't magically get faster access to memory, or any of the other key things that would help most applications perform better."

The last part of that statement is not true. The number of general-purpose registers available in an architecture is a pretty key performance point. x86-64 applications have access to more general-purpose registers on the chip than 32-bit x86 applications do, which means fewer reads to memory that is slower than ultra-fast registers. This doesn't necessarily change your conclusions about 32-bit vs. 64-bit performance, but the last part of that statement isn't a valid part of the reason why.

[Scott Byer replies, "Older code that has lived through many years of nearly no registers tends to get rather well tuned for that situation; the extra registers and register based calling are where that 8-12% come from. Code written without the assumption of nearly no registers would see a bigger boost." --J.]

bananaranha — 12:52 PM on April 03, 2008

The 32/64 bit stuff is nice and all, but is there any information on CS4? Feature set, screenshots and all that?

[Nope, and there won't be for quite some time. We're not announcing a new version now, and we shipped the last one just 12 months ago. --J.]

Rich MacDonald — 01:04 PM on April 03, 2008

If there isn't going to be parity between Windows and Mac, how about using all the CoreImage features Apple introduced in Tiger - they dramatically increase the speed, quality and responsiveness of filters, transformations and color adjustments.

[I've found over many years of being a PM that it's very helpful to separate statements of problems/goals from statements about implementation. It's easy to say, "Adobe should use Core Image," but the underlying request is "I want my apps to run as fast & as smoothly as possible by leveraging my whole system--CPUs, GPUs, etc." And as it happens, we're working on doing just that. Whether or not that has anything to do with Core Image, the vast majority of people will just care about the results. --J.]

Dan Tong — 01:05 PM on April 03, 2008

In fact Light Room 2.0 Beta loads and works fine under Windows XP 64 bit, which is far better than the bloated Windows Vista 64, which I would not recommend after having done extensive comparisions on identical hardware.

Chris Cox — 01:17 PM on April 03, 2008

"that line tool" allows you to create paths, a shape layer or pixels (bitmap). It has been that way since shape layers and the vector tools were added to Photoshop.

Ernest Phillips — 02:10 PM on April 03, 2008

See now, I might buy this if it wasn't the same garbage we've been fed before.

Mac users: Why is the OS X transition taking so long?
Adobe: We still have some really old, particularly related to plug ins. 68K Mac old, so we will need a huge amount of rewrite.

Mac users: Why is the Intel transition taking so long?
Adobe: Well, we still have all this old code, like Classic style code that just won't make the jump. We need a huge amount of rewrite.

Mac users: Why no 64-bit transition yet?
Adobe: Old Carbon code, especially related to plug ins. We need a huge amount of rewrite.

This is NONSENSE. So you didn't see the writing on the wall? You didn't go "Hmmm, lets not do the bare minimum for compatibility, lets actually write modern Cocoa code that should actually continue to work into the future."

Lets not forget that, despite developer seeds, any time a new OS X version comes out SOMETHING in Adobe software breaks.

Am I the only one who see a whole lot of garbage code being shoveled around?

John C. Randolph — 02:57 PM on April 03, 2008

Apple needs to use some of its $18 billion in cash and buy adobe.

Propose it at the next shareholder meeting, if you want. I'll vote against it. Adobe's market cap is a bit more than $20B. That money would be dwarfed by the cost of such a merger in business disruption to both companies.

There is nothing Apple can gain from buying Adobe, that they couldn't obtain for far less money by starting from a clean sheet.

-jcr

John C. Randolph — 03:27 PM on April 03, 2008

Nathan,

That has got to be the most pig-ignorant anti-Cocoa diatribe I've ever read, and I've certainly read a few in my time. Your personal attacks on Avie and Mike Ferris say a lot more about you, than about them.

-jcr

Phil Brown — 03:53 PM on April 03, 2008

JMStafford — 09:46 AM on April 03, 2008

"You either buy 32-bit Vista or 64-bit Vista and apps appropriate to each"

Whilst it's true you buy the version of the OS you want, I have a dozen or so 32bit apps running very happily under Vista 64 Ultimate.

There are some that don't work and there are some driver issues. That's the problem with being first or being early, but it will sort itself soon enough.

As to the rest of the general complaints and accusations against Adobe (and against Apple, for that matter), I'm of the opinion that John's explained things honestly and with the best intentions and there's nothing much to add.

Peter — 04:36 PM on April 03, 2008

@Russell Williams: Thank you very much, that clarified a lot for me. Kudos to the Photoshop engineers by the way, that midpoint thing is really clever :)

@JMStafford: Point 4: You can record an action that fills in the File Info stuff for you and have it executed automatically whenever you create a document by using the Script Events Manager. It's pretty simple actually, check the help files for info on how to set it up.

@bananaranha: For all the known info on the CS4 feature set, check out these posts on my blog:

Ramón G Castañeda — 04:48 PM on April 03, 2008

One thing has certainly been achieved with the release of this news: The discussion has been sifted away from the urgent need to fix the substantial bugs in Bridge 2.1.1.9 and the remaining ones in Photoshop 10.0.1.

Bummer. :-/

Martin Schaefer — 06:07 PM on April 03, 2008

If I understand CS4 as the first step in transition to 64bit, will the 64bit version be delivered with a 32bit version (dual-Photoshop) to enable the use of 64bit enhancements while not breaking other cross-product integration workflows?

In short:
Will both versions (32bit & 64bit) be delivered together? If yes, can we install both on the same box? Can you share any thoughts on that?

[Yes: both binaries are packaged up together in the installer, and you can choose to install one or both versions. My understanding is that they're wholly separate app installations on disk--separate copies of plug-ins folders, etc. You would need to install and use both only if you rely on plug-ins that haven't yet been updated to run in 64-bit mode. --J.]

Houman — 06:16 PM on April 03, 2008

Will G5's allow lightroom to run in 64bit mode - because I believe the chip (970 PPC) is able to achieve it? Just Curious - is Adobe just doing 64bit for Intel on Leopard?

[No, I'm afraid not. Although the G5 is a 64-bit chip, the LR team has to focus its efforts on building for the present and future. Therefore they made the call to enable 64-bitness only on Intel. --J.]

Curtis Hight — 09:27 PM on April 03, 2008

John, thank you for your team's labors and your candor. I'll cheerfully await your 64-bit fruits to sweeten large numbers of medium format scans and hopefully an even larger number of medium format digital capture images.

Spell checking in metadata fields. Yes please!

Dude — 05:44 AM on April 04, 2008

Bill Wadman — 08:48 AM on April 03, 2008

I don't normally post on such threads but the level at which Mr Nack is getting pummeled for giving some information is insane.

Pummeling? Hardly. I actually feel sorry for John.

[Actually I think that on the whole, most people have taken everything in stride and have been really civil (well, maybe not some dudes in Singapore! ;-P). I can never predict these things, and I guess I'll have to wait to get pummeled the next time I blog about icons. --J.]

I’d postulate this has little to do with 64-bit version of PhotoShop and everything with Adobe treating Apple customers as hardly worth their time.

Doug B has hit the nail on the head, for 15 years…

[15 years of abuse, eh? Let me offer a little alternate history. When Apple moved from 68k processors to the PowerPC, Adobe offered a free update to PS 2.5. (Quark, as I recall, charged handsomely for the equivalent update.) Later, when the G5 came out, we offered a free update to Photoshop 7, even though CS1 was just six weeks off. (It would have been easy to say, "Well, to get that update, you have to buy the new version," but that's not how we wanted to roll.) Then when the PPC->Intel transition happened, the scope of the changes were too great to offer that kind of update, but I was able to persuade the company to do something it had never tried: releasing a public beta of Photoshop so that all current customers could get native performance six months earlier than would otherwise have been possible. It was quite a gamble, but it was the right thing to do.

Hardly worth our time, indeed... --J.]

John C. Randolph — 02:57 PM on April 03, 2008

Apple needs to use some of its $18 billion in cash and buy adobe.

Propose it at the next shareholder meeting, if you want. I'll vote against it. Adobe's market cap is a bit more than $20B. That money would be dwarfed by the cost of such a merger in business disruption to both companies.

Except solve the shoddy treatment of the Apple base by Adobe…

[I would submit that it almost doesn't matter what Adobe does on the Mac: some people will always view it as grossly unfair. Mac partisans used to love to bring up Premiere; now that Premiere Pro is back on the Mac and better than ever, you never hear a peep from them about it. They've moved on to banging on FrameMaker. (If 1 in 10 people who bring up that app had actually purchased it on the Mac, there'd still be a Mac version--but then they'd pick on some other whipping boy.) I don't say that to dismiss the frustration of Mac FM users, but to dismiss the use of FM by others as a cudgel. --J.]

Apple is going to be “printing money” very soon (i.e. within the next year) due to the way iPhone sales are spread over 24 months. Once this is happens Appel si going to be flush with so much cash it will make your head spin. Apple could buy Adobe in a heartbeat. However they hardly need to wait to do it, if Apple wanted to they could do it right now.

Who says they have to integrate them? Keep them a wholly owned subsidiary just like FileMaker.

Lastly I have yet to here any reason why anyone would want to buy CS4 PhotoShop on the Mac…

[Well of course not, as we haven't shared a single solitary detail of what such a release might contain!! :-X (The only thing we've mentioned vis-a-vis the Mac is the one thing it won't have--a feature that's currently of practical significance to a pretty small set of users.) --J.]

Again I don’t necessarily believe or endorse some of these points. I’m merely pointing them out.

Also keep in mind: Although this is Jon’s blog there is still going to be a certain amount of “spin” to it.

Mark — 06:46 AM on April 04, 2008

John - I am sure releasing such news would make anyone a bit uneasy. Please know that you have users that appreciate the upfront communication and rationale behind the situation. As a product manager myself, I know that certain things that come up on projects that are simply beyond anyone's control. When such issues arise, you simply have to work it into your development timing and try to mitigate the risk. Sometimes there is no other choice than to push out the end milestones.

Besides, a Mac64 version can also receive some lessons-learned benefits to a Win64 version being launched first! :-)

[It's certainly true that making the 64-bit transition on Windows will give our team good info that should help in making the same transition on the Mac. --J.]

Brandon — 06:47 AM on April 04, 2008

Vista x64 is not a bloated piece of junk...

Anyways Lightroom 2.0 x64 is great on it. The problem now lyes in plugins and 64bit support.

Adobe, good job, thanks for x64 support on Windows.

William — 07:27 AM on April 04, 2008

As an old NeXT developer writing this from my rocker on the porch of the old folks' home, this is the sanest, clearest explanation of a decision like this for a non-technical audience that I have ever read. I did think the dispel-the-paranoia bit was excessive. Until I scrolled down to see the comments, that is.

In particular, I was entertained by Ernest Phillips's comment berating you for not having rewritten everything all at once, sometime in the past. Of course, had you done that, I'm sure he would have been the first to berate you for the extra delay that would have caused. Especially had you done it early enough that nobody cared about 64-bit compatibility. Or you could have cut new features in favor of cleanup, and I'm sure he would have whinged about that, too.

[Yeah, everything has its trade-offs. Asbestos pants are pretty much de rigeur. --J.]

And either way, he wouldn't have been willing to make up for the revenue lost to a delayed or skimpy upgrade. Revenue that you would use to pay for the cleanup that he in hindsight believes should have been obvious. And apparently, free.

Of the choices, I think you made the best one. Or the best two, really. To balance new features with the 64-bit work, and to tell your audience in plain language what you're doing and why. Thanks!

[Thanks, William; much appreciated. --J.]

Richard Tallent — 08:01 AM on April 04, 2008

Other than my .NET development day job, I'm now 100% Windows-free.

So, this is disappointing, especially after dealing with the major headaches of CS2 on Intel hardware, CS3 on Leopard, and Elements 4 for Mac (which wouldn't even install on my Intel-based Mac Pro).

I do hope that Adobe has considered all reasonable options other than rewriting the entire codebase in Objective C -- automated code translation, for instance.

I also hope that CS4 means:
- all features work in 16-bit and higher modes.
- support for modes used in OpenEXR.
- Gaussian blur, high pass, and other basic filters implemented as Adjustment layers (no, Smart Layers are no answer, changing what is below them is a PITA.
- easy support for multiple "soft-crops" (for photographers like me who need to output to multiple aspect ratios... Slices suck, so right now I have to use vector rectangles and actions.
- and a million other little improvements and time-saving features.

But how can I hold out hope if you'll be spending the next two years trying to get the existing feature set ported to a new language and UI toolkit?

@Russell Williams: 16-bit minus one value (65534) has a midpoint too!

Gary — 08:13 AM on April 04, 2008

John,
Thank you for the article. I've noticed that some people tend to anthropomorphize decisions made by corporations, rather than realizing that corporate decisions are business decisions, nothing more. The Ars Technica article that linked to this blog entry takes such liberties, psychoanalyzing the decisions between Adobe and Apple.   I think you hit the nail on the head with the statement "If it bleeds, it leads." Of course if Adobe makes a decision to do something on the Windows platform before doing the same on the Macintosh, it has something to do with some long-running feud between the two companies. While I suppose that mindset makes for more interesting, if not erroneous, reading.   I'm just glad to see the information on the direction PS is taking, and some of the thought processes behind the design decisions for said product.

Kirk Klingbiel — 09:25 AM on April 04, 2008

I can only speak to the reason why I need to use Photoshop on a Mac instead of Windows - automation systems.

On the Mac I enjoy the simplicity of AppleScript, because I am a graphic artist not a programmer. I have yet to find any equivalent on Windows that doesn't require a programmer in order to establish productive automation.

Imagine how disappointed I was when I saw that over the years nearly all AppleScript support going away in Adobe products in favor of some kind of javascript - again, I'm not a programmer, so the difference to me is huge.

[Please cite a single example of AppleScript support "going away," as I'm unaware of any. It *is* true that we have focused more on cross-platform JavaScript. Each approach has its pros and cons, but we have to focus our efforts. --J.]

Anonymous — 09:37 AM on April 04, 2008

I'm disappointed that you didn't mention another key reason x86-64 offers a speed increase over 32-bit x86. x86-64 adds more general purpose registers. More registers means that the compiler can put more things in registers, decreasing the number of memory accesses This is substantial, and probably where most of the 8-12% comes from.

[I did talk about that in the comments, though I'd hardly fault anyone for not having read them all. --J.]

JMStafford — 09:43 AM on April 04, 2008
"that line tool" allows you to create paths, a shape layer or pixels (bitmap). It has been that way since shape layers and the vector tools were added to Photoshop.

And frankly I despise the Shape Tools. For me they are an impediment to getting stuff done. If I want to draw shapes that's why I have Illustrator. Now I'm not asking that Adobe remove the Shape Tools, I just want them to return the line tool that disappeared around version 7.

[Try selecting the Line Tool that's there now, then choosing the "fill pixels" option on the Options Bar (third icon from the left). Now instead of drawing vectors, the tool will draw pixels--same (I think) as it did in 5.5 and earlier. --J.]

Radek Hulán — 09:45 AM on April 04, 2008

It shows how obsolete OS X is. Mixing 32bit and 64bit code, providing only certain APIs in x64 version, that is what Apple is doing.

Microsoft, on the other hand, has all components available in Vista x64 both under 32bit and 64bit API.

It is easy to create a true x64 application for Windows, just launch Visual Studio 2008 and recompile it.

Superior system design of Vista / Visual Studio shows here... Blame Apple for having inferior OS.

Sheldon Carpenter — 10:02 AM on April 04, 2008

John, thank you for the candid comments. The reality of Photoshop not gaining 64-bit architecture for the Mac in the fairly short-term is probably no big deal. The perception of the problems may be far greater than the actual truth, but it seems that will always be the case.

I can say, however, that while not having 64b Photoshop for CS4 may be acceptable, I think that hedging it may be available for CS5 might not. I would think that a 64b Mac Photoshop CS5 is be a must. Perhaps in CS5 you can integrate both the Mac 64b with the new-and-improved Photoshop concept you proposed back in November.

Wing Wong — 12:23 PM on April 04, 2008