clock menu more-arrow no yes mobile
photoshop lede
photoshop lede

Filed under:

Photoshop is a city for everyone: how Adobe endlessly rebuilds its classic app

Like New York or London, the image-editing app is layered thick with the past

My dad has used Photoshop since 1.0. Twenty-odd years ago, he was a forward-thinking graphic-design upstart unafraid to use a computer instead of an X-ACTO knife. It turns out he made the right bet. These days, Photoshop is the only way to do his job. There's no X-ACTO fallback, and no viable "modern" alternative for this generation’s upstarts. And yet, today my dad feels like a hostage.

"I love and hate Adobe," he said when we first discussed this piece. See, Adobe doesn't build Photoshop for my dad. Adobe just builds Photoshop, and Photoshop is an insane mess. Every couple years brings a new version, costing hundreds of dollars, chock full of new features he doesn't need, and lacking the improvements he wants. Later, he downgraded his original sentiment: "I hate Adobe."

Sticky TOC engaged! Do not remove this!
Here’s the paradox: What makes Photoshop both anachronistic and indispensable?

That surprised me, and not just because I've never heard my dad admit to hating anything. But I think I know how he feels, because I have my own love-hate relationship. It's called New York City. A city of too-small, too-expensive apartments, built in some antediluvian past, tunneled under with subways — elaborate rat-delivery mechanisms — and yet there are never enough trains, and the fare hikes are egregious, and it's so gross and hot down there in the summer, and nobody seems to know what to do about the homeless people huddled there in the winter.

And in a way, that’s Photoshop. It's like a world-class city — New York or London or Paris — centuries-old and layered thick with the past. They serve people, and people serve them, today’s denizens merely building upon what came before them. Cities grow and change organically as people find new uses for them. Sometimes they sprawl like kudzu (Houston, Los Angeles); sometimes they wither and shrink (Detroit).

Photoshop has grown and changed over the last two decades, becoming something new and unexpected. That’s great: it means new functionality and (in theory) better performance. But if, like my dad, you’ve been using the app from the beginning, when it was a tiny village that did one thing and did it well, you might be suspicious of all this change. Or at least wonder what it’s good for. Photoshop today seems basically feature complete, and totally unassailable. It's more than just the best professional image editing app: it's kind of the only professional image editing app. It’s the city that, to do your job, you have to live in.

But like New York, it can be a hard city to love. It feels its age, functional but a little run-down, maybe. It feels like if you tried really hard, you could probably still install Photoshop off a stack of floppy disks. You start to think about it the same way you think about NYC’s objectively amazing public transit system: why can’t it be better? Why can't it be slimmer? Why can't we just use Aviary and iPhoto and get our RAM back? Why isn't it dead yet?

Here’s the paradox: What makes Photoshop both anachronistic and indispensable? I figured to find out, I needed to dig into its past. After all, Paris has its catacombs, and Photoshop has its code. I decided to don my archeologist hat and do some excavating, i.e., I flew over to the West Coast and talked to some people.

A city for everybody

A city for everybody

It's hard to establish just what Photoshop is, because it has to be something for everybody

Photoshop is built in downtown San Jose, half an hour east of Silicon Valley. Adobe houses its employees in a trio of mid-height towers, with a basketball court and an exercise gym and a beautiful cafeteria where everything is religiously recycled. Many of the Adobe employees I met — all fantastic conversationalists — seem like the sort of people whose children grow up to become employees of Google. You know, smart people who’ve had their own heyday, and are now ready for the next generation to shine.

One of those veterans is Adobe Principal Scientist Russell Williams, the chief architect of Photoshop, whose job is to keep the app relevant. He's decidedly last-gen Silicon Valley: he worked at Apple on skunkwork versions of Mac OS in the 90s, and moved to Adobe 15 years ago, just after Steve Jobs returned to Apple.

Russell wears enormous glasses that magnify his eyes, talks excitedly about ideas big and small, and I almost asked him to be my best friend by the end of our lunch.

He's well-versed in the high wire act of building a Photoshop for everybody. "People say 'Take out all of the stuff I don't use, and put all of the stuff I do use right on top in the user interface.'" And the problem with that? "Everybody has a different idea of what should be on top."

People are always discovering ways to use Photoshop that Adobe never envisioned. "People take an artist toolbox and use the tools in totally bizarre ways," he says. Adobe can’t simply decree how people use its product; as with a city, users find their own way through it. That makes it hard to establish just what Photoshop is — it has to be something for everybody.

Of course, things weren’t always this complicated.

The first version of Photoshop ran on an 8 Mhz Mac, with a minimum of 2MB of RAM, and shipped on a single floppy

