baba & skkで、シリコンバレーに旅行出張に行ってきました!
何しに行ったのか
2014年10月26日~31日、Santa Claraで開催されたTPAC 2014に参加してきました。
BPSは最近W3Cのメンバーになったばかりなので、これが初参加になります。
超縦書シリーズを通して日本語組版のCSS表現に関わっているため、今回は主にCSSWG (CSS Working Group) へ参加しました。
TPACとは?
W3C
W3C (World Wide Web Consortium) は、言わずと知れたWeb関連の標準化団体です。HTML, CSS, XML, SVGなど数々の技術の標準化作業を推進しています。1994年にTim Berners-Lee氏が設立し、今年で20周年になります。
アメリカ(MIT)、ヨーロッパ(EPCIM)、日本(慶應義塾大学)の3カ所がホストとなり共同運営されています。
SFCに在籍していた頃は、「なんかW3Cの支部があるんだろう」くらいで、その偉大さを理解していませんでした;;
TPAC
TPACは、簡単に言えばW3C最大の会合です。
W3Cの主要な活動は、主にWorking Group単位で行われています。
たとえばCSSWGでは、都度MLで議論を進め、週1回程度の電話ミーティングが開催されているようです。そのほかに年3回程度(まだ詳細知りません)のF2F(Face to Face Metting)があります。
そして、全Working Groupが一同に集まり、全体を通した議論や交流を行うのがTPACです。
今年は20周年なので、いつもより豪華!のはず!初参加なのでよく分かりません。
出張概要
メンバー
榊原、馬場の2名で参加しました。
- 榊原
- BPSのAC(Advisory Committee)。BPSを代表して参加。
- 馬場
- 技術担当。日本から出るのは初めて。慌ててパスポートを取得。
どちらもTPACは初めてなので、お世話になっているViblioStyleの村上氏と合流し、色々案内して頂きました。
場所
Santa Clara Marriottで開催されました。
Santa Claraはカリフォルニア州の都市で、いわゆるシリコンバレーの中心部です。
すぐそばにはIntelミュージアムがあるほか、車で数十分の範囲内にGoogle, Apple, Yahoo, Adobe, Intelなど世界のIT巨人たちが集結しています。Broadcom, EMCなどハードウェア系企業も目立ちました。
日程
TPACは月曜~金曜まで5日間開催されましたが、今回は最初の3日間のみ参加しました。
- 10/26 (Sun)
-
- 16:50 (JST) 成田空港発
- 09:44 (PST) シアトル・タコマ国際空港着
- 14:03 (PST) サンフランシスコ国際空港着
- CSSWGや他主要メンバーとメキシコ料理ディナー
- 10/27 (Mon)
-
- CSSWG出席
- 村上氏や日本人コミュニティとの中華料理ディナー
- 10/28 (Tue)
-
- CSSWG出席
- 一緒に行動させて頂いた方や現地のご友人とディナー
- 10/29 (Wed)
-
- Google本社見学
- W3C 20周年記念式典
- Gala Dinner
- 10/30 (Thu)
-
- 09:15 (PST) サンフランシスコ国際空港発
- 13:03 (PST) シアトル・タコマ国際空港発
- 10/31 (Fri)
-
- 16:00 (JST) 成田空港着
周辺
Google本社
水曜日に、知り合いのGoogle社員の方に案内して頂きました。
一番右のディスプレイがたくさんある写真は、Google Earthが映っています。専用コントローラで自在に移動・ズームインできるだけでなく、視点を傾けて横から見ることもできます。BPSがある新宿付近を俯瞰しましたが、まるで鳥になったような感覚が味わえます。
20%ルールで始めるプロジェクトでも、数万台規模のサーバを使いまくれる。この辺はさすが天下のGoogle様ですね。EC2の一番高いインスタンスを1時間だけ起動して喜んでいる僕とは違うのです。うらやましい。
もちろん、現在世界中で検索されている箇所を視覚化するディスプレイ、巨大なNexus Sなど、有名なオブジェもありました。無料のランチも頂きました!
世界中でここにしかないお土産屋さんでは、Googleグッズがたくさん。今回はカラフルなトートバッグなどを買いました。大きい旅行ケースがあれば、たくさん買い込んだのに。
スタンフォード大学
一瞬迷い込みました。
世界の名門大学、さすがの雰囲気と圧倒的な広さ!周辺の街まで輝くようだ!
スタンフォード大学のキャンパスは、新宿区と渋谷区を合わせたくらいの広さがあるそうです
食事
アメリカの食事はまずいだろうと思って覚悟していたのですが、意外といけるものが色々ありました。
高級なところなら、おいしい食べ物もあるのですね。食費は高かった。
Computer History Museum, Intel Museum
本当は行きたかったのですが、時間が無く今回は行けませんでした。
W3C 20周年記念式典
今年はWebの25周年、W3Cの20周年です。神のごとき存在であるTim Berners-Lee氏を直に拝むことができました。
村井先生もパネルディスカッションに参加していて、完全に議論をリードしている雰囲気でした。
Tim Berners-Leeの英語はとにかく速いです。なにやらすごそうだ、という感じで、何を言っているのかまったく聞き取れませんでした...
CSSWGのトピック
本題です。これがないと単なる観光ですね。
雰囲気
事前にAgenda案をwikiに書き込んでおき、それに応じて順次進んでいきます。
具体的な議題は、まったく新規のproposalもありますが、www-styleで議論していたものが持ち込まれることも多いようです。
議論の内容
全部を書き出すのは無理なので、印象に残った点など一部抜粋してみます。
::selection
テキストなどを選択したとき、PCのブラウザだと一般的に青くなりますが、この部分を指定するセレクタとその挙動についてです。
たとえば、選択部分の色を変えたい(スマホのブラウザだと水色などが使われています)というのが最も一般的な用途でしょう。この場合、shadowやtransformとの兼ね合いをどうするのか、といったあたりが主なポイントになります。
そのほかroleを一括して指定するセレクタなども提案されていました。Selectors Level 4はもうすぐCRにするからLevel 5に載せようぜ、言う声もありましたが、Level 3の時点でモジュールとレベルという構造が破綻し始めているので、ちょっと突っ走りすぎじゃないかと思ったり思わなかったり。
Indefinite margins and padding
css-sizingのblock intrinsic sizeの中に以下の記述があります。
If the computed inline-size of a block-level box is min-content, max-content, or a definite size, its min-content inline-size contribution is that size plus any inline-axis margin, border, and padding. Otherwise, if the computed inline-size of the block is fit-content, auto, or fill, its min-content inline-size contribution is its min-content inline-size plus any inline-axis margin, border, and padding.
このとき、仮にmargin/paddingがindefinite(%指定)だった場合はどうするのか、という議論がありました。
0と解釈するのが妥当そうだが、intrinsic sizeの場合のみ特別扱いするのは不自然なので、layoutの中でも統一的に扱いたい。floatやshrink-to-fitの挙動との整合性はどうか?特にこの挙動は既存のWebとの互換性に注意が必要な箇所で、Orthogonal Flowの挙動を含めるとブラウザ間の動作もばらつきがあり、バランスの良い解を見つけるのは容易ではありません。結局、議論は持ち越しになりました。
MediaQueries
Media Queriesは、CSSを適用する条件を指定するものです。代表的なものに、@media print
の指定があります。
レスポンシブデザインも、Media Queriesを使用して実現されています。たとえばbootstrapのCSSを見ると、@media (min-width: 768px)
のような記述がたくさんありますね。
Media QueriesはLevel 3がRecommendationになっているので、主にLevel 4に向けた議論になります。
たとえば、Windowsでは「簡単操作センター」でハイコントラストモードをONにできますが、Internet Explorerでは-ms-high-contrastというクエリでこれを判定できます。これを標準化するか?するとしたら文言はどうするのか?ハイコントラストモードは主に色弱の方が使うので、判別できるとプライバシーの面で問題があるのではないか?などといった議論がされました。
overflow-block, overflow-inlineという用語についてもいくつかの意見がありました。このクエリは、Webと電子書籍で共通ソースを使う場合などで重要になるため、ウォッチしておきたいところです。
現在、Media Queries Level 4はFPWD(First Public Working Draft)となっています。
Justification Rule
日本語と韓国語が混ざった場合、Justification Opportunityはどこにあるのか?autoの場合、言語の判別はどうするのか?といった議論がありました。
言語ごとに、デフォルトのJustification Ruleは異なります。英語なら単語間で、日本語なら文字間で調整します(厳密には、日本語組版なら約物周りの調整ルールなどもありますが、それは現在のCSSのレベルを超えます)。このとき、言語をどのように判定すべきか?要素にlang属性があれば分かりやすいですが、多くのコンテンツは多言語が混ざる場合にいちいちlang属性を付けていません。「lang属性 → Content-Language HTTPヘッダ → OSロケール → コンテンツスニッフィング → charsetから推測 の順でフォールバック」など、色々な案が出ましたが、結局詳細は規定せずNOTEまたはWikiで記載、ということで落ち着きました。
Sniffingはトラブルが起きやすく、HTTPヘッダはローカル保存した際に挙動が変わるためセキュリティリスクを含めた混乱が起きやすいため、十分な議論を経ずに仕様化してしまうことは危険です。今回の結論は妥当だと思います。
反省、感想
良かった点
多くの方にとても良くして頂き、普段ならとてもお会いできないような方々とも交流ができました。少々おなかいっぱい過ぎるくらいです。
WGでの発言は少ししか出来ませんでしたが、W3CおよびCSSWGの会議体・コミュニケーションパスが把握でき、参加していく道が明らかになったのも大きな収穫です。
失敗した点
- 木曜日に日本コミュニティのディナー会があることを知ったが、既に飛行機の予約は確定していて参加できなかった。
- www-style MLの存在すら知らない知識不足で、初動が遅れた。
- お土産のワインを空港のセキュリティチェックで没収された。
- 撮影した写真が観光っぽいものばかりで、いかに有意義なカンファレンスだったかが伝わらないと怒られた。
- Baba MUST study English.
今後について
直近では、まずはCSSWGを中心に会議への発言を増やしつつ、縦書きや日本語組版に関する部分の実装をblinkへコミットしていくことを目指しています。
W3Cメンバーとして少しずつ貢献していきたいと思っています。