Adobe have uncharacteristically released a public beta of the new version of Photoshop – mainly so those people with shiny new Intel Macs don’t have to put up with running Photoshop under emulation any longer.
Everyone’s very excited. There’s a improved UI (no more floating palettes. yay!) and they’ve finally added a feature I’ve wanted for a long time – the ability to add filters to images non-destructively. To put it another way you can add an effect to an image and if you go back later and change the settings Photoshop will reapply the effect using the original image as a source. Previously you would have permanently changed the image when you applied a filter.
Now actually Photoshop already had a limited version of this already in the form of ‘Adjustment Layers’ which did pretty much what I just described but only work with a limited subset of effects – mainly those that do colour correction and adjustment.
Also there is a feature that has been around for ages called ‘layer effects’ which again let you apply effects to a layer non-destructively. But these are a different kind of effect again – effects that use just the perimeter of the image layer to create an effect.
Now I’ve used Photoshop for a fair while (since version 2.51 which didn’t have layers and only had one undo if you can believe such a thing. It was also made of copper and ran entirely on coal) so these subtle distinctions make a weird kind of sense to me. I know what the difference is between filters, adjustments and layer effects and have enough of a feel for Photoshop’s internal workings to see why there is a technical basis the these categories.
However I also teach Photoshop and am not looking forward to trying to explain this stuff. It’s really not going to make much sense. You’ve got three different categories of non-destructive effects all with their own means of being applied and with three different sets of limitations. Whatever the technical reason for this, it’s definitely something that could be fixed with some clever coding (After Effects and Fireworks both manage to avoid the problem with their own implementation of non-destructive effects).
This is part of the Photoshop interface. Not so much in the sense of buttons and on-screen widgets but in terms of the conceptual surface that you encounter when you learn the program.
You really notice this when you try and teach software to other people. It might make sense to you as you’ve learnt the creases and wrinkles over time but when you have to detour into non-obvious distinctions and internal workings to explain to someone why blur can’t be an adjustment layer and posterize can’t be a smart filter then you start to wish that a bit more consistency had been enforced when the features were added.
UPDATE – A great explanation from John Nack (The Photoshop product manager) on the reasons for the way smart filters have been implemented. They had some tough decisions to make to maintain a good user experience and I can understand why things are the way they are. Also see my comments and John’s response.
I mostly agree with you, however we have to also consider the limitations of our audience and not try to solve problems that may not have solutions. For example, it’s not a truck’s fault that it gets worse mileage than a motorcycle, and the person complaining about the truck is actually the one who made the error by choosing the wrong vehicle.
Instead of getting into all the quirks about various Photoshop features, it may be better not to confuse the students in the first place by waiting until they better understand the program and the nature of the work first.
At some point, the novice progresses to an intermediate skill level, and the quirks are easier to understand and work with or around. For example, when you know the difference between RGB, CMYK, Indexed Color, and Grayscale, then it’s easier to understand why a particular feature did not work the way you thought it should.
I’m not making an excuse for usability issues in Photoshop — there are plenty of them — but I want to point out that when users better understand the intricacies of the work they’re doing, they humbly realize that the “bug” was with them and not the program.
Well, maybe they aren’t always humble in their realization…
But it doesn’t always have to mean that the programmers messed up.
Particlarly in this case the issue is down to implementation quirks rather than due to properties of the problem domain that Photoshop is trying to tackle.
I know that’s not a rigid distinction (more a matter of degree) but the distinction between adjustment layers, smart filters and layer effects is simply a matter of historical accident.
And yes, I could choose not to teach these features to beginners, but, goddamit, they’re fun…
Ideally I’d like to see smart filters unified with both layer effects and adjustment layers thus:
1. Use any filter as an adjustment layer
2. Use any adjustment as a smart filter
3. smart filters stored as styles in the same way layer effects are.
Andy,
The entire application would have to be re-written for Smart coding to do that. I’m all for it, but it will take 10 years.
Mike – you sound like you know some of the technical reasons for this. Are you able to explain in any more detail?
My hunch is that it’s something to do with the fact Photoshop allows filters to process large images by splitting them into chunks. Adjustments aren’t a problem because they only need to process an image one pixel at a time (unlike more general image filters, the result of an adjustment is determined by one and only one pixel in the source image)
Layer effects don’t need to process the image at all. They only need to see it’s alpha channel.
But this doesn’t explain why Smart filters can’t be integrated into styles as these just store bunch of presets.
It also doesn’t explain why After Effects and Fireworks – both of which can use Photoshop compatible filters – have found a way round these limitations.
Hey Andy, could you post a crosslink to John Nack’s explanation of why this occurs?
It’s not as simple as us being inconsistent for history’s sake, as he points out.
Thanks,
Dave Story
VP Engineering, Digital Imaging and Web
Adobe Systems
If it comes to rewriting the whole code for PS CS4 (in more efficient way), that is something that Adobe should seriously consider doing. Even if it takes another 11 (Nigel ;-) odd years (but it won’t of course). Sooner or later (if not already) you’ll face the same problem as QuarkXPress – not being able to functionally extend the application, in the way you could add modules without significant performance loss etc. I mean extending and NOT patching the code and do workarounds (ie. why separate adjustment layers and smart filters, why I can’t have Treshold as smart filter?)
InDesign was written from scratch, wasn’t it? And that was the best move.
That’s the link btw. http://blogs.adobe.com/jnack/2006/12/the_secret_life_of_sf.html
but doesn’t convince me.
Good luck :)
It’s interesting to look at the way other applications deal with similar issues.
Fireworks allowed editable filters but they were applies per layer not in the ‘everything under this layer gets affected’ way that Photoshop does.
3D Studio Max faces something similar with the way it implements ‘modifiers’. You have a base object and then a stack of modifiers that affect that object in various ways. You can edit at any point in the stack and either view at the current level or view the end result. Some modifiers are very processor intensive and the underlying datasets can be as big as in any Photoshop file. And, yes, sometimes the stack is unresponsive and updates take a long time. But you tend to know that when you are working on large objects.
After Effects also allows arbitrary nesting of filters and sub-objects (‘pre-comps’) and doesn’t come up against any particular issue.
A combination interruptible actions when they are taking too long, the use of low-res proxies for interactive display could easily get round this. I don’t know how much the internal plumbing of Photoshop is getting in the way but I don’t think a total rewrite would be essential. (and Tomek – my hunch is that a total rewrite would be a very risky endevour in terms of costs vs. benefit – the costs of rewriting something like Photoshop would be immense and you would have a lot of ‘v1.0’ issues to deal with – just like with InDesign!)