Thomas Knoll started Photoshop in 1987. It was a one-man project all through its initial release three years later: everything from image manipulation to text layout, from top level UI to the application's deep, mathematical innards. It ran on an 8 Mhz Mac, with a minimum of 2MB of RAM, and shipped on a single floppy.

It was a marvel of engineering from day one. Its first trick, back when it was known simply as "Display," was to display print-resolution images on a standard Mac. Before that, high-resolution images required expensive computers loaded with RAM. But Knoll didn't stop there. He figured out how to transform those images — by treating them as mathematical constructs.

This fundamental re-thinking enabled the clone tool, the wand selection tool, and even plug-in filters. Photoshop 1.0 could theoretically open an image the size of a then-modern hard drive (10-15MB) and go to work. Filters would take 10 minutes to run, saving was a chore, and a single undo made every decision precious, but Knoll had poured a near-perfect foundation for what the app could and would become.

The blueprint

The blueprint

Somewhere, deep down under the streets of Photoshop, down where the mole people live, is a little framework called "MacApp"

But like anything, the original Photoshop was a product of its time. Knoll’s foundations grew to support functionality he’d never imagined; as the features piled on, more staff was added. What started as mostly a photography tool turned quickly into a graphic design powerhouse. And when a port to Windows became inevitable, things started to really get messy.

Somewhere, deep down under the streets of Photoshop, down where the mole people live, is a little framework called "MacApp." It's a remnant from the very first versions, a fragment of foundation. MacApp originally let Photoshop communicate with the underlying operating system, which was then Mac OS 6.0.3.

Apple eventually abandoned the MacApp framework, but Adobe didn't. MacApp stuck around in a few spots as part of the platform-agnostic "glue layer," a common reference point for code which could then be executed on either Mac or Windows. Nowadays, few engineers spend any time talking directly to the operating system; they work with "Photoshop code," building their functionality safe from those specifics.

But Russell still has MacApp to contend with — it most recently flared up during the Mac Cocoa conversion. Millions of lines of code had to be changed, and for a time the entire team was engaged on the project. This is another part of Russell’s job: managing Photoshop’s legacy, which means accommodating all those quirky back alleys of code left over from earlier versions while also building the application’s future.

Knoll has long since passed the baton; these days he does most of his image processing in his current project, Lightroom. He’s not sentimental about his old city. "Computers have changed dramatically since I did Photoshop 1.0," he says. If Photoshop’s a city, Lightroom’s a clean lot, ready to be built up for today’s users.



You can't make Photoshop new again. But could you rewrite it?

For a long time, I've wondered why Adobe doesn’t just rewrite Photoshop. Even without knowledge of the deep inner workings of the app, it just feels old. Adobe keeps adding more functionality, even some performance tweaks like GPU acceleration, but the whole thing often feels one feature short of collapse. New versions have consistently pushed the capabilities of modern computers and operating systems, so they always feel a bit slower than younger, more refined apps. Maybe a fresh start would make Photoshop feel a little less 1990 and a little more 2013?

Well, it's not going to happen.

"It would never be the same if you started over today," says Bryan O'Neil Hughes, a senior product manager. "Like a city, it takes on its own personality." He cribbed the analogy from me, but I cribbed it from another developer.

An all-new Photoshop wouldn't be... Photoshop.

"If you wanted to do everything Photoshop does, you'd have to do it in the same way Photoshop does," explains Thomas. And a rewrite would likely take a decade, and, thanks to the error-prone nature of building complex software, it might never be completed.

Look at Apple’s recent rewrites. Final Cut X, an all-new take on the revered Final Cut Pro, outraged video editing professionals — many of whom are now jumping ship to rival products. It wasn't just about what the app could do, either. It was how it did so — how it looked and felt. Users appreciate the familiar. Just look at the hatred of the newest iTunes revamp. Or, really, any Facebook redesign, ever. It's not that these new designs aren't nice, or possibly even better. It's just that they're different, and different turns into a mortal sin among professionals whose livelihoods depend on using your product the same way they learned a decade ago.

So you can't make Photoshop new again. But could you rewrite it?

"We essentially have," answers Thomas Knoll, referring to his own Lightroom, "but it comes out very differently.” It seems unfair that one man should get two Photoshops in one lifetime, but he earns it by being an incredible nerd about all this stuff.

Knoll started the Lightroom project a decade ago while on vacation. Fed up with his camera's file format, he reverse-engineered it. So began Photoshop's Camera RAW plug-in, which now supports hundreds of cameras — most of them still painstakingly reverse-engineered by Adobe. Along the way, Camera RAW built up its own rendering pipeline, exterior to Photoshop, which now powers Lightroom.

"Writing code that changes images is the really fun stuff," Knoll says. "Magical."

