OSI参照モデルって昔やってたんですけど、OSIってとてつもなく分厚い技術書があるわけです。あんなの実装できるわけないんだけど─4年くらいかかって実装したDECだとか、大変な目にあったわけですが。いうのをやっていた当時の技術者からすると、そこに出てきたTCP/IPなんていうのは、当時の技術者からすると「バカにしてんのか?」っていうくらいシンプルだった。テキストでTelnetでつないでサーバと会話できちゃう、っていう。「なんだこれ?」の世界ですよ。あのシンプリシティが「勝った」わけですね。Webサービス」も、今やほとんど使われてなくて、ほとんどの場合RESTが使われるようになっている。それも単純さが持つ力です。した単純さを突き詰めると、結局Webの本質は、URI/URLというところに行き着くのかな、と思っています。IoTの世界にもURI/URLは食い込もうとしていますしね。誰も異論はないところかな、と思いますよ。HTTPも2になっちゃうと、ずいぶん変わっちゃうわけで。僕らが知っている牧歌的なHTTPではない。Webと言った場合、もはやプロトコルすら指していないんじゃないかとは思いますね。HTTP/1って今の時代には必ずしも最適化されていないんです。SPDYを始め、2も出てきていて、そこ(プロトコル)もリプレースされていくのはそのとおりだと思いますね。Googleも、まだ標準化の方には進めていないですが、QUIC(※)なんてプロトコルも作っていたりしますし。今、ディープラーニングとかやっていて、Facebookが作ったTorchってやつとか、NVIDIAのDIGITSっていうツールセットとかあるんですが、フロントエンドがWebなんです。インストールして起動するとnginxが立ち上がって、操作は全部Webブラウザからしてください、と。CUIもあって、コマンドラインはコマンドラインである種の安心感あるんだけど、Web(画面)が出てきた時の安心感ってすごくて(笑)。「(エンジニアが)ハンドルできる」っていうのが伝わってくるっていうか。この安心感って、Webが持ってる強力な力かな、と。あともう一つは、先ほどの及川さんの「単純さ」の意見に賛同するものですが、一回画面レンダリングしたら終わり、っていう世界観が元々のWebにはあったわけで。それって、書いてる方もすごく安心なんですよね。今うちの会社は、紆余曲折あってPHPを全社的に使っているんですが、画面を一回書けばおしまいっていうのが、可用性的に安心して使えるんです。これがJavaだったら、どこか一箇所に間違いがあったらシステム全体デプロイしなおさなくちゃいけないところが、PHPだったら、「今見てる人は前のバージョン、次来た人は新しいバージョン」っていう割り切りができる。リクエストごとにトランザクションが終了する、っていうのが、実はシンプルかつ強力な機能なんです。React(の仮想DOM)なんかは、そこまでもバーチャルにして効率的なやりとりをしましょう、というのはわかりつつも、そもそも元々Webが持っているパラダイム、頭からお尻まで書いてトランザクション終了、っていう思想を、今風にカッコよくしただけのものだとも思っています。それくらいWebが持っていたシンプリシティっていうのはすごく強力で、Webで操作できるってことはつまり、プロトコルがRESTで用意されているってこと。ことは、プログラム同士も繋げられるし、サービス同士も繋げられるし、要はマッシュアップできるっていう。Webが流行り始めてもう20年くらいになると思うんですが、この20年でそういう傾向ってますます強くなってると思うんです。ユニバーサルだというのはすごい強みですよね。何でも繋げる安心感、と清水さんはおっしゃいましたが、例えば家電でも何でもいいんですが、ネット接続をしたいと思った時に、ちゃちいWebサーバを内蔵しておけばいいんですよね。アクセスポイントがその代表例ですが、(HTMLで書けるので)設定画面を用意する労力も大したことないですし。ちなみに、僕らにとってURIって絶対なくならないものですし、Webの本質であるというご意見にも賛成です。ユーザからするとURIって全然見えないものになっているのではないかと思うんですが。それは全然構わないんじゃないでしょうか。先ほどお話しあったように、ブラウザが使われなくなってきていて、アプリの中で使われるようになってきているのなら、URIは裏で使われるというので全然構わないと思います。関係ない話なんですが、今まで誰かに聞きたかったんで聞いちゃいます。今までフィッシング詐欺防止のために、ブラウザベンダーは一生懸命アドレスバーの表示方法を工夫していたかと思うんですが、アプリ内ブラウザ(WebView)の場合、URLが全く見えない状態になります。それは、アプリ内ブラウザ作ってる人に聞いてほしいですが(笑)。モバイルになると、スクリーンが小さいという制限があって、セキュリティをきちんと確保して安心だと言いつつ、でも不必要な情報を出さないようにしなくちゃいけない。アドレスをユーザが確認できるようにしたところで、アドレスがすごく長かったりしたら、どこか1文字違っていたりしても絶対にわからないわけです。アドレスを全部表示するのがセキュリティ上優しいわけでもないという前提で、そこをどうすればいいかというのを、アプリ内ブラウザであっても普通のブラウザも考えなくちゃいけない所です。最近はセキュリティめちゃくちゃ厳しくなってきてます。WebをHTTPSオンリーにしようという議論がなされていたり、HTTPSにしたとしても怪しいSSL証明書なんて山のようにあるので、それらを全部banしていくようにしたり。要は、ユーザがサイトの安全性を目で確認する、という時代じゃなくなってるんですよね。しない限りはWebが破綻します。あと、前半藤村さんがリンクの透過性の話をしていらっしゃいました。あれは結局のところ、アプリにもURIの力が必要だ、という話なんですよね。モバイルアプリを皆さん一生懸命作りますが、実際にユーザが何個入れているか、そのうちのいくつをアクティブに使っているかというと、すごく少ない。USのデータで見ると、確か31個とかしか入れていなくて、そのうちの10個くらいしか日常的に使っていない。世の中にはアプリなんて山のようにあって、ランキングが上の方のやつしかインストールされない。ランキングが下の方のやつなんて、一生懸命作ってもインストールさえされない。彼らがもしWebをやめちゃったら、ユーザにリーチさえできなくなるし、エンゲージできなくなりますよね。Linksみたいな話になるわけです。検索した結果、「こんなアプリもあります」とアプリのインストールをうながしたり、インストールされていたならば「ここから先はアプリで見ませんか」とユーザーをナビゲートしてあげる。ここはハイブリッドなアプローチが必要です。いう点だと、Webの方が安心ですね。アプリの中で競争に勝てと言われると、ちょっとつらい。膨大なアプリの中で、自分の作ったアプリがユーザにリーチする確率がどれほどかと考えると、かなり厳しい。僕から見ると、アプリの世界ってゼロかイチの世界に見えます。Webは、良くも悪くも分散しているので、しょぼいサイトを作ったとしても、ニーズにマッチしてさえいればそれなりに人が集まる。スモールスタートをやるには、Webってすごいいいな、と思います。今はアプリの世界は、スモールビジネスが成り立たない世界になっちゃっているかな、と。探したくもならないもん。いうアプリあるかな、と思って探したらいっぱい出てきすぎちゃって、嫌になっちゃう。ここで、あえてWebに不利な論調を持ち込んでみたいです。「Webは死ぬか?」を話す機会なので。最近僕の知り合いがプログラミングの教育ビジネスをやってるんですけど、Web教えないんですよね。AnrdoidやiPhoneアプリの作り方から教えるんです。僕もそうですよ(笑)。SDKっていうのを使ってスマホアプリ教えてます。僕、思いますけど、ゼロから覚えるならアプリのほうが楽なんですよ。スクリーンサイズから何から、前提とするものが少なすぎる。子どもたちがやりたいのは、自分が持ってるスマホで、自分のアプリを動かしたいだけなんです。どんな簡単なものであっても、自分の持っているスマホで動くと嬉しい訳ですよね。SDKとかって、簡単な物理エンジンが乗っかっていて、高校生くらいなら1日もやればそれなりのものが作れるんですよ。教科書通りに写経して、ちょっとここ変えようね、くらいのレベルであれば。作ったものが、自分の手元でコントロールできる喜びっていうのは、やっぱりアプリのほうが上なんですよね。僕は自分の息子や娘にWeb技術教えられるかって言うと、ちょっとつらいですよね。Androidアプリとか教えるほうが手っ取り早い。HTMLの構文教えるだけでも結構大変ですよ。そこは僕一つ考えがあって。概念的にも、実際的にも。実際UnityのHTML5プレイヤーなんてまさにそうで、Emscripten(※)使って、人間が読むことを想定しないコードを吐き出している。(※)とかでJITコンパイルされながら動くわけですよね。これ、昔の「べーしっ君」(※)ですよ。今のWeb技術はマシン語だから。HTMLからやれっていうのは、マシン語からやれって言ってるのと一緒なんですよ。それにWeb技術って、いろんな歴史の澱(おり)が積み重なってる。86でいうセグメントみたいな。V8...Googleがオープンソースで開発するJavaScriptエンジン。ChromeやNode.jsで利用されている。たしかに現状、Webの後方互換性を保つためのレガシーなコードが、ブラウザにはたくさん入っている。今改めて必要な要素技術を考えるとしたら、ブラウザに今入っているものとは大きな隔たりが出てくるでしょう。低レベルのAPIを整備して、なんか新しいAPIだったり要素だったりを作るとしても、それらの組み合わせで作れるようにしましょう、ってところから始まっている。なると、今後はAPIのレイヤー化が進むはずです。なると、下のレイヤーがどんどんマシン言語化していくってことですよね。上のレイヤーっていうのは、どんどんいろんなモノが乗っかって、その時に一番ポピュラーだったやつだけがブラウザに初めから組み込まれている、ビルトインされているって形になるかもしれないですね。将来のブラウザに期待したいのは、下位互換性を全て捨てた新しい、軽いブラウザが欲しいですね。marqueeとか、古い要素の実装もすべてない。Web閲覧のためのWebブラウザと、アプリの実行環境としてのWebブラウザって、用途が違うじゃないですか。アプリの実行環境として使うのであれば、古いものがなくたって困らない。いう実装があってもいい気はしますね。Webの考え方が進んで、レイヤー化されてコンポーネント化されたものが許されるならば、それもあり得るかもしれませんね。ブラウザには、デフォルトでは本当にミニマムなエンジンだけが入っていて、必要に応じてレガシーな要素のコードがダウンロードされるみたいな。そこまではまだわかりません。言われるのがEditing。あれでほんとにベーシックなエディタ機能を作ろうと思ったって作れないわけですよ。結局みんなどうしているかって、みんなそんなの諦めちゃって、みんな何千行か何万行かあるJavaScriptエディタを一生懸命書いてるわけですよね。したらそんなの(contentEditable)全部なくしちゃえ、そのほうがブラウザ軽いし、と。いうエディタたちが持っているミニマムな機能を標準化して、互換性のある形で全てのブラウザに入れてください、のほうがハッピーなわけです。contentEditableが代表例ですが、要は入っていても使われないとか、使えない機能がたくさんある。contentEditable...HTML5で規定された、編集可能なWebページを作成するための仕様。正直なところ、現状はやはりそれほど盛り上がってはいないですね。ネックはUIのパフォーマンスだったと思うんですけど、現在どうなんでしょう。時代が進むにつれて、ほぼ問題はなくなっていっています。今のスマホって、マシンパワーすごいじゃないですか。今でもAndroid2をサポートしなくちゃならないというお客さまにとっては、WebViewだときついですけどね。無限スクロールのない情報表示系アプリとかであれば、全く問題のないレベルです。あれば、マルチデバイスで動作するWeb技術には大きなメリットがあるというのが、僕らの想いです。日本はゲームアプリが多いから、パフォーマンス上の要件も厳しいってのもあると思いますけどね。うちの会社で、enchant.jsで作ろうって提案すると、社員に反対されるんですよ(笑)。「(エフェクトとか)いっぱい出すと重くなるからダメです」って。ゲーム作る人間は、ギリギリまでパフォーマンス追求したいんです。※アプリカン...http://www.applican.com/いい機会なので、清水亮にenchantMOONについても聞いてみる。いう想いはありますね。コンピュータの性能がここまで上がってしまって、人間の何百倍の性能になってしまっているときに、コンピュータを使う方法って、アプリケーションじゃないだろう、と思っている。今って、例えばワープロにしても、「コンピュータに使われている」みたいな状態になってると思う。「コンピュータが提出する文章をお前さんが書きなさい、この枠組みで」みたいな。そこを逆に人間が主体になって、「おれはこういう情報がほしい」とか「こういうのが書きたい」みたいなことをこいつ(コンピュータ)に命令して、こいつが書くようにならなきゃいけない、みたいな一つの思いがあって。それがハードルを下げたい、っていうことなんですね。僕ブログ流行った時に、「こんなに書きたい人が世の中にいるんだ」って感動したんですよ。それまではHTML書かなきゃダメって世界だったものが、誰でも普通に書けるようになって、いろんな人が書くようになったと。いう意味では、その中で実はみんな自分を表現したいという人は、実はたくさんいるんじゃないかなと。文章書くのは難しいとか、写真撮るだけだったらできる、っていうんでTwitterやInstagramが流行る。そこら辺のハードルを下げてあげる。プログラミングとかオーサリングとかのハードルを下げてあげた時に何が起きるんだろう、っていうのが僕が思っているところで。enchantMOONはもともと、「パソコン大好きオジサンが怖いもの見たさで買う」というターゲティングでした。いえ、買った人はほとんど使いこなせていないんです。すごく使いこなした人たちっていうのが、女子中学生なんです。品川女子学院で、貸してくれって言うから貸してあげたんです。一時間くらいしか説明しなかったんですけど、気がついたら爆発的にデカいコンテンツ作ってる。逆にそれをプログラマとかに渡すと、作れないんですよ。自分で作ったほうが速いから。文化系とか、コンピュータリテラシ高くない人に渡すと、ものすごいエネルギーでもってなんか作り始めるっていうのが、MOONを作って一番感じたターニングポイントです。自分が表現したいこと、迷路を作ったりとか、ブロックを組み合わせてシューティングゲーム作ったりとか、そういうものを自分たちの力で作れるっていうのに、魅力を感じてくれたみたいで。いう人たちにとっては、遅いとか重たいとかほぼ問題にならなくて。取り合いになったって聞いて、すごく嬉しかったです。文化祭とかあれで発表するみたいな。小さな話ではあるんだけど、僕にとっては自信になりました。仮に今のWeb技術というのがマシン語であるならば、それに対するライトウェイト言語みたいな、ハードルを格段に下げる方法があったならば、コンテンツのビッグバンっていうのはもっと起きるんじゃないかと。商業メディアって滅ぶ方向にいくんじゃないかという話をしました。ハードルが下がって、もっと表現力が上がって、もっと人々に開放されることによって、もっといろんな人がそこに参加してきて、大きな流れが起こっていくんじゃないかな、っていうことを漠然と思っています。お開きにしたいと思います。えーと、Webは死にません!(笑)。いろんな見方があるな、と。僕は後半、ちょっと食い足りないところがありましたね。話をちょっと戻せなかったんだけど、基本僕ら(スマートニュース)が作っているネイティブアプリは、圧倒的にモノづくりの人にとっての利便性というよりも、消費者にとっての完成度みたいなのが問われるところがあって。消費者にとっての消費財って、モノづくりの人にとっての利便性ってどうでもいいんですよね。そこでどのくらい完成度の高いものを作れるかってこだわって作っていく時に、Webってこういう風に作れるって聞いてても、ピンと来ないところが僕にはあって。良い反応速度を出そうとギリギリまで頑張っているっていうのが、ネイティブアプリを選択している我々の中には重要な要素なんですよね。いうところをもう少しうまく言えればよかったな、と。後半の文脈って、開発する人にとってのWebの意味、みたいなところが割と語られていたんだけど、使う人とか楽しむ人とか、ゲームやる人にとっての視点だったらどうだったのかっていうのは、ちょっと語りきれていない気がしています。スマートニュースなんかは、UXにすごくこだわっていると評判のアプリですもんね。羽田野さんもさっき言われていましたが、スマホの上では圧倒的にネイティブが採用されているという事実もあるわけで。ゲームがたくさん時間をとっているからだ、っていういろんな解釈はあるんだけど、そうはいってもアプリが選択されちゃっているということに、踏み込まなきゃいけなかったんだけど、そこには踏み込み足りなかったと...悔いが残ります。そこはこちらも突っ込んで聞きたいところでした。次の機会にお願いします。さっき結構しゃべったんで、特にないです(笑)。Webは死なないでしょう。個人的には、もっとマシン語化が進んでいくかな、と思いますね。上位レイヤーが充実してくるという感じですか。いや、まだ効率が悪いので。WebGLとCSS3の住み分けとかもまだ微妙な感じですし。そこらへんがもっとスマートになればいいな、と。あと、主流になるかは怪しいですが、HoloLensとかOculusとか、あの手のコンテンツをWebで書く日が来るのかなあ、と漠然と。Mozillaが、MozVRっていうのやってますよね。ExperimentsでCardBoard向けのやつがあります。あと一つ言い忘れていたのは、Webの良い点は、フロントエンドからバックエンドまで全てオープンソースだということですね。JavaScriptの実行エンジンから、レンダリングエンジンから、Webサーバから、全部オープンソース。フロントエンドから全てオープンソースっていうのはすごいな、と。ありそうでなかった画期的なもので、だから、エンジニアとしてはWebは安心して使える。少なくとも僕が死ぬまでは、こうした知見が活かせるんじゃないかと、僕は結構楽観的に考えていて。いうのは、Unixが出てきて40年経ったけど、結局まだみんなUnix使っているわけですよ。オープンソースで枯れているコードって使われ続けていくので、Webも同様の理由で、あと半世紀残っても全然おかしくないな、と思ってますけどね。残ってほしい、死なないでほしい、という願望もありますが。OperaのCTOで、CSSの発明者であるホーコン・リーさんも、「活版印刷は500年使われている。Webも今後500年使われるだろう」という言葉を残していらっしゃいますね。最後に、羽田野さん、今日の感想をお願いします。これ以上何もありません。同じWeb側の人なのに、見え方が違ってるんだな、と。僕的にウケたのは、JavaScriptはマシン語であるというご意見でした。時代が変わるって怖いな、と。(マシン語でのコーディングにこだわる)老害的な存在になってしまわないよう気をつけないと。「DOMを直接叩け!」とか言ってたら疎まれる時代がそのうち来るんでしょうね(笑)。本当に名残惜しいんですが、そろそろお開きにしたいと思います。