【Googleで】シリコンバレーでW3C TPAC 2014 Santa Claraに参加してきた【遊んできた】

baba & skkで、シリコンバレーに旅行出張に行ってきました!

TPAC 2014

何しに行ったのか

2014年10月26日~31日、Santa Claraで開催されたTPAC 2014に参加してきました。
BPSは最近W3Cのメンバーになったばかりなので、これが初参加になります。

超縦書シリーズを通して日本語組版のCSS表現に関わっているため、今回は主にCSSWG (CSS Working Group) へ参加しました。
CIMG0579

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)があります。

lunch-discussion

そして、全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などハードウェア系企業も目立ちました。

california シリコンバレーの場所

日程

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) 成田空港着

Marriottホテル

周辺

Google本社

水曜日に、知り合いのGoogle社員の方に案内して頂きました。

CIMG0625 CIMG0644 CIMG0641

一番右のディスプレイがたくさんある写真は、Google Earthが映っています。専用コントローラで自在に移動・ズームインできるだけでなく、視点を傾けて横から見ることもできます。BPSがある新宿付近を俯瞰しましたが、まるで鳥になったような感覚が味わえます。
20%ルールで始めるプロジェクトでも、数万台規模のサーバを使いまくれる。この辺はさすが天下のGoogle様ですね。EC2の一番高いインスタンスを1時間だけ起動して喜んでいる僕とは違うのです。うらやましい。

もちろん、現在世界中で検索されている箇所を視覚化するディスプレイ、巨大なNexus Sなど、有名なオブジェもありました。無料のランチも頂きました!

CIMG0633CIMG0622CIMG0638

世界中でここにしかないお土産屋さんでは、Googleグッズがたくさん。今回はカラフルなトートバッグなどを買いました。大きい旅行ケースがあれば、たくさん買い込んだのに。

スタンフォード大学

一瞬迷い込みました。
世界の名門大学、さすがの雰囲気と圧倒的な広さ!周辺の街まで輝くようだ!

スタンフォード大学のキャンパスは、新宿区と渋谷区を合わせたくらいの広さがあるそうです

食事

アメリカの食事はまずいだろうと思って覚悟していたのですが、意外といけるものが色々ありました。
高級なところなら、おいしい食べ物もあるのですね。食費は高かった。

CIMG0588

Computer History Museum, Intel Museum

本当は行きたかったのですが、時間が無く今回は行けませんでした。

W3C 20周年記念式典

今年はWebの25周年、W3Cの20周年です。神のごとき存在であるTim Berners-Lee氏を直に拝むことができました。

村井先生もパネルディスカッションに参加していて、完全に議論をリードしている雰囲気でした。

CIMG0695 CIMG0704 CIMG0700

Tim Berners-Leeの英語はとにかく速いです。なにやらすごそうだ、という感じで、何を言っているのかまったく聞き取れませんでした…

CSSWGのトピック

本題です。これがないと単なる観光ですね。

雰囲気

事前にAgenda案をwikiに書き込んでおき、それに応じて順次進んでいきます。
具体的な議題は、まったく新規のproposalもありますが、www-styleで議論していたものが持ち込まれることも多いようです。

IMG_1336

議論の内容

全部を書き出すのは無理なので、印象に残った点など一部抜粋してみます。

::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の会議体・コミュニケーションパスが把握でき、参加していく道が明らかになったのも大きな収穫です。
10426848_832116523507765_3761679123511680607_n

失敗した点

  • 木曜日に日本コミュニティのディナー会があることを知ったが、既に飛行機の予約は確定していて参加できなかった。
  • www-style MLの存在すら知らない知識不足で、初動が遅れた。
  • お土産のワインを空港のセキュリティチェックで没収された。
  • 撮影した写真が観光っぽいものばかりで、いかに有意義なカンファレンスだったかが伝わらないと怒られた。
  • Baba MUST study English.

今後について

直近では、まずはCSSWGを中心に会議への発言を増やしつつ、縦書きや日本語組版に関する部分の実装をblinkへコミットしていくことを目指しています。
W3Cメンバーとして少しずつ貢献していきたいと思っています。

榊原が写っています

榊原が写っています

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

baba

ゆとりプログラマー。 高校時代から趣味でプログラミングを初め、そのままコードを書き続けて現在に至る。慶應義塾大学環境情報学部(SFC)卒業。BPS設立初期に在学中から参加している最古参メンバーの一人。得意分野はWeb全般、Ruby on Rails、Androidアプリケーションなど。最近はBlinkと格闘中。軽度の資格マニアで、情報処理技術者試験(高度10区分)などを保有。

babaの書いた記事

週刊Railsウォッチ

インフラ

Rubyスタイルガイドを読む

BigBinary記事より

ActiveSupport探訪シリーズ