Sep 18, 2007

Mozilla 24オワタ!

イベント終わった後そのまま打ち上げに行って帰ってきてシャワー浴びて12時間ほど寝てやっと起きて動画をようつべにうpして日記書く前にやる気が尽きてまた寝て、という感じで2日経ってしまいましたが当日を振り返って思い出を書いてみるよ。

前のエントリにも書いたけど、起きたら13時を過ぎてました。14時からのプログラムのパネリストなのに。時計見て飛び起きて着替えてタクシーに飛び乗って車中でひげ剃り。とかなんとかやってたら車酔いしてしまって慶応大学東門の前につくまで横になってた。そういうわけなのでイベントのオープニングセッションとか見てません。ごめんなさい。

SOI A+zilla Add on Competition

SOI Asia主催のアドオンコンテスト。応募者が少なかったら一人一人の発表時間を長く取るのかな? と思ってたら、知らないうちに各審査員の長いお話が入ることになってました……応募者が幸せになれないイベントってどうなんだろう。僕のどうでもいい話10分を丸ごと削って発表時間に充てた方がまだ良かったと思う。ギリギリになって割り当てられたから話の内容も大したことのない物しかできなかったし……

HOSEFのScott Belford氏の話の中に、PCの組み立てからやらせてPCとかプログラミングとかに対する抵抗感を取り除いて子供達の開発者マインドを育てるという活動の紹介があって、すごくいいなーと思った。やっぱり本気で何か変えようと思ったら子供のうちからの刷り込みが大事だよね。

審査の方法は、重み付けの異なるいくつかの評価ポイントについて各人が評価を行い、それを集計して上位の方から各賞を選び出すという形で行われた。

グランプリのフスニさんの遠隔プレゼンテーションシステムは、スコアが最も高かったので誰も文句なしだった。「新しく開発を始めてみようという人を増やす」というこのプログラム自体の目的(らしい)にも沿ってると思われたし、ネットワーク越しのプレゼンテーションというコンセプト自体が国際性の点で評価できると思うし、文化紹介のビデオもちゃんと作ってた……というかまともに映像用意してたのこの人だけだし。完成度という点では、最初はトラブルで動かなかったのはどうかと思ったけど、プレゼン画面上でポインタを動かるとかの細かい部分もちゃんと作ってあったし。

FireGesturesは、新奇性という点ではスコアはそんなに高くなかったけど、完成度の高さはさすがという感じで抜きん出てた。IME and DiMENSiONはMacで動作しないとか完成度の点で残念なところはあったんだけど、US在住の人達が中心になって開発されているFirefoxで見落とされたり軽視されたりしがちな非ラテン語圏の人間にはとってもありがたい機能であるということで、国際性の点で僕は高く評価して、総合スコアではこれより上の物もあったんだけど審査員賞に選ばせてもらった。フォクすけクロックは日本の季節を感じさせる画像がスコット氏のハートに刺さったようです。

たけんさんのやつはスコアは高かったし、裸電球さんが滑り込みで応募してくださったやつは技術的には物凄く極まったことをしているし、のらさんのは正しくこうあるべきという感じの作品だったし、どれが受賞してもおかしくなかったと思うんだけど、そんなわけでこれらは選考から漏れてしまいました。あしからずご了承ください。

17時にプログラムが終わって、次の出番のために九段に移動しなければ……と思っていたところで偶然北村さんに会って、九段までご一緒した。駅を出たところで、僕は朝から何も食べていなかったから、北村さんと別れてマクドでビッグマックセットを買っていったんだが……。

出張Shibuya.JS 24

宣伝ビデオに出ておきながら今回は何も喋らないという詐欺っぷりもいいとこだったんだけど、裏方でなにか手伝えることがあるなら手伝おうと思って、会場に行った……はいいんだけど、別にやること無いよと言われてしまったので、事務局でわびしくビッグマックセットを食べてた。

会場に着いてから知ったんだけど、スタッフ向けに弁当が用意されてたんですってね。周知されてなかったのか、僕以外にも外でなんか買ってきてしまった人多数だったらしい。見てみたら段ボール箱2つ以上お弁当が……カップラーメンとかカツサンドとか食糧も豊富だし……

ほんとは次のブラポロリ対談の準備をしないといけなかったんだけど、まとめ役の金井君が「別にしぶやjs見ててもいいよ」と言ったので、これ幸いとばかりにほとんどずっとしぶやjs見てました。

