Konfabulatorの上手さ
本家ForumでもDashboard騒ぎは鎮静化しつつあり、ScriptingやSupportのセクションは通常の状態に戻りつつあるようだ。
で、改めてKonfabulatorの良さって何かというのを考えてみてるのだけど。
いろんなところの記述を見てると「JavaScriptで書く(からwidget作りやすい)」という部分がとりあげられてるんだけど、むしろWidgetの作りやすさは「.konファイルがXMLだから」という部分の方が大きいでしょう。スクリプト言語なんて慣れてしまえばJavaScriptだろうがなんだろうが何でもそうそう変わらないし、逆に慣れてない言語だとその癖をつかむまで時間がかかるわけで。そういう意味では、実際のコード制御スクリプト以外の、部品指定やイベント制御がどういう記述になってるかということの方が大きいでしょう。
で、Konfabが上手かったのは、そこをXMLに、しかもHTMLと見まがうくらいのものにした、ということだと思うのです。Konfab用のWidget作りって何よりも「ウェブページ作り」とかぶるところが多いのです。
例えば
<HTML> <HEAD>…</HEAD> <BODY> <img src="hoge.gif" onClick="alert('HOGE');"/> … </BODY> </HTML>
なんてのと同じ感覚で
<widget> <window>…</window> <image src="hoge.gif" onMouseUp="alert('HOGE');" /> … </widget>
なんて感じに書けばいい訳ですよ。しかもテキスト主体で文章としての論理構造がどうのってHTMLとは違うから、思い切り「見た目」を制御できるし。HTMLならぬ、WML(Widget Mark-up Language)あるいはDAML(Desktop Accesory Mark-up Language)とでも言えばいいのかな?*1
画像ファイルなどの部品も、ちょうどLocalでウェブページ書くときみたいに、.konファイルからの相対位置で指定すればいいわけで、まんまHTMLのタグ打ちやってる感覚なのです。だから自分でウェブページ作ったことのある人ならとても理解しやすい。それにプログラム部分もJavaScriptならば、それこそウェブページ作っててかじったことのある人ならば取っ付きやすい。もっと凝ったことがしたい人はPerlやRubyを使えばいいってところもそっくり。それにソースを隠せないってあたりも。
実はKonfabを最初に手にした頃に考えたことに、いっそSafariがこの手のDAMLみたいなものを解釈して表示してくれたら面白いだろうな、ってのがありました*2。
まぁ、そうなると今度は「MicrosoftのActiveDesktopのパクリか?」なんて言われるんでしょうけどね。
*1:http://pc5.2ch.net/test/read.cgi/mac/1088474791/675 にも似たような考え(Dashboard=DA表示用のブラウザ)の人がいるみたい
*2:いやまぁ、セキュリティの問題があるからローカルファイル限定だけど