たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
Mozilla Labsで行われているアドオンコンテストに乾坤一擲のエントリーを!!と思って人の手も借りながら超気合い入れて説明文を書いてツリー型タブあたりを投稿しようと思って送信ボタンを押したら説明文が最初の1/4くらいでゴッソリ切られてしまって激しく脱力した 字数制限があるなら最初から言ってくれよと……
しょうがないからヤケクソで小物を連投してみた。以下、実際に投稿した説明文。
あー……もしかしてinstall.rdfに書いた「homepageURL」のページに詳しい説明を書いとけということだったんだろうか?
元々はね。手持ちの弾を全部出し尽くして、説明もし尽くして、エントリーそれ自体に全力尽くすつもりだったんですよ。今までこういうコンテストからはずっと逃げてきてたから。実力を冷静に判断される機会をずっと避けてきてたから。
拡張機能について言えば、唯一参加したもじら組の拡張機能コンテストは参加者少なすぎてまともな体裁だったとは言えなかったようだし、こないだのMozilla 24のSOI Asia主催のコンテストは審査員だったから参加はハナからできなかったし。前回のコンテストの時はまだ英語の読み書きに今よりずっと抵抗が強かったこともあって参加しなかったけど、それは今から振り返ってみたらただの言い訳だったのかもしれない。CSSについてだって、2chのカスイケスレに晒すのが関の山で、ホントにハイレベルな連中が集まってたCSS Zen Gardenにはついぞ一歩も踏み入れられなかった。絵のことなんて言わずもがな。
僕のことを褒めてくれる人とかはいるけど、でもそれって客観的に見てどうなんだ、技能とか発想とか作り込みとか、ちゃんと冷静に比べたらどのくらいなんだ、ってことを評価される機会に今までちゃんと向き合ったことがなかった。だから、天狗になって「僕チンはすごいんだぞ! 日本で拡張機能作ってた人間の中では最古参の一人なんだぞ! タブブラウザ拡張では世界中から注目されたんだぞ!」なんて勘違いも甚だしい大言壮語の自慢話を、酒に酔った勢いでグチグチと垂れ流したりするわけですよ。
そんな自分にけじめを付ける機会にしたかったんです。いい結果が出たのなら、それを自信として、歪んだ自尊心なんかこれ以上膨らまさないようにしよう。応募作の中で最終的に箸にも棒にもかからないような物でしかなかったという結果が出たのなら、あるいは、何とも言えない微妙な結果だったのなら、自分の程度という物をきちんと自覚して、分をわきまえるようにしよう。
という風に物凄く強い思い入れがあってエントリーを考えていただけに、説明文の字数オーバーでアウトというのはなんとも言えずもにょってしまうのです。
……とまあ、こんな極東の島国で少数民族の使う言葉で愚痴っていたところで疑問が向こうに伝わる訳はないので、フォーラムで質問してみた。……他にまだ一件もコンテスト関係の書き込みがないから、空気の読みようがなくてガクガクブルブルだ。
需要がどれだけあるか分からんけど、ツリー型タブをTab Mix Plusと同時に使えるようにしてみた。といっても左右にタブバーを表示した場合限定で、それ以外の場合については全然まったく動作確認を行っていないので要注意。とりあえず多段タブの設定になってる時はそれを自動的にキャンセルするようにはしてあるけど、TMPの設定次第ではグッチャグチャになる可能性もある。
TMPによって改変された後のDOMツリーは旧TBEを思わせる混沌とした有り様で、解析するのにえらく骨が折れた……
自転車を買った時から突いていた前照灯、ON/OFF切り替えの操作が手元でできるので好きだったんだけど、気がつくと豆電球の電極の接触が悪くなって明かりがつかなくなってて、その都度ドライバーを持ってきて蓋を開けて電極を指でひん曲げるということをしなくてはならないのが難点だった。それでもめげずに使い続けてたんだけど、どこかにぶつけた時の衝撃か何かで歪んでしまったのか、どこかがこすれて異音を発するようになってしまって、あれこれいじってるうちに明かり自体が全然つかなくなってしまったので、諦めて新しい前照灯に付け替えることにした。
……というわけでLED5灯のものを買ったんだけど、取り付けてみて初めて「失敗した」ということに気がついた。ハンドルに取り付けるような構造の物だったんだけど、普通に付けると前カゴの中の物が照らされるばっかりで全然意味がない。カゴが空の時でもカゴに反射してギラギラ眩しいし。
かといってロクに使いもしないうちに買い換えて捨ててしまうというのももったいなかったので、前カゴの端っこにビニール紐でくくりつけて、前照灯として使い続けることにした。
Firefoxもそうなんだけど、自分で使う物は自分の使いやすいようにカスタマイズして当たり前だろという感覚が僕にはある。その根底にあるのは、「せっかく買った(導入した)んだし……」という「もったいない」の精神だったり、少々不格好でも便利な方がいいやという考え方だったりするんだろうなと思った。
表題の通り。やらなきゃいけないことが他にあるのに放っぽって巻き戻し/早送りボタンをいじっていました。
Rewind/Fastforward Buttonsは現在自分でも使ってる奴の中では最も初期の頃に書いたコードがそのまま残ってるアドオンの一つで、機能を加えるとかバグを直すだとかをやろうにもやる気が萎えるような作りだったので、長年放置してたんだけれども、現実逃避を兼ねて、ワリと最近作ったアドオンと似たようなスタイルになるようにコードを全面的に書き直したのですが、それだけじゃナンだったので、これまた前々から課題として残っていたAutoPagerizeのSiteInfoの自動インポートも実装してみました。
Wikiには次のページへのリンクの検出ルール(nextLink)しか書かれていないのですが、巻き戻し/早送りボタンは前のページへのリンクに対しても処理を行えるように作ってあるし、他のユーザースクリプトなりアドオンなりで前のページへのリンクの情報を使うような物もあるかもしれないし、ということでSiteInfoには前のページへのリンクの検出ルール(prevLink)も含めてもらえると主に僕が嬉しいです。でもそれだけのために圧倒的多数のAutoPagerizeユーザの人にとってはまったくゴミにしかならない情報をWikiに掲載してもらうというのはAutoPagerizeユーザの反感を買いそうな気もします。
自前で専用Wikiを立てるしかないのでしょうか……
途中まで作ってた奴をもう少し作り込んで、正式版としました。
表示するサムネイルはローカルに保存しています。前後のページのサムネイルを表示する方法には色々やり方がありそうなんだけど、とりあえず一番作るのが楽そうな方法(記憶領域を無駄遣いする代わりに、確実に動作して、トラブルも起こりにくい)を選びました。
ちなみに最初はキャッシュと同様にサムネイルを一つ一つ画像ファイルとして保存するように作ってたんだけど、サムネイルが溜まってきた時に要らないやつを削除する処理について、効率的にやれる方法を思いつけなかったので、思い切ってMozStorage(SQLite)に手を出してみました。画像はdata: URL形式の文字列としてプロファイル内のbfthumbnail.sqliteに格納されます。SQLのことはよくわからんのでFirefox内のコード等を見ながら見よう見まねで書いてみたんですが、一応動いてるみたいなので大丈夫なのかな、と。
本日18:30より、USTREAMでコソーリと中継します(予定)。申し込みに間に合わなかった方はよろしければどうぞ。
戻る・進むボタンにおけるツールチップを見てサクッと作ってみた。
まだ色々未実装だけどとりあえずソースだけ公開しときます。
タブをバカスカ開く人のために、いろんなアドオンが開発されている。とりあえず僕が存在を認識している物を、分類して列挙してみた。
素のFirefoxでは、タブが多くなると画面外に隠れるタブが出てきてしまい、タブを探したりタブを切り替えたりといった操作が非常に面倒になる。大量のタブをいかにして管理するか、という観点から考えられるアプローチはこんな感じだろうか。
また、素のFirefoxでは、すべてのタブが同じように表示されるので、タブ同士の見分けが付きにくい。沢山のタブの中からいかにして操作したいタブを素早く見つけるか、タブを見分けるか、という観点からだとこうなるだろうか。
「これが抜けてるぞ」というのがあったら指摘をよろしく。
僕自身は、以前はTBEで「複数行表示」且つ「グループを色分け」という使い方をしてたけど、TBEにツリー表示機能を加えてからは「ウィンドウ横でツリー表示」で「シルエット(インデント)でグループを判別」という使い方に変わった。
同じ色のタブの「グループ」が途中で改行されると混乱の元だし、そもそも色を判別しにくい環境だと、色での判別自体が困難になる(僕自身は特に色弱とか色盲とかの症状はないと思うけど)。それに比べて、タブのインデントのようにシルエットでのグループの明示は、色の再現性が悪い環境でも影響を受けないし、視認速度の点でも圧倒的に上回ってると思う。元々縦一列にシーケンシャルにタブが並んでいるから、複数行表示のような二次元の配置に比べれば視線の移動は少なく済みそうな気もする。
という事情があったのでツリー型タブではタブの複数行表示機能はオミットしたし、そもそもタブバーを画面の左右以外に置くという設定も設けるつもりは元々なかった(汎用性を高く作ってたら、たまたまできちゃった、という感じだ)。
多分、勘違いしちゃいけないというか固定観念に囚われちゃいけない部分だと思うんだけど。ここまで「タブ」という言葉を軸にして書いてみたけど、実際の所は別に「タブ」が重要なわけではない。たくさんあるWebページを一つの画面に表示しきれないから、現在表示されていない分のWebページへアクセスするための「目印」、「手がかり」だけを見えるいちに表示させておく。その概念を現実に僕らが目に触れる物に当てはめた時に、書類を綴じたファイルの中のあちこちを行ったり来たり、あるいは机の引き出しの中を行ったり来たりするために使っている「タブ」が、一番誰にでも分かるしっくり来るメタファだった、ただそれだけのことなんじゃないかと思う。
Separeのような「セパレータ」の導入やタブの色分け、タブにサムネイルを……というのは、「タブ」という現実のメタファに則って発想された、「多数のタブをより効率よく管理するための工夫」と言えると思う。それに対して、ツリー表示とかサムネイル一覧とかは、そういう「現実世界のメタファのタブ」の制約を超えて別の次元に飛び出している、「沢山のWebページ」というものをタブよりもより的確に視覚的に表現する試みと言えるんじゃないだろうか。Mac OS XのExposeもDockもそれと同じだと思う(どうでもいいけど、Windows Vistaのウィンドウ切り替えのアレは、見た目は派手だけど、前述のような「沢山のものをより効率よく一覧する」「沢山のものの中から目的のものを見つけ出す」という観点からの工夫には欠けていて、だから実用性はイマイチなんじゃないか?)。
「タブ」というメタファに依拠すると、そのUIの使い方を誰でもすんなりと理解できるようになるけれども、しかし同時に「タブ」という現実の存在が持つ色々な制約に発想が囚われてしまう。その制約から離れればツリーとか全サムネイル一覧とか、あるいは検索ベースの一覧のような物も生まれ出てくるけれども、今度は逆に、それが何を意味しているのかというメンタルモデルを構築する手がかりがないために、使い方が分からず戸惑ってしまうリスクが増える。あらゆる人を満足させられる一つの答えは、この世の中のどこかにあるんだろうか? 誰がそれを最初に見つけ出すんだろう?
仕事で使っている環境は、ずーっと昔に導入したときの6.06 LTSで、早いとこ新しいバージョンに乗り換えたいなあと思いながら今までずるずるとDapperのまんまでいた。乗り換えずにいた理由の一つに、以前会社で訳もわからんままに使わされていたDebianのWoodyからSargeへのアップグレードの時に色々大変でもうこんなのはたくさんだと痛感させられたから、というのもあったんだけれども、まあ最大の理由はタブブラウザ拡張。
TBEはFirefox 1.5までにしか対応してなくて、そのFirefox 1.5が今年の6月でMozilla側のサポートが終了してしまったのでセキュリティホール放置で激ヤバ極生! 早いとこFirefox 2に移行しなきゃ! と考えるのが正常なユーザなんだけれども、名前が「LTS(Long Time Support)」と付いているだけあってUbuntu 6.06のデスクトップ環境は(アプリケーションまで含めて)長期のメンテナンスが約束されていて、コミュニティ(どっちかというとUbuntuよりDebianコミュニティ?)がセキュリティアップデートを提供し続けてくれてたんで、Ubuntuを使ってる限りはFirefox 1.5でもまだ一応安心して使い続けることができる。という状況があったので、Firefox 2に乗り換えないとねという強制力もなかなか働かないし、じゃあTBEも今のまんまで自分は困らないし、という感じでTBEのFirefox 2対応は遅々として進まなかった、というより全然手つかずのまま放置してたと言っていい。
逆の方向から見ても、自分自身のWebの利用が完全にTBEに依存しているので、TBEが使えなくなって不便になるというデメリットとFirefox 2に乗り換えることで得られるメリットとを単純に天秤にかけても前者の方が圧倒的に重い。だから、Firefox 1.5で居続けることが許されるのであればいつまでもFirefox 1.5で居続けたいし、ということはUbuntuのバージョンも上げたくない(Linuxのディストリビューションのアップグレードでは入ってるアプリケーションまで全部ひっくるめてアップグレードされるので、Ubuntuのアップグレード=Firefox 2への乗り換えとなる)し上げられない。
ちなみに、Operaとか他の奴に乗り換えれば?と思う人もいるかもだけど、Operaにはちょっとした恨みがある(といってもそんな大層なことではなくて、このページを以前のバージョンのOperaで開いたらクラッシュするだの表示が崩れるだのの問題が多発して、CSSの仕様に則って書いたとおりの物をCSSの仕様通りに解釈できないOperaキモス!! と思ったというだけのことです)し、他の奴にしても、使い勝手等で不満を感じた時に自分でどうにかできる余地が残されていないものを使うのは、なまじっかそれが「できる」環境に一度どっぷり浸かってしまった以上、もう考えられない(ああ、なんかGNU教に嵌ってる気がする……)。
……というのが、2007年も末が近づいてきたこの時期になって未だにFirefox 1.5でUbuntu 6.06という環境を使い続けていた経緯です。
でも最近、やっぱりどーしてもFirefox 2に移行しないといけないという事になってしまいまして。これはもう切羽詰まっててヤバイぞ、いよいよ年貢の納め時だ、ということでツリー型タブをたった4日の超特急突貫工事で作った、と。
自分がTBEで「これだけはなくなると死んでしまう!」と思っていた機能をFirefox 2に持ち込むことができたので、Firefox 2への移行もアッサリ済ませることができて、じゃあせっかくだからUbuntu自体も最新バージョンにアップグレードしてしまおうか、と思ってやってみたわけです。
タブブラウザ拡張3を公開しました。
……といっても実際にタブブラウザ拡張のバージョン3を作ったわけではなくて、情報化タブ、マルチプルタブハンドラ、ツリー型タブ、ソース表示タブを以前訳したマルチアイテムパッケージの作り方のまんまで一つにパッケージングしただけですハイ。「TBE3」をインスコすると上記4つのアドオンがアドオンマネージャに普通に並びます。
まあ、色々要望等はあると思うけど、僕にとってはこれだけ揃ってたら「TBE3」と名前を付けてもべつにいっかなーと思えている、僕にとっての「タブブラウザ拡張」の「他では替えが効かないもの」はこういう事かな、という感じです。
僕自身はこれに加えて以下のアドオンを組み合わせて、旧TBEで使ってた操作感をなるべく再現して使ってる。
逆に、TBEが持ってた機能で今の環境(他のアドオンとの組み合わせも含めて)に欠けてるのは、タブの複数行表示、タブの色分け、フォーカスの詳細な制御、タブのロック、自動リロード、別サイトへのリンクを常に新規タブで開く(別サイトへのリンクをタブで開く機能はツリー型タブ 0.3.2007102902に実装した)、リファラの送信禁止(Adaptiva Referer Removerで代用可能)、JavaScript・Cookie・Refreshによる自動リロード・プラグイン・画像表示それぞれのタブごとの有効無効の設定、それらの情報をブックマークに保存する、といった機能か。
また後で改めて書くけど、タブブラウザ拡張いっこのためにOSのアップグレードすら半年以上(Firefox 2リリースの時から数えれば1年近く)できずにいたので、ついにここまで来たかぁ、と感無量です。
なお、TBE3に含まれている4つのアドオンはどれも一応最近のMinefieldで動作確認はしてるので、次のFirefoxメジャーアップデートの時には今回よりはすんなり移行できるんじゃないかなと思ってる。まあまだUIまわりが(特にタブが)色々変わる可能性はあるようなので安心はできないけど。