I liked the idea of Adobe Generator when it first debuted. And then I tried it. Then I loved it. I hadn’t even had a chance to fully put it through its paces, but I could see the value: let PS do the work of updating graphic elements while you create so that you don’t have to constantly “Save for Web,” with all of its minutiae. After all, rising bandwidth is giving us more and more breathing room when it comes to graphic file sizes these days, so there’s less need to fine tune your GIF palettes or tediously break one image into multiple chunks. And then there’s the resolution revolution — who has time to create 2–4 sizes of every friggin’ graphic?! Just tell PS that this graphic is a 65% compression JPG with an @2x version and get on with your life.
But… well, there is a big ‘but,’ and it’s this: even after the recent 2014.2 update, it’s just not a fully formed newborn yet. It’s still great, and still valuable, but it’s not the “SfW Killer” that I think we’re all waiting for. Here’s why:
Generator purports to let you put exported images in a “preferred” folder, but A) it doesn’t let you select a preferred root folder for all extracted images (why would you want your output in the same directory as your PSD?), and B) it insists on putting your scaled versions in separate folders even though it also allows you to give them suffixes (why would you need to put them in separate folders if they have unique filenames?).
The consequences of these limitations are, respectively, A) that you have to create a symbolic link (not just an alias!) to your actual ‘images’ folder with the folder name that Generator creates, and B) you have to either avoid using the new “Extract Assets” UI to output scaled versions (@2x, etc.) and stick to the layer naming usage or just be okay with the unnecessary subfolder.
The Extract Assets UI wants you to build at “1x” resolution and let it dictate what the 2x versions look like (since you’re surely just using high-res smart objects, right?), instead of letting you go the other way around. I, for one, am generally doing the latter, since I — forward-thinking design maven that I am (polishes fingernails on collar) — care more about what the 2x versions look like. Granted, you can do things my way if you stick to the layer name syntax instead of using Extract Assets, and I’m glad for that, but I’d be gladder if I could use the efficient new toys that the PS team is taunting me with.
This one is ridiculous, and it’s really starting to piss me off: there’s no ability to control the crop of a given layer’s output other than to perform a hard crop on it (hey, weren’t we encouraging the use of smart objects here?) or group it with a base layer below. One would think that PS would honor the rectangle dictated by the layer mask, no? Or perhaps the layer group? But wait, surely the document’s actual dimensions can restrict the crop! No, no and… wait, let me check… no. We should be able to control a layer’s output dimensions by any of these methods, it shouldn’t be dictated ONLY by the layer object’s native size, nor should we have to create layers whose only purpose is to control the crop.
Among all the hoopla about the Extract Assets UI, I’m glad I caught the afterthought mention of a ‘default’ empty layer that will dictate the base settings of your PSD’s output. I was relieved that this existed once I discovered the shortcomings of Extract Assets. And yet, even here things are falling short. One would think that quality settings would be among the default-able options, which would eliminate the need to include a percentage value on every layer (i.e., ‘image.jpg75%’). But no dice. The default layer can control size, suffix and output subfolder, but nothing else.
It didn’t take me long to discover a perfect design world use case for Generator: the efficient creation of large stacks of images that have the same format/style (i.e., decorative photos, UI buttons, etc.). Generator is a natural fit for this purpose, since you can create a stack as large as you want of same-styled graphics and just give them all appropriate layer names — boom, you’re done! PS exports all of them rapidly for you… except, well… not in the best manner.
The fact of the matter is that it wants to export all of the Generator-labeled images every single time you change anything, even if you didn’t click on most of the layers in question since the last time it updated them. So when I add a new photo, say, to my “ACME Scenery Photos” PSD, it slogs through all 100 of those photo exports, even though I just added the one! I don’t expect the software to recognize whether this or that function should naturally result in an update, but I think it’s reasonable to assume that you don’t need to re-export an image that I didn’t touch at all. Also note that this use case is another good example of why point #3 is a nuisance — I shouldn’t have to make my ACME PSD 200 layers when it just has 100 photos.
Quite right, and the purpose of this bitchy-ass post is not to criticize the Photoshop team, truly. As I said, I really do love what I’ve been able to do with Generator. My mission is merely to inform anyone heading down the Generator path of what you can and cannot get away with at this point in time. And maybe to prod the aforementioned team into smoothing a few things out. Just a little bit.