ちなみにブラポロリの時に彼のPCの背面に貼り付いてたぽろりは僕が弟に借りてこの時渡しておいた物です。

  • gyuqueさんの発表「INSIDE Gecko」は部分的にしか見れなかったけどアニメーションとか3Dとかガンガン使っててすげー見栄えしてた。こういうあざとい演出は大好きです(なぜなら自分は one of 衆愚なので)。自分が普段頼りまくってるGeckoの、レンダリングまわりがどういう仕組みで動いているのかについてはよく知らなかったので、勉強になった。
  • swdyhさんの「AutoPagerize」は、ページの一番下を見たくても見れないという事態が発生してもどかしいことがあるので自分はあんまり進んでは使ってないんだけど、Wikiと連携することで勝手に使い勝手が向上していくCGM的アプリケーションというコンセプトはとても興味深いと思った。Rewind/Fastforward Buttonsも、前後のページを検出する機能について、手作業で設定を移植するのはやめて、もう直接Wikiを見に行く仕様にしようかな……ああでもそうすると「前へ」方向のリンクの検出ルールが無いから困るんだよなあ。かといってWikiに勝手にそういうルールを追記したら怒られそうだし……「次へ」方向だけの一方通行にするしかないのかなあ。
  • amachangさんの「新世代ブラウザのクロス開発まとめ」は、モダンブラウザで現実に使える便利機能のまとめとしてとても勉強になる発表だった。Geckoの新機能はちゃんと把握してなかった(Fx 2とかにも対応させ続ける限りは使えない機能ばかりだし……)から、ほとんど全ページで「へー」と思わされた。
  • マルチスレッドの話は、ごめんなさい、寝てて見逃しました……
  • ECMA Script 4の話。Mozilla 2(Firefox 4)はECMA Script 4ベースになるとかなんとか言われてるけど、今のJSの仕様に沿ったスタイルで成立しているJS天国が崩壊してしまうんじゃなかろーか、という心配の方が僕は大きいなあ……
  • 前代未聞のPhotoshopコマンドラインシェルプレゼンは最高にウケていたと思う。こういうバカすぎる(褒め言葉)ネタがあるからしぶやjsはやめられない。
  • jQueryの話もあんまりよくわからなかったですごめんなさい。
  • SHA-1高速化Tips……というかJSの高速化Tips? ループを展開したり関数を展開したりと、高速化のための最後の手段として耳にする方法をJSでの関数の動的生成・上書きで自動化するとかなんとか。
  • Facebookの話は……多分僕は使わなさそう。mixiすら半放置だし……
  • 竹迫さんのJavaScript.GIFの話も、無意味にも程があるいかにもしぶやjsっぽい面白い話だったと思う。これを何かに役立てられないものかなあ。
  • USBミサイルランチャー欲しい! コマンドにいちいち「sir!」と返答するミサイルランチャー萌え。
  • はて☆すたのスクリプトを全然違う用途に使いまわしたりする話は内容が高度過ぎてついていけませんでした。Bloom Filterについて勉強しようと思いました。

当日のプレゼンを録画した映像のプレイリストをたけんさんが作ってくれているので、併せてどうぞ。

Google Videoに上がってるやつの方が画質はいいっぽい。

ドキッ! 丸ごとウェブ!! ブラウザだらけの討論大会 ~Chatでユーザのポロリもあるよ~

Operaの中の人が出張で来れなくなったり、他のブラウザベンダに出演要請してもタイトルがタイトルだからか断られまくったりで、タイトルに反してほとんどMozillaとMicrosoftの独壇場という気がしてならなかった。でもそれなりに盛り上がったようなのでよかった。

ユーザの声を代弁する役で連れてこられたのに、同一IPからのアクセス大杉で蹴られてチャットに入れないし! でも途中で誰か抜けたらしくて、入れるようになった。しかしLimeChatでアクセスする際に #mozilla24-b3 に入るつもりが #mozilla23-b3 などという謎チャンネルを作ってしまい、1分ほど「あれーなんで誰もいないのー?」とか思ってた。どじっこすぎです。

