国内で、Firefox用のアドオンを数だけは一番多く作っていると思われる、Piro(下田洋志)と申します。すごい人の名前が並んでいる「デスクトップ百景」に私なんかが登場して本当にいいのかと不安ですが、今日は私がプライベートでアドオンを開発している環境をご紹介したいと思います。
■ Windows 2000でデュアルディスプレイ
|
プライマリディスプレイの左端に置いたクイック起動
|
メインディスプレイはEIZOのLCD(1,280×1,024ピクセル)、サブディスプレイはもらい物のLCD(1,024×768ピクセル)で、OSはWindows 2000を使用しています。サブ画面はもっぱらIRCクライアントのLimeChat専用ですが、FirefoxのデバッグコンソールやiTunesなどを開くこともあります。
デスクトップはメモや一時ファイルの置き場所として使っている程度です。アプリケーションの起動はクイック起動か、デスクトップ上での左右同時クリックでスタートメニューの内容をそのままポップアップ表示する「LR-Menu」というランチャソフトを使っています。
タスクバーは画面右端に縦に置いて、壁紙や配色、アイコンなどは気分でいろいろと変えています。ちなみに、同じ壁紙を解像度の異なるそれぞれの画面に合わせて表示するのには、「MultiWallpaper」というユーティリティを使っています。
|
デスクトップ全体
|
|
LR-Menu
|
■ 開発環境は自己流ワークフローの塊
JavaScriptもHTMLも、テキストファイルの編集には秀丸エディタを使っています。2つの以上のファイルを並べて見ることが多いのでSDIモードで使っており、アドオンを開発している時はたくさんのウィンドウが開かれていますが、ウィンドウシェードのユーティリティを使って邪魔なウィンドウはすぐにたたんでいるので、案外困っていません。
|
秀丸エディタでコードを編集している様子
|
コード全体の構造に関わるような編集をする時は、構造化エディタも使っています。ツリー構造をタブとスペースを使って保存するという仕様なので、本番用のコードをそのまま読み書きできて重宝しています。
コードのバージョン管理はSubversionで行っていて、操作にはエクスプローラから簡単に使える「TortoiseSVN」を使っています。
アドオンの公開用パッケージは、CygwinコマンドとDOSコマンドがゴチャ混ぜになったバッチファイルを使って、ダブルクリック一発で作れるようにしています。
アドオンの自動アップデート用の情報は、配布ページのHTML文書から秀丸マクロで自動生成しています。統合開発環境が登場する前に、このように自分のワークフローを自作スクリプトなどで自動化するという作業スタイルを確立してしまったのですが、一度こうなってしまうとより「良い」と言われるような新しい環境が出てきてもなかなか乗り換えようとしないというあたり、保守的だなあと自分でも思います。
|
構造化エディタ
|
■ Firefoxが生活基盤
テレビも新聞も見ていないので、情報の入手はWebに依存しています。私が1日の間でもっとも接触時間が長いアプリケーションは間違いなくWebブラウザでしょう。台所のものの配置を変えるとか机のまわりの配置を変えるとか、そういった感覚でいかようにもカスタマイズできるFirefoxは、今となっては居心地のいい寝床のように手放せない存在になっています。
|
普段使っているFirefox
|
使っているアドオンは以下のような感じです。なお、自宅の環境以外に会社の環境などでも大体似たような感じにしています。
大量のタブを効率よくさばくためのツリー型タブに、それらのタブの内容を一目で判別できるサムネイルを表示するための情報化タブと、複数のタブを選択して素早く閉じるためのマルチプルタブハンドラ。大量のタブを開きがちな私には、どれも必須のアドオンです。
私は記憶力が非常に弱いので、外部記憶を効率よく検索できるかどうかは結構重要な問題です。しかし高機能・多機能なアドオンを入れると今度はそれを使いこなせないという別の問題も出てきます。私の場合はこの2つを使うのがちょうどいいバランスのようです。
技術カンファレンスの時のプレゼンをFirefox上で動作する自作ツール(高橋メソッド in XUL)でやっているので、全画面表示にするために入れています。
どれも「べつにアドオンを使うようなものか?」と思わないでもないような些細な機能ですが、いざという時にストレスを感じなくて済むということの方が私にとっては大事です。
繰り返しになりますが記憶力に自信がない私は、無数にあるキーボードショートカットやマウスジェスチャを覚えることができません。メニューのアイコンを見るだけで感覚的に機能を判別できるようにするというのは、私にとっては非常に現実的な解決策です。
|
CuteMenusでアイコンを表示した状態のメニュー
|
開発用に入れているのはこのくらいでしょうか。「コンテキストメニュー拡張」はさまざまな機能がありますが、最近は、ブラウザ内の実行コンテキストでJavaScriptのコードを実行するためだけに使っている気がします。
他にも以下のようなアドオンを使っています。
リストアップしたアドオンの半分くらいは自分で開発したものです。他の人が作った物を使いたくないとか、そういうこだわりは特にないのですが、自分の物の考え方や行動パターンにフィットするアドオンを探してみてもなかなか見つけられなくて、しょうがないから自分の肌に合う物を作っては公開して……ということを繰り返しているうちに、こんな風になりました。
ちなみに、これは個人的なこだわりですが、自分で作ったアドオンは「userChrome.js」やGreasemonkey用のスクリプトではなく、Firefox用のアドオンとして公開するようにしています。これは、他の人だけでなく自分自身もエンドユーザーとして、難しいことを意識しなくても使えるようにしておきたいという思いがあってのことです。
使い始めの1回目くらいしか使わない設定画面であっても、「いちいちUIを用意しなくてもFirefoxの設定エディタ(about:config)で設定すればいい」とは考えずに、言葉の表現等も吟味しながら少しでもわかりやすい設定画面を作るようにしているつもりです(その結果として、設定画面を使うのが1回だけで済んだという風になればそれが一番なのですが)。
■ 開発者として、エンドユーザーとして
最近はアドオン開発の活動の方が主になってしまっていますが、自分がアドオンを開発するようになったきっかけは絵の趣味です。自作のイラストを公開する場所としてWebサイトを作り始めて、そのサイトのコンテンツリストを自動生成したくてJavaScriptを覚え、レイアウトを改善したくてCSSを覚え、それがきっかけで様々なWeb標準の技術に対応していたMozillaの存在を知り、他の人が作った拡張機能がMozillaのバージョンアップで動かなくなったので自分でメンテナンスするようになり……という経緯があって、今に至っています。
そういうわけで今でも細々と絵を描く活動は続けています。メイン画面がナナオの液晶ディスプレイなのも、絵を描く上で歪みのないフラットな画面が欲しかったということと、手の届く範囲で少しでも画質や色の再現性が良い物を使いたかったから(あんまり安いとピンク色とオレンジ色の判別すらできませんので……)、というのが最大の理由です。
絵を描く時はペンタブレット(WACOM intuos2 i-920)でPC上でゼロから描いていて、ここ数年のお気に入りツールはペイントツールSAIです。描き味やツール類のデザイン等、開発者の方ご自身が絵を描かれる方だからこその、ユーザ=絵を描く人のことをよく考えた作りになっていて、絵を描くこと自体を楽しく感じられるツールだと思います。
|
ペイントツールSAI
|
所属している会社がオープンソースのソフトウェア開発を得意にしていることや、Firefoxをメインで使っていることから、「クローズドなソフトウェアは大嫌い!」「オープンソース万歳!」な人だと誤解される方もいるようですが、自分自身は、使い手として自分自身が素直に一番使いやすい物を使いたいと思っています。自分自身が作る物についても、可能な限りエンドユーザーとしての見方を基点として作っていきたいと思っています。人にやさしいインターフェイス万歳!
■ Piro(下田洋志)の利用ソフト・サービス
2007/11/16 14:01
|
Piro(下田洋志) 2001年よりMozilla用拡張機能の開発に関わり始め、2006年には大和徳明氏との共著にて「Firefoxを究める256のテクニック」を上梓。アドオン開発の解説
記事の執筆、技術カンファレンスでの講演なども行う。株式会社クリアコード所属。 |
|