December 23, 2006

Flash runs inside Photoshop CS3!

Psst… Wanna watch "PhotoshopTV" clips inside Photoshop itself?  How about making a script that can access the network, upload/download data*, and control Photoshop?

Sorry if I’m a bit worked up, but I love reporting that the Photoshop CS3 beta supports running Flash SWF files as script interfaces. Whereas in CS2 scripts can feature fairly simple UIs (e.g. the Image Processor), in CS3 they’ll be able to take advantage of all the richness of Flash and Flex.  To see it in action, download this sample** (with MXML source), unzip it, and put the contents into "Adobe Photoshop CS3/Presets/Scripts."  You’ll be able to use it to run other scripts and even watch streaming video.  For immediate gratification, here are a couple of screenshots.

So, why do I think this is a big deal?  For starters, we have to make developing for Photoshop radically easier and faster.  If you want to make a new component for Yahoo Widgets (neĆ© Konfabulator), you simply run a script in Photoshop; compare that to the task of building a Photoshop plug-in.  Photoshop will grow inexorably larger and more powerful, and to keep it usable we need to make it trivial to tune the app to particular needs/tastes.  That means easy extensibility & customization (up-level what you need, get rid of what you don’t).  It’s here that Flash & Flex can play a great role, enabling fast, rich, lightweight, cross-platform development.

Supporting SWFs in scripts is just one step, but it’s a big one.  Displaying a video stream might seem odd, but I’ve got some big designs on ways we can connect people through the apps, make learning immediate, and more.  Embedding the Flash Player across the Adobe product line gives us a way to enable rich widgets that run across applications & platforms.  Exciting times ahead.

* With your permission, of course.
** Note that there’s a bug with display of dynamic data on Intel Macs

Posted by John Nack at 5:16 PM on December 23, 2006