当日のチャットログを公開されてる方がいるので、雰囲気を見てみたい人はどうぞ。でも会場での会話への反応とかもあるから、これだけ読んでも多分意味わからんだろうなあ。

  • 古い環境をドロップするのは、自分もある時点からFirefox 1.5以下無視とかそういうことをやってるから、動機も意義もよくわかるんだけど……
  • MicrosoftでもMozillaでも、最も基本となる製品をリリースしている立場のベンダが、最大公約数的な無難な線に製品をまとめてくることは、非難はできないと思う。そこは「世の中に合わせる、欲されている物を提供する」(Microsoft、Mozilla)という立場をとるか、「世の中を変える、新しい価値観を打ち出していく」(Opera)という立場をとるかの、違いでしかないと思う。
  • 多機能オールインワン型にせよシンプル低機能にせよ、エンドユーザにそれを届ける上で最も大切なのは、初期設定。変更しない状態でどれだけユーザーフレンドリーかどうか。マウスジェスチャとかの「使う人を選ぶ機能」は、初期状態で使えるようにしておくべきかどうか判断が別れる。そういう「判断の別れる部分」はある程度クラスタ化できるのかもしれなくて、もしそれが可能なんだったとしたら、Firefoxの「こういう人向けアドオン詰め合わせディストリビューション」的な物を何種類か取り揃えるという解決策は、ありだと思う。Firefox ROCK FESTIVALにかこつけて公開されたPersonas同梱版Firefoxは、機能面に興味が無いリスナーというターゲット層に向けたディストリビューションの例と言えるだろう。
  • とにかく各ベンダに言いたいのは、独自拡張でWebの可能性を広げるのはまったく結構な事なのでそれを咎めはしないけど、その前に標準仕様くらいはきっちり実装してから物を言ってほしいってこと。CSS2.1で大幅に直されたCSS2のように、仕様がそもそも腐ってるっていう例もあるけれども……仕様で明文化されてる所くらいは実装できるんじゃないの? 2000年前後、それをまともにやってたのはGeckoだけだった。だから僕はMozillaに転んだ。でも今Mozillaを使ってるのはフロントエンドのFirefoxに依存してるからという現実的な理由がほとんどで、思想的にはCSSのメディアクエリとか@mediaとかをちゃんと活用してるOperaの方が好印象になってる(ここでAPNGのようなオレオレ仕様を作らずにW3C標準の仕様に則って新機能を実装してきてるってところが、特に素晴らしい)。まぁ、そんなところに力を注いでも直接シェアに結び付くわけじゃあないから、軽視されるのはしょうがないんだろうけど……
  • チャットで誰か、「標準仕様に全ベンダが準拠しないといけないんだったら競争が起こらない」とかなんとか的外れなことを言ってる人がいたと思うけど、標準仕様への準拠とベンダごとの製品の独自性の確保は両立しうる。Webページのレンダリングは標準仕様に則って行い、それをユーザが利用するためのブラウザの機能、UIの点で独自性を出せば良い。Webページのレンダリングについて独自性を出すのは、世界のためには百害あって一利無しだ(ベンダにとっては、自分の所に囲い込むためには有効な手なんだろうけどね)。
  • MNGとかXPointerとか、「誰も使わないからはずしました」って、そもそも実装されてなきゃ誰も使えないでしょうが?! 会場では「誰も使わない物を実装しても仕方ない」という風な五寳さん(Microsoft)からの発言に対して「実装してくんなきゃ誰も使えないでしょ?」と発言したけど、こういうことはMozillaにも言っておきたい。確かにそれらの技術はマイナーだろうけど、それを使うかどうか決めるのはユーザでありユーザとしてのデベロッパだ、ブラウザベンダではない。末端のエンジニアがどさくさ紛れに入れたXMLHttpRequestを「誰も使ってないから」って理由でMicrosoftがドロップしていたとしたら、今のAjax天国は成立していなかったろう。ベンダは寡黙に淡々とそれらを実装していくことに専念するべきで、どの技術仕様を活かすべきか・殺すべきかまで踏み込んで判断するのは、おこがましいにもほどがある。と思うよ。
  • MicrosoftでもMozillaでもOperaでも、最も基本となる製品をリリースしている立場のベンダは、何をするにしても「安全」と「利便」をとるなら最終的には「安全」側に倒して然るべきだと思う。Firefox 3からの、危険なアドオンのインストールを禁止するという新仕様も、作者としては不便になっても、エンドユーザのためには必要な措置だと思う。Firefoxの場合、オフィシャルが用意してくれている配布システムであるMozilla Add-onsに登録していれば大丈夫で、しかも旧バージョンも保持していてくれるとかフォーラムもついてくるとか、アドオン作者が得られるメリットは少なくない。安全にするために失う物と、代わりに得られる物とのバランスがとれている、これはとても良い例だと思う。
  • 会場でも言ったけど、例えばAMOならXPIパッケージを登録する際に自動でAMO側でオブジェクト署名証明書を付けてくれれば本当は一番安全なんだろうけど、それを実現できないのには多分にエンドユーザ側の情報リテラシの低さも影響していると思う。「署名されています」が「作者がそのバイナリを作った時点から変更されていないことが保証されています」ということしか意味しておらず、決して「そのバイナリが絶対に安全であることが保証されています」という意味なんかではない、ということを正しく理解できているひとがどれだけいるだろうか? いざトラブルが起こったときに、「Mozillaが絶対の安全を保証してくれたはずじゃなかったのか!?」と逆ギレせずにいられるユーザがどれだけいるだろうか?

