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.]

9:01 PM | Permalink | Comments [215]

Lightroom 2: The deuce is loose!

I’m delighted to announce that the beta of the 64-bit-native Adobe Photoshop Lightroom 2.0 has been posted to Adobe Labs.  Everyone is free to download the beta build and try it for 30 days, while customers of Lightroom 1.x are free to use it for the duration of the beta program.  (This build expires Aug. 31.)

My favorite feature(s)?

Unbeatable Photoshop CS3 Integration:

  • Open files in Photoshop as Smart Objects.  (This way you can tweak your Lightroom adjustments within Photoshop just by double-clicking the Smart Object layer that contains your raw file.)
  • Select multiple images to merge as a panorama
  • Merge multiple exposures into a single Photoshop HDR image
  • Load multiple files (or virtual copies of a single file) into Photoshop as separate layers in a single document

Selective image editing that rocks:

  • Lightroom 2 adds a Retouch tool right within the Develop module (see screenshot).  That means you can paint regions of the image to dodge, burn, saturate/desaturate, adjust contrast, and more.  Edits are stored as metadata, just as all other LR adjustments are stored, and are applied directly to your raw images. (Because people will quickly ask, I’ll point out that unlike Apple’s newly released Aperture 2.1, Lightroom integrates its selective editing tools right in with the other adjustment tools.  In Lightroom you don’t have to generate a TIFF file for editing, and unlike in Aperture, you can always tweak the results later.  In addition, Lightroom features Auto Mask technology for tweaking the clicked region without bleeding into neighboring areas.)

Other goodness:

  • Library Module:
    • Streamlined Library layout
    • Smart Collections (based on search criteria)
    • Powerful Filter Bar to search and refine images
    • Suggested Keywords for simplified keywording
    • 10,000 pixel size limit raised to 30,000 pixels
    • Output-based collections
  • Multiple monitor support:
    • Four flexible modes for an alternate window: Grid, Loupe, Compare, Survey
    • Live Loupe mode
  • Export functionality:
    • Auto-add exported images to the Lightroom catalog
    • Auto Output Sharpening for images on export
  • Develop Module:
    • Non-Destructive Localized Correction for dodging and burning specific areas of an image
    • Post-Crop Vignette
    • Basic Panel Keyboard Shortcuts
    • Improved Auto Adjustment
    • Improved memory handling through 64-bit support on OS X 10.5 and Vista 64-bit.(Not limited to develop module)
  • Print Module:
    • Picture Package for multi-page layouts
    • Print Module output directly to JPEG
    • Enhanced Print Sharpening based on PhotoKit Sharpener algorithms
    • 16-bit Printing for Mac OS X 10.5

A ton of blogs and publications are starting to push great info live as I type this, so I’ll
update the following list of resources as I see things pop up:

As you probably know, betas have their pros and cons.  On the upside, revealing Lightroom 2 as a beta now allows Adobe to continue the very successful dialog we’ve been having with photographers, incorporating their feedback before releasing the finished product.  The trade-off is that the beta is unfinished, so you may want to check out the list of known issues before diving in.

With that, I’ll shut up and let you get cranking.  Enjoy!

PS–Lightroom running 64-bit-native allows it to address large amounts of memory, something that can pay off when using large images in the Develop module.  Tomorrow I’ll post more details about what 64-bit means & how it factors into our Photoshop roadmap.

2:14 AM | Permalink | Comments [50]
Copyright © 2019 Adobe Systems Incorporated. All rights reserved.
Terms of Use | Privacy Policy and Cookies (Updated)