Comments

  • Chris Harrison — 9:17 PM on December 23, 2006

    I’m not gonna lie, John, that just gave me goosebumps.

  • Theo — 8:40 AM on December 24, 2006

    Doesn’t that mean that I will soon have to scan my DL’d Photoshop scripts through a future version of an anti-virus package to make sure that they’re clean? Oh, I suppose I should scan everything prior to touching it with my fingers while I am at it. Thanks for the updates, happy holidays!
    [Cool–same to you. :-) –J.]

  • ethan — 9:08 AM on December 24, 2006

    This opens huge opportunities with “Just in time “/rapid elearning from the enterprise level. Bringign guys up to speed who use photoshop for less artistic production work has been a huge problem for me. Are you folks looking into Connect capabilities as well.
    [Well, the great thing is that embedding the Flash Player opens the door to everything that Flash supports, including Connect. –J.]
    Having some kind of integration with LMS standards would be cool as well. Much nicer to have the student boot up the app they need training on and interface with the lms instead of going through the LMS front end when they want small knowledge objects. -ethan
    [Exactly. It’s like putting M&M’s in the checkout aisle at the grocery store. Good bits should be a click away. (“Got 30 seconds? Want to see something cool?”) And that’s just the start of what I’m pitching. –J.]

  • heathrowe — 2:47 PM on December 24, 2006

    Interesting – will this open the door to ‘extending’ Photoshop as well, I wonder – ie User Custom Palettes!
    [Absolutely–I think it’s essential that we get there, although it’s not in the cards for CS3. Being able to *easily* make & share palettes that tune PS to your (or an industry’s) needs is an important step that we need to take. –J.]

  • awflasher — 4:04 PM on December 24, 2006

    Powerful tool!

  • Chris Rhoadhouse — 9:09 AM on December 25, 2006

    Wonderful! the possibility to have streaming video and the ability to control interface elements in Photoshop will make Photoshop much much easier to train people on. I can see publishers coming out with a whole line of interactive training titles.
    This makes up for the ugly logo :)
    [Whew! ;-D –J.]
    Cheers!

  • ethan — 10:57 AM on December 26, 2006

    Are there plans to extend extension manager support to photoshop? that would allow an easy way to share custom palettes.-ethan
    [We’re certainly talking about it. I think we can do even better than that, although doing so may take some time. –J.]

  • Chris Charlton — 4:00 PM on December 26, 2006

    I’m totally down for this.

  • Sepen — 10:50 PM on December 28, 2006

    Any news on if this is going to be across CS3 or at least in the three core apps?
    I realize that having parity among all software titles in a single version release is difficult on a number of levels but from a user standpoint, it is always frustrating to see the apps in a suite not behaving quite like products designed to opperate in a semi-uniform manner where possible from an interface standpoint.*
    [I know, and we totally agree. It’s sometimes tough to trade off the desire for uniformity with the desire to let each team race ahead as fast as possible. –J.]
    Like, I’d LOVE to hear that the new interface PS has with the pallets will be available for Illustrator as well.
    If you don’t know or aren’t allowed to answer on these questions, is there anyone that knows or is able to that we can beg, bribe or threaten to get that info from? :)
    *I get that you’ve (Adobe) only had two cracks at this thus far which isn’t that much when some apps are already very long in the tooth out there by themselves but I hope CS3 will show a little more unification in that regard.
    [The new palette system will make its way into Illustrator, InDesign, Flash, and GoLive. As for SWF support, I don’t know where everyone will shake out this time. It’s something that we’re likely to push in a bigger, more cohesive way in the future. –J.]

  • simo bogdanovic — 4:25 AM on January 02, 2007

    Looks great,very interesting. I’ve done some basic scripting and UI creation in CS2. Does this mean that we will be able to create the Flash interface elements in CS3 or will we need to build the UI in Flash first ?
    [You’ll need to build the UI in Flash or Flex. –J.]

  • zombiefredrik — 9:20 AM on January 04, 2007

    I just want to send LOVE to the great people at ADOBE! This is GREAT news for us nerds! Now, give us a more understandable API and we are all set!
    [Could you provide some specifics on what API changes you’d find useful? –Thx, J.]

  • zombiefredrik — 9:26 AM on January 04, 2007

    Have to add:
    After testing – can we PLEASE have non-modal windows for scripts!
    [Ah, I’m afraid not for this rev, but we’re getting there. In the meantime, you can have a SWF in a window in the foreground, sending and receiving commands to and from Photoshop. –J.]

  • zombiefredrik — 12:38 PM on January 04, 2007

    RE: API
    I guess what I meant was stuff that require the scriptlistener plugin to get a grip of. I understand that this is how photoshop works (I’ve done some serious InDesign Automation using C# and some DLL I cant remember the name of right now). The thing is – it might just be me, but I have a hard time figuring out HOW to do stuff when I’m in the flow and KNOW what I want to do. Know what I’m getting at? To be completely honest I haven’t had enough time to really dig deep into scripting and CS3. Thanks for listening and I’ll be starting flash here and enjoy!
    [We completely hear you. I really want to make it possible to record clean JavaScript from Photoshop, so that you don’t have to use the existing listener and/or scour tons of documentation just to figure out what something is called. We didn’t get there this time, but we’ll keep trying. –J.]

  • Patrick Hartman — 5:38 PM on January 11, 2007

    This does look like it will add some exiting possibilities for Photoshop scripts. However, I don’t see myself using this much as I have gotton comfortable with building the GUI’s within the JavaScript window builder. Having to make the dialogs in Flash first would just add an extra step to the process, and if I am not using any Flash-specific features it seems like more of a cosmetic option if nothing else.
    Are Flash-based dialogs the direction you are hoping all scripts will move to in the future? I am just curious if development of the old JavaScript GUI system will be abandoned in favor of the Flash way (I hope not!).
    [I have a really hard time imagining that happening. The point isn’t to force anyone to use Flash or Flex; rather, it’s just meant to open up some new possibilities for rich, lightweight interface development. –J.]
    Either way, I am excited to see that all this attention is being given to the scripting aspect of Photoshop. It is an amazing feature of the program and I love to see it grow!
    [Cool! :-) –J.]

  • Larry Ligon — 5:33 AM on January 14, 2007

    I have to buy another program to build this Flash UI? What program?
    [You actually don’t have to buy anything else, as far as I know. You could use Flash, Flex, or the free Flex SDK. –J.]
    Where can I find the documentation on using the Flash UI in Photoshop CS3 Javascript?
    [Nothing exists that’s specific to the integration. Rather, you need to consult the regulsr PS scripting guide (which should be in the Photoshop app folder) as well as Flash/Flex documentation. Hopefully more docs will be forthcoming. –J.]
    Someone said there is a JavaScriptToolsGuideCS3 document that explains this?
    I’m looking forward to checking out the new scripting features.
    We’ve been discussing this on the PS-Scripts web site: http://www.ps-scripts.com/bb/viewtopic.php?t=1334&highlight=flash
    [Ah–thanks for the link. I figured it must have popped up again as the traffic has increased recently. –J.]
    You’re the only one updating your blog! Keep up the good work. Thanks for taking the time to keep us informed.
    [Sure; thanks for checking it out! –J.]

  • Eric Gagnon — 8:13 AM on April 27, 2007

    Mike Downey mentionned this to me at FITC and i really had a hard time finding about this.. you should really have advertised that more.. that is really something cool.
    [Ah, don’t worry; I have more promotions in store! I’m just waiting until the tryout version is posted so that people can immediately check it out. –J.]
    But i really hope you will add non-modal flash tool palette like it exist in flash (dockable and such)!
    Then it will be an invaluable tools for scripters and really help cms integration….
    [Cool, glad to hear it. –J.]

  • Nick — 3:20 AM on January 29, 2008

    Hi
    Totally of topic (..sorry..)
    In the provided link – what software did you use to record on tha Mac?
    Thanx
    /Nick
    [I use Snapz Pro from Ambrosia. –J.]

  • Michael — 3:14 AM on April 01, 2008

    Hey John, i’m trying this out now but i’m running into problems with the externalInterface.call from flash. Instead of it connecting with the javascript methods i get a security error saying my flash is illegally trying connect to the internet.
    Is there any documentation on this, or do you have any advice?
    [Michael, shoot me a mail (jnack at adobe) and we’ll talk more. (I tried replying to your comment but my message got bounced.) Same goes for anyone else who’s interested in using Flash/Flex to develop atop Photoshop and the Suite. –Thanks, J.]

Copyright © 2014 Adobe Systems Incorporated. All rights reserved.
Terms of Use | Privacy Policy and Cookies (Updated)