- Safari Developer Center-
タブブラウジングの考察

(改訂:Mar 8, 2003
訳公開:Mar 7, 2003)

以下の文章は、WebCore のプログラマである Dave Hyatt が、彼の Weblog である Surinf' Safari で述べていた「Tabbed Browsing」の翻訳です。彼のタブブラウザに対する認識を語っています。

ぼくはいろいろな Mac フォーラムで、みんなが「デーブ・ハイアットはタブブラウジングが好きじゃない、って言ってた!」とか「デーブ・ハイアットはタブブラウジングが嫌いなんだ!」ってコメントしているの見た。参ったなぁ、だってぼくは一度もそんなことを言っていないんだ。そして、その反対はもちろん本当だ。ぼくは、タブブラウジングを愛しているんだ。ほくは Mozilla の tabbrowser トランクを実装した。ぼくは Chiemra でタブブラウジングを実装した。ほくは Pheonix で、タブブラウジングを使っているバージョンを実装した。ぼくが何回タブブラウジングを実装したかを見て、みんながぼくのことをタブブラウジング信者だと思わないんなんて、驚きだ。

そこで、ぼくがタブブラウザのシステムをデザインしたいときに、いろいろなユーザインタフェースのデザインをどうやって決定したか、書いておきたいんだ。


ターゲットのユーザ

マルチページシステムをデザインする前に、答えなきゃいけない最も重要な質問は、「ターゲットのユーザは誰なんだ?」っていうことだと思う。Phoenix の場合は、エキスパートとパワーユーザだった。ぼくは、タブが初心者にとって便利だとは思わない。だって、初心者は Web データを複数のビューで見ないからだ。彼らはページからページへとブラウズする。

古典的な初心者ユーザの Web ブラウズのスタイルは、Windows IE を最大化してスライドバーを開く、というものだ。この手のユーザは、タブをまるで必要としない。彼らの Web ブラウズスタイルでは、タブは無用の長物だ。

だからぼくは、こういうアイディアは、みかけはとてもきれいなんだけど、個人的には存在しないと思われるユーザ層をターゲットにしていると思うんだ。パワーユーザはサムネイルを必要としない。どっちにしろたくさんのタブを開いたら、簡単に区別が付かない。この種のシステムのオーバーフロー機構は、できが悪くなりがちだ(またはスペースやスクロールバーとかを使い過ぎになりがちだ)。そして、横方向の空間を消費してしまう。もちろん、ちょっと見はとてもいいんだけど、古典的なタブモデルに比べて、使い勝手もよくないし、スケーラブルでもないんだ。


ブックマークグループ対フォルダオプション

これは、ぼくが Pheonix と Mozilla と Chimera で、3 通りの違ったやり方で実装したものだ。Chimera と Mozilla では、ブックマークグループはタブをまとめて開くための、特別なものだった。今では、ぼくはこのアイディアが嫌いだ。この実装は、タブの中のブックマークをまとめて開くための、特別のフォルダを持っているだけだ。1-click でまとめてロードするシステムの 1 つだ。これはブックマークの管理や見せ方を複雑にしてしまう。普通のフォルダやブックマークの他に、第 3 の特別なものが必要になってしまうからだ。

ぼくは、Phoenix で使ったものの方が好きだ。これは Opera から借りてきたようなものなんだけどね。このシステムでは、フォルダのサブメニューに「タブで開く」っていうのがあって、どのフォルダの中のブックマークでも、タブで開けるんだ。特殊なブックマークグループは無いし、ブックマークグループを作るのに、特別な意味付けも必要ない。単にフォルダを使って、フォルダの中に潜って 1 ページずつ開くこともできるし、グループをまとめて開くこともできる。

Chimera のやり方では、グループ全部をまとめて開きたくないときのために、別々に blog ブックマークを作らないといけない。無駄な複製が多いけど、フォルダを直接操作可能にすることによって、無駄をなくすことができるんだ。


置き換えるか、追加するか?

ブックマークをまとめて読み込むとき、2 つのアプローチが考えられるんだ。そのうちの 1 つは Mozilla で見ることができる。ぼくは、個人的にはこれが嫌いなんだ。もう 1 つの方は、Phoenix で見ることができて、こっちがぼくの好みだ。Mozilla はタブリストの後ろに、ブックマークグループによって読み込まれたタブを追加するんだ。つまり、きみがまず News グループをクリックして 1-5 のタブを読み込むとする。次に Blogs グループをクリックしたら、新しいタブ 6-10 が追加されるんだ。

