firefox panorama: タブを制覇せよ!

30
Firefox Panorama タブを制覇せよ! mozilla mitcho アーリーワイン・マイケル芳貴 Firefox Developers’ Conference 2010 東京

Upload: michael-yoshitaka-erlewine

Post on 10-May-2015

4.262 views

Category:

Technology


0 download

DESCRIPTION

Firefox 4 に搭載される新しいタブ管理インターフェース、Panorama は毎日あらゆるサイトを多数のタブで管理する時代のための真新しいコンセプトです。Panorama のデザイン、開発思想から技術詳細やハックまでを Panorama 開発チームの一員が紹介します。

TRANSCRIPT

Page 1: Firefox Panorama: タブを制覇せよ!

Firefox Panoramaタブを制覇せよ!

mozilla

mitchoアーリーワイン・マイケル芳貴Firefox Developers’ Conference 2010 東京

Page 2: Firefox Panorama: タブを制覇せよ!

mitcho@themitcho

ubiquity, Panorama, Add-on SDK

Page 3: Firefox Panorama: タブを制覇せよ!

今日は「タブ」のお話

Page 4: Firefox Panorama: タブを制覇せよ!

「タブ」という問題

ナニコレ!?

• 一度に多くは使いにくい• タブバー自体に限りがある• 移動、管理するのは面倒• 分類する事が出来ない• 特定のタブだけを見たい

Page 5: Firefox Panorama: タブを制覇せよ!

testpilot.mozillalabs.com/testcases/tab-open-close/results.html

一度に開いているタブ数

確率

Page 6: Firefox Panorama: タブを制覇せよ!

タブの管理は面倒

Page 7: Firefox Panorama: タブを制覇せよ!

目をつぶってください。さて。

Page 10: Firefox Panorama: タブを制覇せよ!

Aza RaskinCC-BY-NC: flickr.com/photos/santheo/2360961001/

Page 11: Firefox Panorama: タブを制覇せよ!

デモ

Page 12: Firefox Panorama: タブを制覇せよ!

デモ

Page 13: Firefox Panorama: タブを制覇せよ!

FirefoxPanorama

4に搭載!

Page 14: Firefox Panorama: タブを制覇せよ!

デモ

Page 15: Firefox Panorama: タブを制覇せよ!

#mypanorama

Page 16: Firefox Panorama: タブを制覇せよ!

Panorama のこれまで

• 2010年2月 TabCandy アドオン開発開始

• jQuery を使用

• 5月 Panorama 専用の jQuery、”iQ”を作成

• 6月 アドオン開発を終了• mozilla-central の branch で開発が続く

• 8月 TabView という名で mozilla-central に載る

• 8月下旬 正式に Panorama という名称がつく

Page 17: Firefox Panorama: タブを制覇せよ!

Panorama 技術詳細

• タブバーは browser.visibleTabs に限定• しかし、グループ情報等は Panorama 初期化までアクセス不可能

• Panorama は iframe#tab-view で実行• chrome://browser/content/tabview.html• グループ情報は iframe 内の GroupItems • Panorama 初期化後、各 xul:tab エレメントに.tabItem プロパティを追加 (参考 bug 611715)

• canvas.drawWindow でサムネールを表示

Page 18: Firefox Panorama: タブを制覇せよ!

• Firefox/Panorama に特化した jQuery• Panorama で不要な機能を削除• Firefox/Gecko 専用に:• アニメーションは全て -moz-transition• IE, WebKit用コードを削除• JS 1.8, HTML5 API 用に書き換えた部分も• http://tinyurl.com/iq-latest

Page 19: Firefox Panorama: タブを制覇せよ!

Stephen Horlander 氏と Sean Martell 氏によるテーマhttp://mozilla.seanmartell.com/tabcandy/

Page 20: Firefox Panorama: タブを制覇せよ!

Stephen Horlander 氏と Sean Martell 氏によるテーマhttp://mozilla.seanmartell.com/tabcandy/index-win.html

Page 21: Firefox Panorama: タブを制覇せよ!

CC-BY-NC-SA: flickr.com/photos/iampeas/4324282810/

整理整頓

Page 22: Firefox Panorama: タブを制覇せよ!

楽々レイアウト

• タブ、グループの表示位置をより管理しやすくする• trench (溝) で奇麗なレイアウトを (デモ)

• 場所がなくなったら全てを縮小• 参考 bug 601534, デモ

• ドラッグ操作でタブを自然に並び替える• 参考 bug 587503, デモ

Page 23: Firefox Panorama: タブを制覇せよ!

Panorama の㊙設定

• about:config で設定• browser.panorama.experienced_first_run

• false 設定で説明ビデオを再度表示• browser.panorama.animate_zoom

• false 設定でズームアニメーションを無効化

• Gomitaさんありがとう! (bug 595804)

• 秘密の BarTab 機能: (Panorama じゃないけど...)• browser.sessionstore.max_concurrent_tabs = 0

Page 24: Firefox Panorama: タブを制覇せよ!

Panorama アドオン術

• Observer でタイミングを見計らって...• tabviewframeinitialized = 初期化• tabviewshown = 表示• tabviewhidden = 未表示• window.document.getElementById(“tab-view”).contentWindow.GroupItems をアクセス

• 必要なタブ、グループにイベントリスナーを独自にたてる... 超面倒

!

Page 25: Firefox Panorama: タブを制覇せよ!

Panorama アドオン術

• Add-on SDK で require(“panorama”);• 初期化後、(仮) TabItems, iQ オブジェクトがアクセス可能に

• 将来的には GroupItems も• Add-on SDK を使用しない方も参考に• github.com/mitcho/badges

Page 26: Firefox Panorama: タブを制覇せよ!

デモ

Page 27: Firefox Panorama: タブを制覇せよ!

これからも進化する Panorama

• Firefox Sync をグループ対応化

• グループをブックマークとして保存、使用• 全てのウインドウのタブをまとめて表示• 参考 bug 578512, デモ

• アドオン用 API

Page 28: Firefox Panorama: タブを制覇せよ!

Panorama に貢献しよう!

• 今からでもおそくない! ^^;• irc.mozilla.org #tabcandy• Bugzilla: Component: TabCandy• wiki.mozilla.org/Firefox/Projects/TabCandy/

Work#Bugs

• Firefox 4 リリースまで

• 主に最適化、バグ修正• ちょっとした CSS 関連のバグ等も複数

Page 29: Firefox Panorama: タブを制覇せよ!

Aza Raskin@azaaza

Ian Gilman@iangilman

Raymond Lee@raymondlee

Sean Dunn@somenotes

mitcho@themitcho

Kevin Hanes@mr_yuk

ザ・Panorama チーム

Page 30: Firefox Panorama: タブを制覇せよ!

mitchoアーリーワイン・マイケル芳貴

by-nc-sa

mitcho.com@themitcho

ありがとうございます!