WWDC Keynoteの録画を見て絶句。
「……AppleScript書きが失業してしまう(汗)」
目下、とあるアプリケーションのデモ用のScriptの企画を進めているところだが、来年だったらこの仕事は成立しなかったんじゃないかと考えると複雑な気分だ(マイナーなソフトなので、大丈夫という気もするが)。
たいていの身の回りのScriptingなら、直接書かずにAutomatorを使えば事足りてしまいそうだ。高速富士山ですらAutomatorで処理を書けてしまうかもしれない。iChat AV AutoResponderやNewt Onクラスになるとそういうのは無理そうだが……。
思えば、4年ほど前のこと。US AppleのAppleScriptプロダクトマネージャーSal Soghoianに日本で会った際、彼は、
「AppleScriptの自動生成について研究しているんだ」
と言っていた。Script Editor 2.0にスクリプト作成支援機能が搭載されたあたりで、「このあたりの話なのか?」と思っていたのだが、まさかここまでやっていたとは(汗)
Sal Soghoian率いるAppleScriptチームが、ここしばらく、異様に忙しそうだという印象を持っていた。
「何か作っているにちがいない」
その矛先は、真っ先に「HyperCardの復活」というアイデアに向けられた。現在、AppleScript Studio環境では、HyperCardとは言わないまでも、HyperTalkに近いレベルの機能は実現されている。
HyperTalkからGUI関連の命令や予約語を取り去ったのがAppleScriptであり、そこにGUI関連の命令を付け足したAppleScript Studio環境は、HyperTalkに酷似した存在といえなくもない。
そこに登場してきたAutomator。
Sal Soghoianがデモを行ったということは、きっとAppleScriptの自動生成ソリューションなのだろう。Visual Scriptingと言っているのと、見た目がきわめてScript Editorに近い点でほぼ間違いない(ただし、生成したアクションはスクリプトエディタで編集できない可能性が高い。マーケティング的な判断から、おそらくそのようなアプローチが採られることだろう)。
Mac OS Xの時代になって、アプリケーションの動作をスクリプトエディタでそのまま記録する「Recording」については、あまり重視しない方針が明らかにされてきた。
では、その代替案は何なのか? という問いに対する答えは一切存在していなかった……そう、昨日までは。
このような自動処理ソリューションとしては、Classic Mac OS用のFilterTopというアプリケーションが著名であった。各種自動処理部品をキャンバスに配置し、その間を線でつなぐことで、自動処理アクションを記述できた。1つの流れを複数に分岐させることもでき、非常に柔軟な処理を行えた。
AutomatorはこのFilterTopによく似ている。
だが、FilterTopの弱かった部分を確実に克服するようなアプローチがしっかりと採用されている。FilterTopはTopSoftというネット上の非営利団体が作ったものなので、モジュールの開発用SDKも整備されておらず、モジュールの数はほとんど増えなかったのだ。
「Mac OS上のScriptingテクノロジーは12年の歴史がある。一足にここまで来られたわけじゃない。今までの積み重ねがモノを言うのだ」
KeynoteでSal Soghoianがそのようなことを言っていた。なかなか陽の当たるところに出なかったScripting技術が、ようやく脚光を浴びる存在になれたことを指して、思わず彼の口から出て来たものだろう。この言葉は、重い。
さて、Automatorへの各アプリケーション側での対応について予想してみると……Automator対応アプリケーションでは、特定のフォーマットで書かれたScriptを添付しておくようになっているのだろう。Automatorにアプリケーションを登録できるか否かは、添付Scriptが存在しているかどうか、また添付Scriptが所定のフォーマットで書かれているかどうかで決まるに違いない。
アプリケーション側にある程度の基礎的な処理Scriptを添付する「Hyper リソース構想」というものはML内で提案してきた。その内部Scirptに対して命令を発行することで、基礎的な処理は誰でも簡単に記述できるようになるだろう、と言っていた。
ただ、それをGUIでラッピングするところまでは考えていなかった。当時、AppleScriptチームはAutomatorの開発の途上にあったわけで、その意見を採用した……というタイミングでないことは確かだが、少しは焦らされたのではないかと思っている。
たいていの自動処理はAutomatorで実現できるようになるに違いない。ならば、AppleScript屋さんはXcodeでアプリケーションを作るAppleScript Studioに専念することになるのかもしれないが……となれば、Objective-Cも覚えた方がつぶしが効く。
早速、Objective-Cの入門書を読みはじめた。喫茶店で丹念に理解して頭に叩き込んで……しかし、分厚い本を1冊読んだところで、さほどたいしたことができるようにはならないのだった。
生産性という意味において、AppleScript Studioは驚異的だ。Xcode 2.0になってもうちょっと使いやすくなると、なおよいだろう。