ずっともやもや思ってたことを、世界の片隅の零細ブログじゃなくある程度注目の集まってた場所で、一人でつぶやいてるだけじゃなくちゃんと伝えたい相手のいる場所で、言えたのはとてもよかったと思う。個人的にはたまってたウンコを出しきった感じで実にスッキリした。

ブラポロリ対談後

スタッフの昼食or夕食用に用意されていた弁当が事務局で余っていたので、それをみんなで食べていた。消費期限を若干過ぎていたけれども、まあ、数十分くらい誤差のうちさ! でも一応自己責任でね! みたいな。事務局の人に勧められたのではなくあくまで僕らが勝手に各自の判断で弁当を食べたのだということは、ここに明言しておきたい次第です。

この時の動画。携帯で撮ったので僕の声ばっかり鮮明ですが……

23:54頃、ベルサール九段。ホワイエで談笑する人達、DocFest M24+TouchUpマラソン部屋で24時間カンヅメでひたすら作業する人達、延長戦に備えるブラポロリ対談の人達、LiveCodingの人達。

メインホールを出たら、ちょうどホワイエ特設ステージで何やら生放送が始まった所だった。このイベントの発端の頃を振り返るA社長・瀧田代表・砂原 教授と、話題についていけずすっかりおいてけぼりの青木さゆりさん。途中でカメラを台の上に置いて離れたのは飲み物を取りにいくためで、その後で後ろの方でちっさく自分が映ってたりする。

事務局で雑談。他の会場のプログラムが終わったので、基地として人が集まってきてた。みんなネガティ部の部員ばっかりなので後向きな発言が多い。

メインホールではDanKogai氏が司会で?LiveCodingというイベントが行われていて、iPhoneにSSHでログインするなどの話題で盛り上がっていたようなんだけれども、そんなことはお構いなしに、会場の後ろの方でブラポロリ対談の面々が延長戦をしてた(夜明けまでずっとやってたそうな)。というかほとんどMicrosoftの原田さん・五寳さんが主役だった感じ? 僕も時々参加して、Windows XPではエンドユーザ向けのHomeが一番安かったのにWindows Vistaではエンドユーザ向けのUltimateが一番高いのはどうして? みたいな素朴な疑問をぶつけてみたりした。

W3Cの芦村さんが、86(インテルのx86じゃなくて、頭文字Dのハチロク)の部品が発売から20年経った今でも手に入るってすごいことだよねという感じの事をおっしゃってて、それに乗っかって話していたこと。

  • 車とかの古式ゆかしい製造業では何十年というスパンでサポートが続いてたりするけど、ソフトウェア業界ってほんとにサポート期限が短いよね。
  • でも車の部品ってべつに、古い車種用のやつが改良されたっていうことはないんじゃね? 20年前と同じ部品を手に入れられるっていうのは、ソフトウェアでいったら20年前のバージョンを焼いたCD-Rが手に入りますよってのと変わらなくね? 20年前の部品について炎上発火の危険があるのでリコールします、なんて話は無いような気がする。
  • ソフトウェアの場合は部品を改良することがサポートだから、部品をゼロから設計できるような技能を持ったエンジニアがずっと張り付いてないといけない。設計図通りの部品を量産し続けるだけで済む製造業と違って、サポートにかかる人的コストがとても大きいのではないか?(部品を設計図通りに作るのにも熟練の技がいる、とかそういう話はここではさておく)
  • でもそれは言い替えると、一度部品を設計したら20年間は改良が効かないまま使われ続けるということで、慎重に慎重を重ねて設計しないといけないということでもある。ハードウェアの設計や組み込みソフトウェアには「どうせ後でパッチあてればいいや」という考えで見切り発車できないシビアさがある。いや、それらについても、完全を期することはできなくて、不具合がある程度減ったら見切り発車してるのかもしれない。だとしても、PC向けのソフトウェアの見切り発車と比べると、「このくらいでいいだろ」の閾値が全然高いんだろうなと思う。そこで判断に失敗すると、後になってリコールとかの大問題が起こる。

