There are currently a lot of Mac users of Lightroom who are counting down the hours until Adobe releases a fix to get Lightroom working properly on Apple’s latest operating system, Leopard. From the recent announcements made, it sounds as though Adobe has started work on a release (1.2.1?) to overcome these Leopard shortcomings as soon as possible — mostly likely the next couple weeks.

As a Lightroom user that still has a fully functional application, there is currently one feature — that’s admittedly not trivial — that I’m counting down the days to: the ability to extend and customize Lightroom to suit my needs via scripting. Why do I find this a pressing issue right now? I’ve spent time over the last few days throwing together some JavaScript to automate some oft–repeated and mundane tasks in Photoshop (yes, that little language is at home in the mother of image editing applications and web browsers), and have again come to appreciate the utility of having scripting hooks in your workflow’s tools. That could also just be the computer programmer inside of me speaking.

But it’s not a matter of if scripting will be supported in a future version of Lightroom, it’s a matter of when, as Mark Hamburg — Lightroom’s chief — has mused about the subject before. However, as mentioned in the interview, knowledge of JavaScript won’t get you very far when it comes to Lightroom’s scripting support. Why?

Adobe’s staple applications (such as Photoshop & Illustrator, and the recent additions to the family such as Flash & Dreamweaver from the Macromedia acquisition) share a common look and feel: concepts such as palettes, workspaces, and generally speaking, the whole application interface look more–or–less the same from one environment to the next. And there’s a good reason for that: they share a common library of code that takes care of the heavy lifting common to all of the applications. The foundations of the application’s scripting engine could be considered as part of this toolkit; Photoshop, Illustrator, and others support a variety of scripting languages: JavaScript (supported on both Mac and Windows), AppleScript (only on the Mac), and Visual Basic (only on Windows).

However, Lightroom follows a different path; its interface & application logic is built using an embedded programming language called Lua, rather than using Adobe’s existing toolkit & libraries (which explains a lot regarding why Lightroom looks and behaves so differently from its cousins in the Creative Suite). Those who have cobbled together enough JavaScript to automate other Adobe applications (or just about any web browser) would do well to start brushing up on Lua in preparation for the introduction of scripting support in Lightroom (whenever that happens to be). The good news is that a strong grasp on the fundamentals of JavaScript (or any other scripting or “full-fledged programming” language, for that matter) will definitely go a long way when adding a new language to your toolbelt.