Phoenix では置き換えるんだ。News タブはいなくなって、6-10 のタブで置き換えられる。追加方式を指示する理由は、置換方式では、基本的にデータを失う危険性があるんだ。置き換えたタブを閉じることで、前のタブにアクセスできなくなることがある。たとえば 2 番目に開けたグループが最初のタブより少ないときとかに。これはもちろん解決可能な問題だから、デフォルトを追加方式に変える理由にはならないんだ。


タブストリップの中のタブの位置

Chimera はタブをタブストリップの中央に付ける。その他のものは左に付ける。Chimera がそうしているのは、ただ単にぼくがタブを左に寄せる方法を分からなかったからだ。中央寄せの動的タブシステムはひどいもので、タブを開くたびに、すべてのタブの位置が動くんだ。

新しいタブが開いたときに、すべてのタブが動くのは避けた方がいい。そして、左寄せのタブはいらいらさせられることが少ないんだ。


新しいタブはどこに開く?

タブについてよく議論されるのは、「新しいタブをどこに開くべきか?」ということなんだ。NetCaptor と古い Chimera(早いバージョン)は、次のようなモデルを使っていた。新しいタブでリンクを開こうとしてクリックすると、新しいページは現在のタブのすぐ右側にできる。リンクを開き続けれれば、ページは右側に開き続ける。だから、最初がこんな感じだったとしよう。

1 2 3 4

2 がアクティブなタブだとして、2 から 3 つリンクを開くとこうなる。

1 2 7 6 5 3 4

このアプローチの利点は、似たページがいっしょになることだ。欠点は、ページがどんどん挿入されていくので、追加方式よりもいらいらさせられるかもしれない。

別の欠点は、リンクを開けた順序でページを読むには、右から左へとページを読まないといけないことだ。このせいで、タブを閉じると左のタブに移動する。

でも利点として、開けたリンクを読み終わって全部のタブを閉じたら、便利なことにもとのタブに戻っているんだ。

2 つ目のモデルは、ぼくはこれが好きなんだけど(Phoenix、Chimera、Mozilla で使われている)、常に新しいタブを一番右で開くというものだ。AOL でのユーザビリティテストでは、これが疑いなくユーザが期待している動作だった。他のタブを動かさないから、タブを開くプロセスをスムーズにできる。

また、右から左じゃなくて、左から右へとリンクを読んでいけるんだ。つまり、前の例はこうなる。

1 2 3 4 5 6 7

このモデルでは、リンクを読みやすくするために、タブを閉じたら右に移動する必要があるんだ。気をつけてほしいのは、このケースでは開けたリンクを読み終わっても、もとのタブに戻っているとは限らないんだ。でも、たいていの場合は戻っているけど。普通の場合は、始めはこうなっている。

1

いくつかリンクを開けると、こうなる。

1 2 3 4

そして、新しいタブをすべて閉じると、1 に戻っているんだ。簡単に左から右へと読めて、新しいリンクを開けてもタブストリップでタブが混ざることがない。


クローズボックス

ぼくは Gaelon のやり方が好きなんだ。Phoenix と Mozilla では、クローズボックスはタブストリップにある。でもこの UI は腐ってる。だって X をクリックしたら、ユーザはタブストリップを閉じるものだと期待するだろ。実際には、X は「他のタブを閉じる」じゃなくて、「選択したタブを閉じる」になっている。絶対混乱するよ。少なくとも Chimera では、この問題を避けるためにクローズボックを持っていないんだ。

正しいやり方は、タブストリップを閉じるためのクローズボックスを、Phoenix や Mozilla と同じところにつけておく。そしてタブ自身にもクローズボックスをつけておくんだ(Galeon がやったやり方だ)。このモデルなら、タブを閉じるのと、タブストリップを閉じるという、違った種類の閉じ方があることが明確だ。ユーザの(パワーユーザでさえも)混乱もなくなるでしょう。


バックグラウンド対フォアグランド

新しいウィンドウでリンクを開くときと不一致になるけど、ぼくは Phoenix のデフォルトが一番いいと思う。新しいタブを開くときはバックグラウンドで開くんだ。このオプションは修飾キーで逆になるべき(Phonixe の場合はシフト)、初期設定でかえることができるべきだ。Phoenix と Moz と Chimera はみんな同じ初期設定と修飾キーを持っているんだけど、Phoenix だけがデフォルトでバックグラウンドなんだ。


タブブラウズの実装に、こんなにたくさんのチョイスがあるってのは、とても面白い。きっと、君は一番好きな実装を選ぶんだと思うよ。:)


(訳者注:公開後、Hiroyuki Tanaka さんから丁寧な誤訳、勘違いの指摘をいただきました。それを参考にして改訂しました。たいへんありがとうございました)


[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論]

mailto: mkino@xd5.so-net.ne.jp