LiveCodingの終了を待って行われたビンゴ大会。僕は参加しなかった。

Microsoftの原田さんがFirefoxトレーナーをゲットしてたけど、さすがにこれは着れんわということで置いていかれたらしい。そしてそのトレーナーはゆうきさんと木達さんが持って帰ったという噂。

閑散としたメインホールでスクリーンに映し出されてたのは、どうもこのイベント全体のオープニング映像だったようで……寝坊してオープニングに参加しなかったから僕はこれが初見。この動画を撮っていたせいで、ビンゴ大会でフォクすけぬいぐるみが出た瞬間を撮り逃してしまった。

ちなみにこの時間帯に僕は何をしていたかというと、ブラポロリの延長戦をやってる横でしこしことText Shadowのリリース作業をしていた。いや、会場にいる間に記念になんかひとつくらいやっとこうかなと思いましてね……

早朝の事務局。朝食はないのか!と辺りを見回して目に付いたのは昨日の弁当の残り……消費期限切れてから6時間経過の。食べる人は当然自己責任でね! ということで、またもや事務局の人に勧められたのではなくあくまで僕らが勝手に各自の判断で弁当を食べたのだということを重ねて明言しておく次第です。というかこの流れの口火を切ったのは明らかに僕。責任を取って(嘘)、一個だけ残ってたLiveCoding部屋で出たらしい昨日夕方までが消費期限の五目弁当を食べた。うん。卵がなんか危険なニオイだった。

……いまのところ腹を壊したということはないので、大丈夫だったんだろう。

ノートPCにWebcam付けてUSTREAMでリアルタイム放送してる人が二人ほどいた。これはもはやテロですね。「言うこと聞かないと後で恥ずかしい映像をネットに流してやるぜぐっへっへ」がもはや「言うこと聞かないから恥ずかしい映像をリアルタイムでネットに流してるぜぐっへっへ」になってしまった、実に恐ろしい時代です。

暇だったからこのあと僕はTouchUp部屋の電源を勝手に借りてXUL/Migemoのデバッグなんかをやっていた。ずっと放置してたから本腰入れてやらないとな、と思って。

  • 「ビューポート内にある最初の要素」を取得する処理がまともに動かなくなっていた。主要なコードをXPCOMのコンポーネント化したときのregressionで、DOM2 TraversalのTreeWalkerの生成に失敗するようになっていた。
  • でもその点を直してもうまく動いてくれない。そもそもこのやりかた自体捨てないといけない?
  • もっと効率いい方法があるのかもしれないけど、思い付かない。
  • 仕方ないから一番泥くさいけど確実な方法にすることにした。

改良できたんだかできてないんだかよくわからないです。

そうこうしてるうちに時間が来て、DocFest M24が店じまいするからってことで成果発表が行われた。

TouchUp部屋の人達は一人を残して全員帰ってしまったそうで……成果の方は1つのサイトにつき約1時間弱で、みんなすごい生産性だなあと思った。Webサイトのコードを精査して、間違いを見付け、改善方法を提案・実践するというのは、かなり高度だと思う。もし次回があるならこういう方向で参加してみようかなあ。

終了直前、撤退準備中の事務局とか。

すっかり人のいなくなった部屋が寂しい。

打ち上げパーティ

三田会場近くの店を借り切って行われた打ち上げの様子。

多くは申しません……

総評

  • 九段は「ファン感謝祭」的な感じでまあまあ盛り上がってたんじゃね?
  • 渋谷は(人づてに聞いただけだけど)今までFirefoxの事を知らなかった人にFirefoxのマークとかの認知を広められたという意味で、マーケティング的には一番まともな結果が出せたんじゃね?
  • 三田は……どうだったんだろう……
エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能