先日リリースさせていただいた FlightGear Alternative v1.3.7 ですが、「ドロップされた機体/シーナリを所定のフォルダに入れる」という、シンプルな機能の追加でありながら、前回のアップデートから1ヶ月以上も費やしてしまいました。このひと月のあいだ、私があちらこちらに脱線していたせいです。
何に脱線していたかというと:
- レンタルサーバーを借りてみた
- レンタルサーバーに Movable Type をいれてみた
- Subversion を使い始めてみた
- del.icio.us を使い始めてみた
- さすがにデフォルトのままでは公開できないので、Movable Type のカスタマイズ方法を最低限勉強してみた
そして、この脱線の中から、ひさびさに2本新作アプリを作っています。まだ公開できる状態ではありませんが…
Simpl.icio.us – del.icio.us クライアント
Cocoalicious があり、そのほか様々なツールが存在する中で、かなり今さら感がありますが(汗)、まだ少し、それらに不満を感じるので、作ってみています。何が不満かというと、Cocoalicious も、del.icio.us ウェブサイト自体も、「ブックマークの管理」という点には、あまり重点が置かれていない気がするのです(いらないのかな?)。
del.icio.us を最初に使い始めたとき、ちょっと失敗してしまいました。なぜかブックマークにタグを付けるときに、英語/日本語・表記のゆれ・広い意味で関連のあるタグまで(!)、全て入力していました。結果、(たぶん他の人には役に立つかもしれないけれど)自分にとってはえらく使いにくいブックマークができあがりました。フォークソノミーの意味なし。
そこで、ちょっとやり直したいなと思ったのですが、複数の項目のタグをいじったりする機能はなし。せめて全部消したいと思っても、それもできない。結局 AppleScript で del.icio.us API にアクセスするスクリプトを書いて、ひと項目ずつ削除すると、半日ぐらいかかりました。
del.icio.us API の問題はそこで、ふたつの処理のあいだには、最低1秒のインターバルを置かなければいけない仕様です。しかしそれは、かかる時間を計算して、ユーザーに問い合わせればいいのではないかと。
せっかく自分のブックマークなんだから、もっと使いやすくいじりたいときもあるはず、ということで作っています。…といいつつ、まだユーザ名/パスワードはソースに直打ち、検索機能もついてない、という状態ですので、しばらくお待ちを…。
StyleWrap – リアルタイムプレビュー付きの CSS エディタ
「それは普通にあるっしょ」と思われる方もいるかもしれませんが、私が本当に欲しい機能を持っているものが見つからないのです。
どんな機能が欲しいかというと、「オンラインのページのスタイルシートを直接編集する」機能。ちょっとわかりにくいでしょうか。FireFox で Web Developer 拡張機能を使っておられる方がいれば、あれの「Edit CSS」機能と全く同じものを目指しています。ただしあれはいちいち FireFox を起動しなくてはならず(私のメインブラウザは Camino なもので…)、タブの入力ができない、また操作を誤って編集中のデータを飛ばしやすい(私だけ?)など、使いづらい点があります。
そこで、WebView を用意して、そこに JavaScript でアクセスすることでこれを実現することを考えました。「現在ページに適用されているスタイルシートを、一時的にほかのものに取りかえる」ことぐらい、JavaScript がらみで何とかなるんじゃないの?、と思っていましたが、そういうシンプルなやり方はできず、link タグで指定されているスタイルシートをローカルのものに書き換える、という方法で実現しています。つまり今のところ、外部スタイルシートの指定がないページでは利用することができません。
しかしこれがちょっと面白いのは、外部スタイルシートの指定があるサイトなら、自分のスタイルシートを無理矢理適用できるところです。あまり役には立たないかもしれませんが。
WebView という、AppleScript からは全てをコントロールすることができないパーツを使っているので、どうもインターフェースが直感的でなくなってしまうのですが、そこをできるだけなんとかしてから、リリースしようと思います。
で、これらを作っているうちに、Cocoa Binding や、call method コマンドを通じて Cocoa API を使うことを覚えてきたのですが、それを FlightGear Alternative にフィードバックしていたら、えらい時間がかかってしまった、というわけです。