In fact, Knoll doesn't mind saying that many of the Camera RAW imaging algorithms, like Highlights and Shadows, for instance, have eclipsed those of Photoshop. Right now he's working on a better, more sophisticated way to do HDR images, to combat what he calls "the Harry Potter look." He seems unstoppable.

But not even Lightroom and Camera RAW are immune to the cruft of time. "When a user makes an adjustment to an image," Knoll explains, "it doesn't actually store the adjusted pixels anywhere, just the adjustments." That means Lightroom has to keep track of "processing versions," to make sure that when you open a RAW file five years from now, into a fancy version of Lightroom with all-new algorithms, it'll look exactly the same.

Photoshop has a similar problem with user scripts. Recorded actions that a user makes with one version are supposed to work seamlessly in future versions, meaning that even if a legacy feature is removed from the UI, it's kept in the code to keep the scripts humming. In that sense, it's a city where even seemingly abandoned buildings can’t be demolished, because you never know who might still be using them.

History of Photoshop

  • 0.87 — 03.1988
  • 1.0 — 02.1990
  • 2.0 — 06.1991
  • 2.5 — 11.1993
  • 3.0 — 09.1994
  • 4.0 — 11.1996
  • 5.0 — 05.1998
  • 5.5 — 02.1999
  • 6.0 — 09.2000
  • 7.0 — 03.2002
  • CS (8.0) — 10.2003
  • CS2 (9.0) — 04.2005
  • CS3 (10.0) — 04.2007
  • CS4 (11.0) — 10.2008
  • CS5 (12.0) — 04.2010
  • CS6 (13.0) — 05.2012
The future

The future

Photoshop never seems to say "no" to a feature, which makes it so powerful

Jeff Chien leads the "Tech Transfer" team, which pulls features out of the lab and works them into the finished product. All those great new features my dad has no patience for, they flow through Chien. If you're looking for someone to thank for Content Aware Fill, he's your guy. If you're looking for someone to blame for Photoshop bloat, ditto.

He hears the complaints about bloat and slowness. "We could make a Photoshop blazing faster, like [versions] 4 or 5... but in the future we want to do things smarter,” he says. "Making the Clone Tool faster and running in a fraction of the memory, when you have plenty, isn't going to do anyone any good.” I grit my teeth; I hate it when modern apps play fast and loose with RAM, but I see his point. Photoshop never seems to say "no" to a feature — that’s what makes it so powerful.

For instance, Adobe obsessively documents color profiles and lens distortion data for hundreds of cameras and lenses, taking hundreds of pictures with each combo. It's expensive, laborious, and seemingly quixotic. But Camera RAW used those specs to automatically correct aberrations — even for multiple body / lens combinations. Then some researchers used the data to design a feature for CS6 that allows a user to straighten warped objects in extreme angle shots.

The holy grail is to give Photoshop computer vision. The app should simply select "objects" the way users see, like a "beach ball" or a "tree" or a "head," not as "blob of color one," "blob of color two." Then the user should be able to do what she pleases to the object, with the software filling in the details like what might've been behind that object — something that's available in a nascent form in CS6. Content vision also means the software should know when you're working on a family photo and when you're working on a logo, adjusting color grading techniques accordingly. It means unifying many of Photoshop's features — which, once again, its architecture is uniquely suited to do.

Jeff wants to teach Photoshop to be more user-aware as well — what he's really working toward is artificial intelligence. It's a surprising idea coming from Adobe, because it seems like something that will be solved by a cutting-edge internet giant like Google, not the developers of a 23-year-old app originally meant to display photos on black-and-white Macintosh screens. But that’s where Photoshop is today.

Depending on your perspective, this all might sound incredible or terrifying. A whole lot of work to make the best app ever, or a whole lot of work to make the best app ever, worse. My dad might want to hang onto that copy of CS4, but some young upstart with a DSLR and a new copy of Photoshop is probably having the time of her life right now.

The city in the cloud

The city in the cloud

From day one as a Photoshop developer, it's made clear that you're making the app for a crowd, not an individual. They have a rule in the hiring process: if someone claims to be a Photoshop "expert," they terminate the interview. Photoshop is too big for experts. Only a specialist can thrive inside it, and any specialist will rankle at all of the irrelevant stuff tacked on to "their" Photoshop.

Even Thomas Knoll told me he has "no clue" about the "3D stuff" in Photoshop these days: "I don't even know the basics of how to use it." He's not a big fan of the type tool either. Meanwhile, my dad practically invented beveled text, and doesn't do much photo processing at all. I have a feeling they'd make a good pair.

So CS6 isn't for Thomas Knoll. It's not for my dad. It's not for me. It's not really for anybody. It's just for everybody. Amateur head-choppers, professional graphic designers, and everyone in the world with a BitTorrent client or a student discount somehow needs Photoshop. Because only Photoshop can Photoshop.