As it turns out, it's Photoshop.
Yes. The graphics package from Adobe.
It's got a really good javascript debugger/profiler called "the ExtendScript Toolkit", and it ties in beautifully with Adobe Photoshop, ImageReady and Bridge, running scripts in those applications from a separate window of its own, single stepping them, adding break points. It has a very intuitive, overviewable and to the point interface you can reconfigure to fit your needs, it has its own unicode capable built-in editor with syntax highlighting support, call stack and variable inspection views, and everything else you would expect from a stand alone product. The Adobe + Macromedia merger is making more sense to me by the minute.
Finding this treasure, I was really taken by surprise, though it makes perfect sense. Photoshop embeds a javascript interpreter to do custom scripting of actions, and your own advanced automation of boring tasks. It's much like the AREXX interfaces of Amiga applications during the nineties, and you basically get access to everything you may want to script, as it should be.
I have been mildly aware of this since 2004, on finding the (quite excellent) ObjJob javascript DOM references, which covers not only the various browser DOM and ecmascript core objects references but also the base SVG, Anark Studio and Photoshop DOMs. Among the better aspects of it is that it allows toggling inherited properties and methods on and off, and breaking down the DOMs by interfaces, which is great for finding what you are looking for quickly.
Not until today did I really look into it anything, though. I had set out to make myself some animated load progress images for a forthcoming upgrade of my topic navigation system, and figuring it's a blob of JSON being fetched from Del.icio.us (and since it's stylish), I thought I would base it on the JSON logo. My first shot at it ended up like this:
But I didn't realize it was antialiased towards a white background until I was done, and redoing the job from scratch to get it antialiased towards the somewhat darker background I had in mind did not feel like a very amusing prospect at the time. So I recalled the scriptability of Photoshop, and thought I should at least investigate.
Tranberry seems to be a very good resource on Photoshop javascript programming, and the Adobe reference guide PDFs are very good, too. I'll probably be back on the subject later on. If somebody in the meantime would pop by with a tip on already existing support or automated methods for making gif animations by rotating an image with Photoshop, I'm all ears, but otherwise I will probably eventually address it myself.
Unless I end up fawning over the ExtendScript Toolkit, every time I start poking on it.
Great looking images, Johan. Evocative of Oroboros and a Moebius Strip. I wonder if this will become the de facto standard so a generation of people will associate this with "please hold - JSON goodness coming down the wire".
ReplyDelete