8

I know I can do multiple iterations of the same Smart Object within the SAME document and have it change all instances, but what about Smart Objects placed across DIFFERENT documents? That would be awesome.

I ask because I’m designing an iPhone app and it uses the same modules over and over across different screens. There are dozens of screens and each time I needs to change a button or text field in a module, I need to fix it one at a time in each file. Sucks!

2
  • As Scott has said, I don't think that's possible. So you have each app state/screen in a different document? Why not use groups for each app state and keep it all in one document? (That's what I do.) Commented Apr 25, 2012 at 6:14
  • but it makes file heavy Commented Apr 25, 2012 at 7:47

6 Answers 6

7

Once you make a Smart object you can do this:

  1. Right click it and choose Export contents ( This will prompt you to save the smart object as separate .psb file. )
  2. Now, If you duplicate (Ctrl+J) that smart object around inside the document and decide now is the time to make changes to it. Instead of right clicking and going to edit contents, you do this:

  3. Open up the external .psb file. ( Make the changes and save... )

  4. Go back to the work document where you have the smart objects, right click one of the smart objects and choose Replace contents then find the .psb file and replace away. ( This will replace the current smart object contents with the external .psb file to all of the duplicated smart objects in the document. )


Now, if you want to use that .psb file in other documents you can use the top menu File > Place and open up the psb file and press enter.

Once that is done, you may continue with list item 2.


And in list item 1. it doesn't matter if you already have duplicated the smart object in the document, export the contents from one of those, and then just jump over list item 2.


Big handicap that this feature has is that your smart objects in the work document(s) wont update automatically when you edit and save the external .psb file because they can't be linked.

So each time you edit the external .psb file, you need to replace the smart object contents in your work document(s) to see the changes.

4
  • Haven't even touched the cs6 beta yet. Does anyone have info if they would've maybe updated this feature so that you can link external .psb files to .psd document?
    – Joonas
    Commented Apr 25, 2012 at 8:28
  • I've used the CS6 beta for a while, but I don't think there's been any Smart Object .psb changes. There have been some fixes to the way Smart Objects from Illustrator are antialiased though. Commented Apr 25, 2012 at 11:09
  • @MarcEdwards Thanks for the info. I should try to get myself to install that cs6 beta one of these days.
    – Joonas
    Commented Apr 25, 2012 at 11:46
  • @Lollero CS6 is full retail release now -- and everything you describe in your answer still works the same way in CS6.
    – Farray
    Commented May 21, 2012 at 14:50
6

What you are describing is a Publish <> Subscribe system.

Photoshop has no ability to reference external files. All Smart Object data is stored internally in the document.

There's just no way to have multiple Photoshop files reference an external document.

Update: The January 2014 update to Photoshop CC now contains Linked Smart Objects which allow you to use one smart object across multiple Photoshop documents. Just choose File > Place Linked... to link to an external file. If the external file changes, you'll be asked to update all documents containing that linked file when they are opened again.

Note: This ability can only be found in Photoshop CC or newer.

0
4

In the past when doing things like this I've kept everything within one uber-PSD file using layer groups for each 'file', plus a few layer groups for shared elements like headers and background. To switch from 'file' to 'file', I toggle the visibility of the appropriate groups. This avoids your issue being a problem, but it's a bit clunky. You'll want to back that file up often!

I ask because I’m designing an iPhone app and it uses the same modules over and over across different screens. There are dozens of screens and each time I needs to change a button or text field in a module, I need to fix it one at a time in each file. Sucks!

This sounds like a case for Adobe Fireworks and it's Master Pages and States features. In fact, your very problem sounds exactly like this guy's Point 1 in a 10 point list on why he prefers Fireworks to Photoshop for similar tasks (in his case web page knockups rather than apps, but the issues are similar). He says:

When working on a multi-page mock-up for a site design, the advantages of having all your assets contained within a single file are enormous. Although having 5 different PSD files may be workable initially, once edits and changes are required, for example changing text in a consistent header or footer, things can soon get messy and time-consuming as changes have to be made across all files.

Unlike Photoshop, Fireworks allows you to set up a "Master page" which acts like a template, containing all the things that are common to all the views in your app, which you can then put specific stuff on top of.

It also has a "States" feature which stores differences with other states. You could use to store and show differences within one app view - for example highlighted and non-highlighted buttons.

No-one likes a "Try a different application" answer, but if you haven't tried Fireworks for knockups for interactive views, it is seriously worth trying. It has loads of benefits beside this issue.

2

It looks like Adobe has finally listened and implemented Linked Smart Objects in the new Version of Photoshop CC. I haven't been able to update yet, but watching the video shows that you can now make changes to a Smart Object and have it update across multiple documents.

Hallelujah!!

View on Adobe here: http://www.adobe.com/uk/products/photoshop/features.html

UPDATE: Just confirming that I have upgraded to the new Photoshop CC and successfully linked Smart Objects between documents. A useful video showing the process is here: http://www.youtube.com/watch?v=PVvhR5Yj_ag

0
1

Encountered the same dilemma the other day and my search took me to an extension called CanLinkIt. CanLinkIt provides provides a one-click 'Update' action that does the 'Replace Contents' work for you - I think by looping over all of your layers to determine if needed. Thankfully you can individually select layers to update. My understanding is that it does this by attaching meta-deta to smart objects linking them to their .psb file.

I didn't continue using CLI because we didn't up up splitting the work between 2 designers and didn't see the need but this should fit the bill for your needs. I hope this helps.

0

Try to use inDesign - it's what you need.

  • master pages
  • link objects
  • links and buttons with export to pdf - with this you can create not only static images, but prototypes

article for start

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.