February 07, 2009
Expanding Smart Objects
Thanks for all the great feedback regarding ways to manage complex documents. I should probably toss in the inevitable disclaimer that we’re just gathering feedback, none of this is a promise/hint about future work, void where prohibited, blah blah.
A couple of people have mentioned the idea of expanding Smart Objects back into the layers that formed them initially. That is, you’d be able to select multiple layers, turn them into an SO, do various things to the SO, and then explode the layers back out into the main layer stack. It’s a great idea, and of course (you knew this was coming) it’s really hard to make work, which is why it’s not supported today. In case you’re interested, let me explain why.
Smart Objects let you apply a variety of transformations to the selected object. You can scale, skew, perspective-transform, warp, and filter them. The trick is, how would you turn the transformed content back into layers while preserving its appearance?
In some cases the job would be easy. Let’s say you put four layers into an SO, then scale it up & want to expand the layers back out. That seems pretty straightforward: apply the same scale factor to each layer, then move it so that the positions match. The same might go for skewing & distorting, though I may be overlooking some cases. But what about warping and filtering? It gets tough, if not impossible, quickly. I’ve made a little illustration (read it left to right) that may help illuminate the challenges.
The upshot is that expanding Smart Objects back to layers could be made to work some times and not others. Addressing at least the simpler cases would be a worthwhile effort, though that task would have to jockey for position relative to other SO-related enhancements.
For instance, if PS offered an option not to save the composite data of an SO in a file, the SO wouldn’t add file size above and beyond the layers it contains. That would in turn open the door to PS creating SOs automatically when transforming layers, which is essential to getting more people using this feature. The consequence would be more time spent opening files, however, as SO composites would have to be rendered on the fly. That in turn adds new requirements to other PSD-reading apps–e.g. that they be able to run filters on the fly in order to preserve appearance. The whole thing becomes a quasi-religious argument about format compatibility and trading one kind of performance for another. There are many cans of worms here.
If you’ve read this far, my fellow geek, you may be interested in previous entries about The Secret Life of Smart Filters and the closely related Simplicty vs. Power in Photoshop. Nobody ever said progress was gonna be easy. :-)