<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>Google &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>AIファースト時代のSEOはどうなる？―辻正浩さんに“SEOに効く”Web制作でのポイントを聞いてみた！</title>
		<link>/miyuki-baba/25271/</link>
		<pubDate>Tue, 20 Mar 2018 01:00:51 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Progressive Web Apps]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[検索エンジン]]></category>
		<category><![CDATA[辻正浩]]></category>

		<guid isPermaLink="false">/?p=25271</guid>
		<description><![CDATA[連載： Webの未来を語ろう 2018 (3)HTML5 Experts.jp編集部の馬場です。毎回豪華ゲストをお呼びして、Webの現在と未来について語っていただく公開座談会企画「Webの未来を語ろう」シリーズ第3弾！ ...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/future-of-web-2018/" class="series-496" title="Webの未来を語ろう 2018" data-wpel-link="internal">Webの未来を語ろう 2018</a> (3)</div><p>HTML5 Experts.jp編集部の馬場です。毎回豪華ゲストをお呼びして、Webの現在と未来について語っていただく公開座談会企画「Webの未来を語ろう」シリーズ第3弾！</p>

<p>今回は検索エンジン最適化（SEO）の第一人者である辻正浩さんをお招きし、2018年のSEOを語る上で欠かせないことやWeb制作で気をつけたいポイント、「AI First」時代のSEOはどうなっていくのかなどを語っていただきました。</p>

<p><img src="/wp-content/uploads/2018/03/DSC00026-2.jpg" alt="" width="640" height="386" class="alignnone size-full wp-image-25289" srcset="/wp-content/uploads/2018/03/DSC00026-2.jpg 640w, /wp-content/uploads/2018/03/DSC00026-2-300x181.jpg 300w, /wp-content/uploads/2018/03/DSC00026-2-207x125.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>今回のゲスト</h2>

<h4>辻正浩さん（株式会社 so.la 代表取締役SEO）</h4>

<p><img src="/wp-content/uploads/2018/03/DSC00057.jpg" alt="" width="100" height="150" class="alignleft size-full wp-image-25307" srcset="/wp-content/uploads/2018/03/DSC00057.jpg 200w, /wp-content/uploads/2018/03/DSC00057-138x207.jpg 138w" sizes="(max-width: 100px) 100vw, 100px" />Search Engine Optimizer。<br>1974年北海道生まれ。営業、広告制作、Web制作の経験の後、株式会社アイレップでSEOの専門家としての活動を開始。様々な業界・規模のWebサイトのSEOを担当する。 2011年10月に独立の後、株式会社so.laを設立。SEO専門家としてWebサービスやECサイト、企業サイトのSEOに取り組む。特に大規模サイトを得意とし日本有数の大規模サイトのSEOを多数担当している他、各地での講演にてSEOの啓蒙活動を行なっている。</p>

<p><br></p>

<h2>SEOのエキスパート、辻さんの空前絶後な仕事術</h2>

<p><strong>白石</strong>：日本で検索される約5％は辻さんの顧客のサイトなのだそうですね。現在はお一人で13社のSEO支援をされているとのことですが、どうやってそれだけの仕事をこなされてるのか気になります。1日のスケジュールはどんなかんじで仕事されているんですか？</p>

<p><strong>辻</strong>：だいたい規則的ですね。平日は朝8時か9時に起きて、昼くらいまではメールなどをチェックします。午後はお客様とのミーティングに出かけ、夕方帰ってきたらその日のうちの作業やメール対応などをしています。深夜0時くらいから翌日の作業の準備をして、4時か5時くらいに寝ます。</p>

<p><strong>白石</strong>：えっ、朝起きる時間はそんなに早くないなと思ったら、夜中の4時とか5時まで起きて仕事してるんですか。遅くまで仕事をしすぎなんじゃ…。</p>

<p><strong>辻</strong>：13社のお客様とは、月に1回か2回必ず1～2時間のミーティングを入れているので、平日の午後はほぼ埋まるんですね。そのミーティングのために、各社のSEOの分析や提案の準備で短くても5～6時間はかかります。翌日の準備をしているとどうしても朝5時くらいになっちゃうんですよ。</p>

<p>ツールも使っていますが、マンパワーでなんとかやってしまうので、同業のSEO業界の人に話をしてもまったく参考にならないって言われてます(笑)。</p>

<p><img src="/wp-content/uploads/2018/03/DSC00051.jpg" alt="" width="640" height="427" class="alignnone size-full wp-image-25342" srcset="/wp-content/uploads/2018/03/DSC00051.jpg 640w, /wp-content/uploads/2018/03/DSC00051-300x200.jpg 300w, /wp-content/uploads/2018/03/DSC00051-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>白石</strong>：クライアントワークやってる辻さんもすごいんですけど、仕事以外でも辻さんは検索結果を常に広い領域でウォッチしているイメージがあります。</p>

<p><strong>辻</strong>：30万キーワードくらいは定期的にウォッチしてます。私が他社に勝っている点があるとすると、全部一人で見ていることですね。日頃の順位や流入の変化からサイト変更による変化を一人で全部見ていれば、傾向が把握できますから。</p>

<p><strong>白石</strong>：辻さんを医療系サイト「WELQ」問題（※）で記憶している人も多いと思うのですが、このときの医療業界の動向はたまたま気づいたんですか？</p>

<blockquote>
  <p><span style="font-size: 80%;">（※<strong>「WELQ（ウェルク）」問題</strong>：DeNAが運営する医療情報のキュレーションメディア「WELQ」が、クラウドソーシングなどを使って記事を安く大量に作り、その記事が検索結果で上位表示されていた件。医療系の情報にも関わらず信頼度が低い、記事の制作過程で多数の著作権侵害が認められるなど、多くの批判を受けて現在サイトは停止中）</span></p>
</blockquote>

<p><strong>辻</strong>：医療・金融・法律関連といった深刻な情報の検索では、特殊なアルゴリズムが動いています。その中でも医療関連は動きが顕著ですので定期的に確認していました。医療を追っていればけば、その後の他業界がどういう動きになるか予想できますので。</p>

<p>例えば医療系なら一般的な薬や病名とか症状などのキーワードを、それぞれ数百づつ定期的に検索しておいて、上位表示されるサイトの傾向を見ていると面白いですね。動きが変わってきたときに、じゃあペットの病気だと同じような動きか？などとずらして比較するといろいろ見えてきて、興味深いです。</p>

<p><strong>白石</strong>：すごいな…。そういった動きを調べているときは何かツールも使ってるんですか？</p>

<p><strong>辻</strong>：データはツールを使って分析しています。ただちゃんと分析するときは、ツールだけではできないので、力業ですね(笑)。</p>

<p><strong>白石</strong>：辻さんの大事にしているポリシーや哲学的な話も聞いてみたいです。WELQのときって「これは許せない！」という社会正義みたいな想いもあったんですか？</p>

<p><strong>辻</strong>：あまり社会正義的なことはやりたいくないです(笑)。基本的に楽しい仕事しかしたくないですし、好きなサイトとか面白いサイトの仕事だけを受けています。そういうサイトだけに関わっていれば仕事も大変ではないですから。</p>

<p>ただ、自分の義務として検索に関わる問題提起をしていくべきとも思っています。SEOを行っている会社にとって、検索エンジンが取引先となることが多いので、おおっぴらに文句は言いづらい人が多いんですね。私は利害関係はありませんし、身軽な立場なのでいくつか話していると、いろんな人からの相談やタレコミがどんどん来るようになって、半分義務のようになってしまっているところはあります。</p>

<p><img src="/wp-content/uploads/2018/03/DSC00038.jpg" alt="" width="640" height="399" class="alignnone size-full wp-image-25340" srcset="/wp-content/uploads/2018/03/DSC00038.jpg 640w, /wp-content/uploads/2018/03/DSC00038-300x187.jpg 300w, /wp-content/uploads/2018/03/DSC00038-207x129.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>モバイルファーストの流れでSEOはどうなる？</h2>

<p><strong>白石</strong>：続いては、SEOの過去から現在までの大まかな流れと制作者向けのポイント、SEOの未来を聞いていきたいと思います。まず、モバイルファーストはGoogleのSEOにどういう影響を及ぼしているんでしょうか。</p>

<p><strong>辻</strong>：2016年、2017年、2018年の今くらいまででいうと　モバイルファーストの影響は大きいと思います。Googleの仕様として大きな変化は、モバイルファーストインデックス（MFI：Mobile First Indexing）ですね。</p>

<blockquote>
  <p><span style="font-size: 80%;">（モバイルファーストインデックス：Googleがこれまで検索エンジンがPCサイトの内容をもとにコンテンツの質を評価していたのを、スマートフォンサイトを評価の主軸に評価し、インデックスするという方針転換のこと）</span></p>
</blockquote>

<p>Googleはレスポンシブウェブデザインでやっているサイトについては、PCサイトのページとモバイルページのソースに違いはないので一切影響はないと言っています。レスポンシブ以外のところはどうかというと、同じURLで別のHTMLを出しているダイナミックサービングも、別のURLでPCとモバイルを対応しているサイトも、内容が同じなら影響はないと言っています。</p>

<blockquote>
  <p><span style="font-size: 80%;">（ダイナミックサービング：URLはPCサイトとスマホサイトで一緒だが、アクセスするデバイスによって見せるページやテンプレートを切り替える方式）</span></p>
</blockquote>

<p>ただ、レスポンシブウェブデザイン以外では、Googleが見るページのデザインや動線が大幅に変わることになるわけですよね。おそらく経験がある方も多いと思いますが、コンテンツを変えずにデザインと導線を全部変える大幅なリニューアルをすると検索順位に大きな影響があるものです。</p>

<p>しかしGoogleはその影響がほぼないようにすると言っているんですよ。今までの経験上そうなるはずはないのですが、そう言い切るからには、Googleはいろいろな今までにない処理をしてくるんだろうなあと思っています。</p>

<p>本当にそうなればいいのですが、やはり大きな変化になるかもしれないとして、ウォッチしていく必要があると考えています。</p>

<p><img src="/wp-content/uploads/2018/03/IMG_5906.jpg" alt="" width="640" height="424" class="alignnone size-full wp-image-25338" srcset="/wp-content/uploads/2018/03/IMG_5906.jpg 640w, /wp-content/uploads/2018/03/IMG_5906-300x199.jpg 300w, /wp-content/uploads/2018/03/IMG_5906-207x137.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>白石</strong>：PCサイトしかないサイトはどうですか？</p>

<p><strong>辻</strong>：モバイルファーストインデックスでも大きな変化はないはずです。ただ、昔からモバイル版を用意していないサイト、モバイルフレンドリーではないサイトは、モバイルからの検索では順位が大幅に落ちていますので、どうにかするべきでしょうが。</p>

<p><strong>白石</strong>：スマホ用URLがあるサイトやスマホ用コンテンツが違うというサイトはいかがでしょう？</p>

<p><strong>辻</strong>：そういうサイトはアノテーションなどを複雑に対応する必要があって難易度が高いですね。Googleはカンファレンスの質問などで「完璧に実装できた場合は問題ない」と回答してします。ただし「そういうサイトはめったにないし、だいたいみんなミスをする」とも言われていたそうですが。私なら早めにコンテンツの整理をお願いしますね。</p>

<p>このPC版とスマホ版という話は、サイトの規模によってはクロールの観点で複雑になることもあります。PC版とスマホ版でソースが違う巨大なサイトでは、PC版しかまともにクロールできていないところが多いです。</p>

<p>毎日数万とかページが増える巨大サイトは毎日数百万何千万とGooglebotがデータを取りに来て、Googleのためにサーバ負荷対応が必要なところも多いのですが、PC版とモバイル版の両方を取得するためには、さらに倍の負荷になってサーバ費用もかなり増えます。</p>

<p>そういう事情への配慮なのか、巨大なサイトではPC版を中心にクロールをかけて、スマホ版ページはパターン認識による推測ですましていることがあります。</p>

<p>巨大なサイトのクロールでは、かなり複雑な処理が行われているんです。モバイルファーストインデックスになるとそのあたりも変わるでしょうから、巨大なサイトではなにか特殊な変化が発生する可能性は十分にあるでしょうね。</p>

<p><img src="/wp-content/uploads/2018/03/DSC00048.jpg" alt="" width="640" height="427" class="alignnone size-full wp-image-25344" srcset="/wp-content/uploads/2018/03/DSC00048.jpg 640w, /wp-content/uploads/2018/03/DSC00048-300x200.jpg 300w, /wp-content/uploads/2018/03/DSC00048-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>白石</strong>：今後はモバイルクロールがメインになると？</p>

<p><strong>辻</strong>：私がログを見られる巨大サイトの多くでは、PCクローラとモバイルクローラの割合が8：2くらいなんですが、今後は逆転させるそうなんです。巨大サイトではPCページは認識できていてモバイルページは認識できていないようなケースも多いので、データベースの処理も複雑になるんだろうなと。そのタイミングでは何かイレギュラーなことが起こるかもしれません。</p>

<p>Googleは問題ないといいますが、過去にない大規模な仕様変更ですので、どういう影響があるかはやはり分からないですね。</p>

<p>普通の規模のサイトや、レスポンシブウェブデザインのサイトは確かに問題は起きないと思いますが、そうではないところにとってはいろいろイレギュラーがあるかもという想定で注意して監視しておいたほうがいいと思います。</p>

<h2>Webコンテンツの「正しさ」への流れ</h2>

<p><strong>白石</strong>：では、話題を変えて。最近はWebコンテンツの「正しさ」への流れがありますが、どうお考えですか？</p>

<p><strong>辻</strong>：WELQ問題が端を発し、Googleは2017年12月6日にウェブマスター向け公式ブログで、日本語検索の結果について「医療や健康に関する検索結果の改善」を発表しました。医療や健康に関する部分はここで非常に大きな変化があったわけですが、この前後にGoogleはいろんなことをやっているんですよね。</p>

<p>明確に違法と言えないけど怪しいサイトや悪質なサイトの順位を露骨に落とした、と思える動きもありました。昨年末に逮捕者も出たようなフィッシングサイトへの対応も進んでいます。大きな社会問題になったことに対して積極的に対応するようになった、と思いますね。フェイクニュースなどインターネットへの信頼性が疑われるようになって、明らかに態度を変えたように思います。</p>

<p><img src="/wp-content/uploads/2018/03/IMG_59001.jpg" alt="" width="640" height="416" class="alignnone size-full wp-image-25345" srcset="/wp-content/uploads/2018/03/IMG_59001.jpg 640w, /wp-content/uploads/2018/03/IMG_59001-300x195.jpg 300w, /wp-content/uploads/2018/03/IMG_59001-207x135.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>白石</strong>：それまでのGoogleは「インターネットの自由」を優先していて、それは面白さでもありましたが…。「正しさ」が大事という方向に舵を切ったと？</p>

<p><strong>辻</strong>：はい。情報の正確性を意識するようになったことはいわれています。「Googleは検閲はすべきでない」というポリシーとインターネットの自由を大切していることは確かです。Googleを含めたインターネット全体が自由だけでは問題があるという方向に流れています。いいことかはわかりませんが、どんどん加速化していますね。</p>

<p><strong>白石</strong>：でも、人によって「正しさ」が違う情報っていっぱいあるじゃないですか。Googleがその「正しさ」を決めるのは、限られたことにしかできないんじゃないかなって思うんですけど。</p>

<p><strong>辻</strong>：難しいですね。最近は癌について検索したら、国の医療機関などしかまともに出なくなりました。ただお医者さんの眉をひそめるような高額だったり、実績に乏しい微妙な治療方法の多くは違法ではないですよね。それらがGoogleの判断によって多くの人に知られづらくなったわけですよね。これはGoogleの検閲ともとれる行為かもしれませんが、それが受け入れられています。難しいことですよね。</p>

<p>個人的には、深刻な病気に悩む人が検索の情報で迷惑をかけられたという話をたくさん聞いてきたので、今の状態が悪いとはまったく思わないんです。インターネットの自由も大事だけど、その自由の中でも規制したほうがいいこともあります。ただ、これがどんどん拡大するようではまずいですよね。</p>

<p><strong>白石</strong>：価値中立、道徳的に中立という言葉がありますが、Googleは今まではそこを頑張ってたんでしょうけど、あまりに誤った情報などを出してしまうのはまずいと考えたんでしょうね。ただ、Googleの一存で何が正しくて、何が間違っているのかという思想の部分を決めてしまうのはどうかという問題もありますね。</p>

<p><strong>辻</strong>：本当にそう思います。ただこの問題、Googleは本当に慎重に考えていると思います。Googleの考え方は発表される声明だけではなくて、実際の順位の動きなどで大分理解できているつもりですが、今のGoogleでも表現の自由とかインターネットの自由の尊重とかは、過剰なほど慎重だと思います。</p>

<p>ただ、それでも対応を変えていかないと行けないほどインターネットは複雑になったということかなと思います。現状のGoogleには不安はないし、変なことはやらないと信じています。でも今後どう変わるかはわからないので、今後も動向は見ないといけないですね。</p>

<h2>全てのサービスとGoogleが競合化する！？</h2>

<p><strong>白石</strong>：次のテーマ「Googleの競合化」ですが、これはどういう意味でしょうか？</p>

<p><strong>辻</strong>：最近、Googleでグルメ関連の検索をすると一番上に地図が出ますよね。ユーザー評価もあるし、ローカルガイドにもなって、とても便利ですよね。あと飛行機の予約ができるGoogleフライトも、ホテルの予約もできるし、ユーザーには便利でいいサービスなんですが、これらによって奪われてしまったサービスも出てきます。</p>

<p>Googleマップではスマホを持ったユーザーの行動がオプトインで記録されていますが、そのあたりの独自データを激しく使い出すと、他のサービスはなかなか太刀打ちできないですよね。</p>

<p><img src="/wp-content/uploads/2018/03/IMG_5888.jpg" alt="" width="640" height="439" class="alignnone size-full wp-image-25347" srcset="/wp-content/uploads/2018/03/IMG_5888.jpg 640w, /wp-content/uploads/2018/03/IMG_5888-300x206.jpg 300w, /wp-content/uploads/2018/03/IMG_5888-207x142.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>白石</strong>：あらゆるサービスにGoogleが競合として参入していくわけですね。</p>

<p><strong>辻</strong>：増えていることはたしかです。Googleが持てない価値を考えて作るしかないんですが、情報を集めて出すサービスは勝ち目がなかなかない厳しい状況になると思います。</p>

<h2>Web制作におけるSEOのポイントは？</h2>

<p><strong>白石</strong>：ここからはWeb制作におけるSEOのポイントについて聞いていきたいと思います。マークアップなどで気をつけることとかありますか？</p>

<p><strong>辻</strong>：昔は「<code>&lt;strong&gt;</code>をつけろ」とかありましたけど、最近は効かなくなりましたね。私もマークアップを変えろという指摘はほぼしなくなりました。普通にミスのないマークアップでWebサイトを作れば評価されるので、SEOのためにマークアップで何かするということが減ってしまったんですよね。</p>

<p>ただ、サイト設計については口を出さなくてはいけないことが、多くなってきました。Googleは公式に認めていませんが、どんなユーザーがどういうページを見ていていて、どこで離脱しているかなど、ユーザー行動を見ているんですね。</p>

<p><strong>白石</strong>：まあ、肯定しにくいですよね。</p>

<p><strong>辻</strong>：Googleは否定するけど、一般ユーザーがWebページ内でどういう行動をするかが検索結果に影響するようになってきました。その影響力はどんどん大きくなっています。</p>

<p><strong>白石</strong>：昔は内部リンクを充実させるために、人間が踏まなさそうなリンクをフッターに大量に仕込んでたじゃないですか。あれはまだ有効ですか？</p>

<p><strong>辻</strong>：2012年くらいから一切やらなくなりました。そういう人が使わないリンクをはずして順位がかわるか実験を何度もしてみたのですが、一切変わらなかったんです。それからはSEOだけの目的でリンクを張ることはあまりしなくなりましたね。</p>

<p><img src="/wp-content/uploads/2018/03/IMG_5905.jpg" alt="" width="640" height="423" class="alignnone size-full wp-image-25349" srcset="/wp-content/uploads/2018/03/IMG_5905.jpg 640w, /wp-content/uploads/2018/03/IMG_5905-300x198.jpg 300w, /wp-content/uploads/2018/03/IMG_5905-207x137.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>白石</strong>：クローラーのためにAタグを書いておくのはもう必要ないんですね。</p>

<p><strong>辻</strong>：これからはユーザーが使いやすいページを作ることを優先した上で、どうやって検索に強くするかを考えることが有効になってきます。例えば、グローバルメニューとかカテゴリとか本来はユーザ動線として強いはずなのに、ニーズがない情報が並んでるサイトってあるじゃないですか。ユーザが好む動線に検索ニーズもある情報をまとめるとか、マークアップとかよりもユーザーの検索ニーズを意識したサイト作り、などが重要ですね。</p>

<p><strong>白石</strong>：ユーザーにとって自然な導線をちゃんと作り込むようにしなさいということですね。</p>

<p><strong>辻</strong>：はい、それがSEOの観点として大事になったということです。</p>

<p><strong>白石</strong>：一般ユーザーはあまり気にしてないと思いますが、URLは未だに重要ですか？</p>

<p><strong>辻</strong>：少なくとも日本国内ではURLの深さとかは、最近は関係なくなくなってきました。パラメータをつけるとどうこうとかありましたが、今のGoogleだけでいうなら認識するようになってきた。ただし、Google以外の検索エンジンは上手く認識できない場合が多いので、やるしかないんですが。</p>

<p><strong>白石</strong>：コンテンツづくりについても聞いてみたいと思います。昔、辻さんがGoogleに好かれるための記事を書いてたじゃないですか。検索エンジンには好かれるキーワードを散りばめて、見出しをちゃんと書いて、先に結論があって、見出しの近くに重要キーワード置いてとか。</p>

<p><strong>辻</strong>：それは今でもまだガリガリ効きます。SEOを考えたキーワードは大事ですね。ただし、キーワードを書かなくても、テーマによって検索ニーズがあるものはランキングが上がるという流れもあります。</p>

<p><strong>白石</strong>：以前流行ったキーワードたくさん入れたSEO用の記事も効くのでしょうか。</p>

<p><strong>辻</strong>：そういう何も考えてないSEO記事は大分効かなくなりましたね。Googleはユーザーを見出したということもあり、読み込んでくれる文章じゃないとユーザーは離脱するので効果はなくなっていくと思います。</p>

<p><img src="/wp-content/uploads/2018/03/IMG_58971.jpg" alt="" width="640" height="436" class="alignnone size-full wp-image-25351" srcset="/wp-content/uploads/2018/03/IMG_58971.jpg 640w, /wp-content/uploads/2018/03/IMG_58971-300x204.jpg 300w, /wp-content/uploads/2018/03/IMG_58971-207x141.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>白石</strong>：AMPのSEO観点は何かありますか？</p>

<p><strong>辻</strong>：AMPということだけではなく、考えなくてはいけないことがあります。例えば、最近はパーマリンクの重要性がすごく高まっていると思います。3年前くらいはパーマリンクのURLを評価をするサービスは少なかったと思いますが、最近はスマートニュースやグノシーなど、評価付けする存在が増えてきました。</p>

<p>URL単位で評価をするサービスにとって、AMPのURLでシェアなどをされると本来の記事と価値を統合するのに時間がかかったり、されなかったりすることもあります。他にも様々なデメリットはありますが、表示スピードが上がるといったメリットもあるわけで、メリットデメリットを考えて判断するべきですね。</p>

<p>個人的には、ニュースなどAMPに対応すると表示枠が増えるジャンル以外は、まだ様子見をするべきだと思います。先に言いましたパーマネントリンクの問題も今後の仕様改定で解決されるようですし、AMP関連の仕様はまだまだ進化を続けています。対応の工数も大きいですし、大きな利益が見込めないならもう少し仕様が固まってからでいいのではないでしょうか。</p>

<h2>パフォーマンス・スピードはSEOに影響しない！？</h2>

<p><strong>白石</strong>：パフォーマンススピードが高いサイトは評価するとGoogleが言ってますが、実際はどうでしょう？</p>

<p><strong>辻</strong>：実はそれ勘違いなんですね。Googleのウェブマスターブログでは、極めて遅い体験を提供しているサイトだけを落とすと言っています。昔行った以前の実験によると、読み込み速度が25秒以上かかるサイトはだいたい順位が落ちました。</p>

<p><strong>白石</strong>：辻さん、そんな実験もやってるんですね(笑)。</p>

<p><strong>辻</strong>：はい！どれだけ速くしてもランキングが上がることはなく、遅いサイトが落ちます。ただ、スピードを上げることはユーザーの行動が良くなります。結果的に順位が高くなることはあります。</p>

<p>個人的な経験では、サーバーの速度がある程度早ければ、さらにサーバ環境を向上してもユーザー体験は目に見えて変わらないですよね。それだと順位も変わりません。ただ、速度の実測値は変わらなくてもCSSの配慮などでサクサク動いているような感覚にしたほうがランキングが上がるんですよね。</p>

<p><strong>白石</strong>：ということは、本当の速度を見ているのではなく、Googleはユーザー体験の方を見ているということですね。</p>

<p><strong>辻</strong>：はい、良いユーザー体験を提供すれば順位が上がります。勘違いしてはいけないのは、速度改善でユーザー行動を良くするのは素晴らしいことなんです。</p>

<p><strong>白石</strong>：なるほど。ユーザーのためにやるのはいいことなのに、SEOのためにやるのは違うということですね。</p>

<p><strong>白石</strong>：最後はネイティブアプリのようなUXをWebページでも提供することができるProgressive Web Apps（PWA）について。プッシュ通知がWebサイトでできたり、ホームスクリーンにアイコンが出てアプリをダウンロードしてもらえたら、以降はアプリで作ってもらえるとか、クロスプラットフォームで対応できるなど便利な機能がいろいろある上に、SEOにもいいということで盛り上がっています。</p>

<p><img src="/wp-content/uploads/2018/03/DSC00046.jpg" alt="" width="640" height="427" class="alignnone size-full wp-image-25353" srcset="/wp-content/uploads/2018/03/DSC00046.jpg 640w, /wp-content/uploads/2018/03/DSC00046-300x200.jpg 300w, /wp-content/uploads/2018/03/DSC00046-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>辻</strong>：Googleはアプリ内のユーザの行動はあまり把握できていませんよね。ユーザーが自社アプリに流れた結果、メインサイトのユーザ行動が減って検索順位が落ちる影響は明らかにあります。そういう観点ではPWAはアプリより良いと考えています。</p>

<p><strong>白石</strong>：PWAが有望なのであれば、クロスプラットフォームでWebページからアプリ版も作れる。SEO効果もあるし、ゲーム仕様でなければ普通に作れるし、今後は全部PWAでいいんじゃないでしょうか。</p>

<p><strong>辻</strong>：PWAのニーズは高まっていくでしょうね。逆に、アプリ開発しかできない開発者はPWAによって活躍の場が減っていくかもしれません。</p>

<h2>「AI First」で変わるSEOの未来</h2>

<p><strong>白石</strong>：「AI First」という言葉をいままで使っていませんでしたが、未来の話もしたいですね。</p>

<p><strong>辻</strong>：Googleが公式でも「AI First」と言うようになってきましたね。プロダクトの全てにAIを入れ出しているので、今後AIでいろんな判断がされるようになっていくのが一番影響されるところです。</p>

<p><strong>白石</strong>：これまで、Googleがユーザー行動を見ているという話がたくさんありました。結局のところ、今までのクローラーが単純すぎたということで、普通の人間がページを見たときにいい印象を受けるかを判断をするようになる。人間の判断にどんどん近づいているということでしょうか。</p>

<p><strong>辻</strong>：その通りだと思います。その状況でSEOを考えると、GoogleのAIに上質な餌をどう与えていくかを意識することが大事になっていきます。</p>

<p><img src="/wp-content/uploads/2018/03/DSC00081.jpg" alt="" width="640" height="427" class="alignnone size-full wp-image-25354" srcset="/wp-content/uploads/2018/03/DSC00081.jpg 640w, /wp-content/uploads/2018/03/DSC00081-300x200.jpg 300w, /wp-content/uploads/2018/03/DSC00081-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><strong>白石</strong>：「餌付け」というのはユーザーに有益な情報を提供しようということですね。Googleに情報をあげるとAIが賢くなる。Googleはその先に何を作っていくのか考えちゃいますね。</p>

<p><strong>辻</strong>：そうですね。その先に過剰な怖さを感じている話もよく聞きますが、「Google怖い」は「電気怖い」と同じような話かなとも思っています。Googleを恐れるときは正しく恐れるべきだと言っておきたいです。</p>

<p><strong>白石</strong>：ただしく恐れろということですね。辻さんに大きな拍手をもって終わりにしたいと思います。ありがとうございました！</p>
]]></content:encoded>
		
		<series:name><![CDATA[Webの未来を語ろう 2018]]></series:name>
	</item>
		<item>
		<title>Webの過去から現在・未来まで！エバンジェリストたちが語る、最先端Web技術の世界</title>
		<link>/yoshikawa_t/25150/</link>
		<pubDate>Fri, 16 Mar 2018 01:00:13 +0000</pubDate>
		<dc:creator><![CDATA[吉川 徹]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PWA]]></category>
		<category><![CDATA[Web Authentication]]></category>
		<category><![CDATA[Web Payments]]></category>
		<category><![CDATA[Web Share API]]></category>
		<category><![CDATA[WebAssembly]]></category>
		<category><![CDATA[WebVR]]></category>
		<category><![CDATA[WebXR]]></category>

		<guid isPermaLink="false">/?p=25150</guid>
		<description><![CDATA[連載： Webの未来を語ろう 2018 (1)HTML5 Experts.jp 副編集長兼エキスパートの吉川です。昨年好評だった「Webの未来を語ろう」企画を2018年もやります！ 今回はパネルディスカッション形式で、H...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/future-of-web-2018/" class="series-496" title="Webの未来を語ろう 2018" data-wpel-link="internal">Webの未来を語ろう 2018</a> (1)</div><p>HTML5 Experts.jp 副編集長兼エキスパートの吉川です。昨年好評だった「Webの未来を語ろう」企画を2018年もやります！</p>

<p>今回はパネルディスカッション形式で、HTML5 Experts.jp 編集長の<a href="https://html5experts.jp/shumpei-shiraishi/" data-wpel-link="internal">白石</a>が、ブラウザベンダーのGoogleのデベロッパーアドボケイトの<a href="https://html5experts.jp/agektmr/" data-wpel-link="internal">えーじさん</a>、 Microsoftのエバンジェリスト<a href="https://html5experts.jp/osamum_ms/" data-wpel-link="internal">物江さん</a>をお迎えして、興味深いお話を多数お聞きしました。</p>

<p>会場も交えたトークは、今後のWeb業界の動向を追いかける上で、重要な内容となっているので、ぜひ読んでみてください！</p>

<p><img src="/wp-content/uploads/2018/02/IMG_5426.jpg" alt="" width="640" height="447" class="alignnone size-full wp-image-25186" srcset="/wp-content/uploads/2018/02/IMG_5426.jpg 640w, /wp-content/uploads/2018/02/IMG_5426-300x210.jpg 300w, /wp-content/uploads/2018/02/IMG_5426-207x145.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>2017年のWebで印象に残ったことは？</h2>

<p><b>白石</b>: まずは簡単な自己紹介と、2017年のWebで印象に残ったことを教えてください。</p>

<p><b>えーじ</b>: えーじです。Googleでデベロッパーアドボケイトをしています。もともとは、Google Chromeのアドボケイトという位置付けでしたが、最近はもっと広くなって、Web全体のアドボケイトを担当しています。
特にChromeだけの話に限らず、Web全般について話をしていますね。これには、我々のチームの理想として、<strong>Webすべてに貢献していこう</strong>という想いがあります。</p>

<p>2017年で印象に残ったことは、<strong>SafariがService WorkerとPayment Requestに対応すると表明したことがすごく意義深い</strong>と思っています。</p>

<p><b>物江</b>: 物江と申します。Microsoftでエバンジェリストをしています。以前はWebに軸足を置いていたんですが、現在はWebだけに限らずISV(Individual Software Vendor)、独立してサービスや製品を提供しているパートナーさん向けに様々な技術の啓発を行なっています。Webについては、個人的なものも含めていろいろ活動しています。</p>

<p>2017年に印象に残ったことは、<strong>WebAssemblyやPWA（Progressive Web Apps）などについて、ブラウザベンダーがきちんと足並みを揃えて、仕様を策定するようになった</strong>ということですね。非常にいい流れになってきていると思います。</p>

<p><img src="/wp-content/uploads/2018/02/IMG_5445.jpg" alt="" width="640" height="447" class="alignnone size-full wp-image-25188" srcset="/wp-content/uploads/2018/02/IMG_5445.jpg 640w, /wp-content/uploads/2018/02/IMG_5445-300x210.jpg 300w, /wp-content/uploads/2018/02/IMG_5445-207x145.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br><span style="font-size: 90%;">▲<strong>左から、日本マイクロソフト株式会社 物江修さん、Google デベロッパーアドボケイト えーじさん</strong></span></p>

<p><b>白石</b>: 皆さん、ありがとうございます。ついでに私の2017年で印象に残ったこともお話ししておくと、個人的には<a href="https://dev.to/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">dev.to</a>や日本経済新聞社の<a href="https://www.nikkei.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">日経電子版</a>が爆速だったという、そういう事例が出てきたのは印象的だったなと思います。裏側でHTML5やWebの最先端技術とか、そういったものを使って1段階上のレベルの速さを実現している。</p>

<p>Webプラットフォームベンダーやコミュニティの皆さんの啓蒙活動などもあって、PWAをはじめとしたWeb技術だとかパフォーマンスだとかが、ビジネス上も重要であるというところも浸透してきている。その結果として、Webプラットフォームの機能がフル活用されつつ、パフォーマンスというところに影響がでた良い例かなと。</p>

<p>今回は、Webの過去・現在・そして未来を語るという構成で進めてみたいと思います。</p>

<h2>イントロダクション:HTML5は世界を変えたのか？</h2>

<p><b>白石</b>: 2017年以前のWebを振り返ると、ブラウザ戦争などの分断化があって、そこからHTML5のムーブメントが起こり、Webの様々な仕様が生まれてブラウザに実装されました。</p>

<p>ただ、<strong>それら「HTML5」のムーブメントは世界を変えたんでしょうか？</strong>
これまであまり、そういう振り返りをしたことがなかったので、一度やってみたいなと思っていたんです。お二人はどうお考えですか？</p>

<p><b>物江</b>: そうですね、一般ユーザーの目からすると、確かにあまり変わっていないかもしれません。例えば、YouTubeのプレイヤーは、FlashからHTML5になりましたけど、変わったって気がつく人はあまりいませんよね。普通の人は、きっとまったく意識せずに使っている。HTML5でできたことは、とっくにFlashでもできていたわけで。</p>

<p>でも、開発者にとっては大きな変化がありましたよね。結局、開発者はみなHTML5を使っています。これはなぜかというと、HTML5がシンプルだからこそだと思うんですよ。</p>

<p>エキスパートの<a href="https://html5experts.jp/takehora/" data-wpel-link="internal">竹洞さん</a>がいいことを言っていたんですけど、Webが素晴らしく進化したのはKISSの原則(*1)のおかげといっていました。つまり、誰でも簡単に使えるからこそ普及した。わざわざFlashを使わなくても、Web標準技術だけを使えばいろんなことができるようになった。それによって作り手側の裾野が広がって、以前よりもリッチなコンテンツがたくさん出るようになってきたのかなと思います。</p>

<p>*1 … &#8220;Keep it simple, stupid&#8221; （シンプルにしておけ！この間抜け）、もしくは、&#8221;Keep it short and simple&#8221; （簡潔に単純にしておけ）という経験的な原則の略語。<a href="https://ja.wikipedia.org/wiki/KISS%E3%81%AE%E5%8E%9F%E5%89%87" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Wikipedia</a></p>

<p><img src="/wp-content/uploads/2018/02/IMG_5433.jpg" alt="" width="640" height="422" class="alignnone size-full wp-image-25189" srcset="/wp-content/uploads/2018/02/IMG_5433.jpg 640w, /wp-content/uploads/2018/02/IMG_5433-300x198.jpg 300w, /wp-content/uploads/2018/02/IMG_5433-207x136.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><b>えーじ</b>: ぼくも、世界は変わったと思います。やっぱりHTML5でWebを変えようっていうムーブメントがあったこと、それ自体が良かったと思うんですよね。良い意味でのブラウザ間の競争が起きて、どんどん新しい提案がなされて、共通して使えるものがどんどん生まれていった。</p>

<p>ちゃんと数えたことないですが、HTML5の機能でみんな当たり前に使うようになったものっていっぱいあると思うんですよ。例えば、CSS3で角丸を使うっていうのももう当たり前にみんなやっているし、それが動かないブラウザはほぼ、ない。そういうものが当たり前に使えるようになったっていうのは、一昔前からすると全然状況は異なっている。そういう意味では、相当変わったと思います。</p>

<p><b>白石</b>: そういえば、元Mozilla Japanの浅井智也さんに以前教えてもらったんですが、Web関連技術を全部まとめた図があるんです。これ、曼荼羅図みたいな感じなので、「Web曼荼羅」なんて呼ばれているそうです(笑)。</p>

<p>HTML5とその関連技術（<a href="https://dynamis.github.io/webapi.link/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">webapi.link</a>）
<img src="/wp-content/uploads/2018/01/webtechnologies.jpg" alt="" width="640" height="360" class="aligncenter size-full wp-image-25159" srcset="/wp-content/uploads/2018/01/webtechnologies.jpg 640w, /wp-content/uploads/2018/01/webtechnologies-300x169.jpg 300w, /wp-content/uploads/2018/01/webtechnologies-207x116.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>こうして考えると、HTML5のムーブメントはたくさんのものを生み出しましたねえ。一般のユーザーからはあまり変わってないように見えても、「それは時間をかけて変わっているから」という面もありそうですね。</p>

<p><b>えーじ</b>: はい、そして、これだけのものがたくさん生み出された結果、Webはアプリケーションプラットフォームになった。それが、HTML5以前との大きな違いだと思いますね。</p>

<h2>Webは難しすぎる─Webプラットフォームの現状と課題</h2>

<p><b>白石</b>: では、iOSやAndroidといった他のプラットフォームとWebプラットフォームとを比較すると、Webはどういう立ち位置にあるとお考えですか？</p>

<p><b>物江</b>: Webプラットフォームは時間をかけてここまで成熟してきました。機能的な面では、他のプラットフォームにもひけをとらないというところまで来たんじゃないかと思います。</p>

<p>そして今、Progressive Web Apps (PWA)が浸透しつつあることが、今後のWebにとってはすごく意義のあることだと思っています。
<strong>PWAって、ある意味ひとつの理想の到達点だと思う</strong>んですよね。Javaなどが理想に掲げていた「Write Once, Run Anywhere」を、PWAは真の意味で実現するわけです。
これ、次のWindowsの大型アップデートでPWAがデスクトップアプリっぽく動いだり、Windowsストアからインストールできるように<a href="https://blogs.windows.com/msedgedev/2018/02/06/welcoming-progressive-web-apps-edge-windows-10/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">なる</a>から言っているわけじゃないですよ(笑)。</p>

<p><b>白石</b>: そこでいつも言われているのが、Webアプリって動作が遅いんじゃないかってことですよね。</p>

<p><img src="/wp-content/uploads/2018/02/DSC09045.jpg" alt="" width="640" height="408" class="alignnone size-full wp-image-25192" srcset="/wp-content/uploads/2018/02/DSC09045.jpg 640w, /wp-content/uploads/2018/02/DSC09045-300x191.jpg 300w, /wp-content/uploads/2018/02/DSC09045-207x132.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><b>物江</b>: ただ、そうした問題についても、Webプラットフォームは長いこと取り組んでいて、もはやあまり問題にならないレベルじゃないかと思います。
ブラウザの実装という面でも、仕様の面でも、絶え間ない改善が続けられてきました。</p>

<p>仕様の面でそうした部分について期待できるのは、やはりWebAssemblyですね（筆者注: ブラウザが高速に実行可能な、ポータブルなバイナリ形式）。
昨年、モダンブラウザが同時にWebAssemblyのサポートを表明するということがありましたが、これでWebの速度はまた一段階アップすることが期待できます。</p>

<p>あとはやはりハードウェアの進歩が解決するものも多いでしょう。ちなみに、今のWeb技術の素晴らしいところは、ハードの性能に縛られた設計をしていないこと、どこでも同じWeb技術が動作することだとも思います。</p>

<p>例えば昔、貧弱だった携帯電話の機能に合わせた仕様で、HDMLやCHTMLというモバイル専門のタグがありましたが、今はもうほとんど残っていません。結局、性能に関わる問題は時間が解決してしまう部分も大きいんです。いま大切なことは、「いかに人間が作りやすいか、使いやすいか」が重要になってくるかなと思います。</p>

<p><b>えーじ</b>: ぼくも、パフォーマンス面は既にあまり課題とは考えていません。それよりぼくが課題だと感じているのは、開発者にとってのWeb技術はかなり複雑になってしまっていることです。</p>

<p>例えば「Extensible Web」というのを聞いたことがある方がいらっしゃると思います。これはWebの技術設計に対する、ここ数年における指針のようなもので、具体的には「標準としては、ユースケースを規定しない低レベル（低レイヤー）なAPIを提供する」というものです。</p>

<p>そうすることで、そうしたAPIを使用したハイレベルなライブラリだとかベストプラクティスが、開発者の手によって作られることを期待する。こうすることで、「ハイレベルだけど使われないAPI」が標準で規定されてしまうという問題を解決しようとしています。</p>

<p><img src="/wp-content/uploads/2018/02/DSC09086.jpg" alt="" width="640" height="423" class="alignnone size-full wp-image-25190" srcset="/wp-content/uploads/2018/02/DSC09086.jpg 640w, /wp-content/uploads/2018/02/DSC09086-300x198.jpg 300w, /wp-content/uploads/2018/02/DSC09086-207x137.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>ただ今は過渡期なので、低レベルなAPIがどんどん増え、ライブラリも量産されていて、はっきり言って混沌としています。例えばService Workerもすごく低レベルなAPIで、実際に使うとなるとなかなか難しい。</p>

<p>そこにGoogleが<a href="https://workboxjs.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Workbox</a>というライブラリを出していたりするんですが、それを使うと簡単にServiceWorkerを使える一方で、ServiceWorkerもライブラリもどちらも学ばなくてはならない。</p>

<p>これがWeb Componentsなんかだと、仕様そのものがどんどん変わっていて、なかなか安定しない。<a href="https://www.polymer-project.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Polymer</a>というライブラリを使おうにも、Polymerも仕様に合わせてどんどん変わっている。どの時点の仕様が正しいのか、検索したときにどれが最新なのかわかりづらい。そういうところが複雑で、開発者はみな苦労してるんじゃないかなと思います。</p>

<p>個人的には、以前Webpackにやられたことがありまして(笑) 。将来的にはES Modulesが広まれば、そういうビルドプロセスを経なくてもうまく動くようになるんだと思うんですが、今は過渡期として、やっぱりGulpなりWebpackなりRollupなりを使う必要がある。</p>

<p>ビルドツールも次々に生まれるし、フレームワークもそう。フレームワークとビルドツール、様々なライブラリも組み合わせなくちゃならないし、ベストプラクティスが簡単にはわからない。その辺がかなり複雑になっているなと感じています。</p>

<h2>各ブラウザベンダーのこれからの動向は？</h2>

<p><b>白石</b>: 
皆さんご自身の会社の立場からお聞きしたいなと思うんですけど、ブラウザベンダー各社がどういう想いで、どういう方向を向いて実装しているのかをお聞かせください。</p>

<p><b>えーじ</b>: 
会社（Google）としての方向性はもちろんですが、チーム内でWebに関する課題を共有して、その解決策を探ることは普段から行っています。</p>

<p>例えば、先ほど挙がっていたパフォーマンスを例に挙げましょう。</p>

<p>実はJavaScriptのパフォーマンスって、もうあまり問題にならなくなっているんです。むしろ悪いのはレンダリングの部分で、そこを速くするための努力はずっと続けています。</p>

<p>あと、ネットワークの遅延もすごく大きい要因なので、ServiceWorkerみたいな仕様を提供することで、スピードの課題に開発者自身が取り組みやすくする。</p>

<p>さらに、パフォーマンスに関するベストプラクティスを開発者の皆さんと共有するのも重要です。</p>

<p>このように、課題一つとってもたくさんのアプローチがある。こういう活動を、チーム一丸となって同時に取り組んでいるという状態ですね。</p>

<p><img src="/wp-content/uploads/2018/02/IMG_5473.jpg" alt="" width="640" height="417" class="alignnone size-full wp-image-25194" srcset="/wp-content/uploads/2018/02/IMG_5473.jpg 640w, /wp-content/uploads/2018/02/IMG_5473-300x195.jpg 300w, /wp-content/uploads/2018/02/IMG_5473-207x135.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><b>白石</b>: 
なるほど。ちなみにGoogleの中で、「今のWebはこういう課題があるね」みたいな、そういう話し合いっていうのはよくされるんですか？どんな議論がされてるのか興味があります。</p>

<p><b>えーじ</b>: 
はい、常にやってますね。世界中から集ってきた情報を、雑談ベースでやり取りするような感じです。</p>

<p>例えばこれからGoogleがインドでももっと使われるようにするためには、インドの市場を考えなきゃいけない。しかしインドは全然違う世界だと。</p>

<p>例えばネットワークにしても、今われわれが4Gは当たり前に使ってますけど、向こうの世界は2Gなんです。3Gですらない。なのに、何MBっていうファイルをダウンロードしないと見れないサイトっていうのはざらにあるわけですよ。そういったネットワーク環境の悪いところに対して、開発者の皆さんがサービスを提供しようと思った時にどうするのか。そういう課題がインドに進出しようと思っているチームから上がってきたりします。</p>

<p>他には例えば最近は、アクセシビリティにもかなり力を入れていたりもしますね。アクセシビリティに強く関心のある人たちがチームに入ったことで、Webのアクセシビリティをもっと良くするための話し合いや仕様の提案なども活発に行なっています。</p>

<p><b>物江</b>: 
Microsoft Edgeは、相互運用性とセキュリティ、アクセシビリティとパフォーマンスの4つが何においても優先されています。</p>

<p>例えば相互運用性でいうと、 <code>-webkit-text-stroke</code> というベンダープリフィックスがあります。これ、以前はWebKit系のブラウザでしか動かなかったんですが、現在はEdgeでも開発中なんです。多くのサイトで使われているような機能については、全部同じように動くようにするというのを優先的にやっています。</p>

<p>アクセシビリティに関しては、画面に表示されるすべてのテキストについて、スクリーンリーダーのような外部のプログラムを呼び出せるような仕組みが、WindowsにはOSレベルで入っています。それを使って、アクセシビリティを強化するような仕組みがEdgeに入っていたりしますね。</p>

<p>パフォーマンスについては、Chakra（EdgeのJavaScriptエンジン）のパフォーマンスアップを継続的に行っています。特に、こないだのアップデートでようやくブラウザ内部のリファクタリングが終わったようで、Edgeが出た頃からのパフォーマンスでいうと、3～4倍速くなってます。</p>

<p><img src="/wp-content/uploads/2018/02/IMG_5440.jpg" alt="" width="640" height="428" class="alignnone size-full wp-image-25195" srcset="/wp-content/uploads/2018/02/IMG_5440.jpg 640w, /wp-content/uploads/2018/02/IMG_5440-300x201.jpg 300w, /wp-content/uploads/2018/02/IMG_5440-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><b>白石</b>: 
リファクタリングっていうのは、Internet Explorerから引きずっているコードがかなりあるのを書き直すって話ですよね。それが行われているって話はだいぶ前に聞いていましたが、ついに終わったんですね。</p>

<p><b>物江</b>: 
はい、ほぼ全部終わったんじゃないかと。もともとEdgeのレンダリングエンジンってTrident（IEのレンダリングエンジン）から派生したものなので、20年以上前のものということで、根っこの部分で仕様が古い部分があったんですよ。その修正がようやく終わったという感じです。これから先は、Edgeの開発はどんどん加速していくんじゃないかと期待しています。</p>

<p>あとは、やはり2000年代と比較すると、ユーザーの意見をより開発に取り入れようという姿勢が顕著になったかと思います。Windowsをお使いの方はわかると思うんですが、<a href="https://www.microsoft.com/ja-jp/store/p/%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF-hub/9nblggh4r32n" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">フィードバックHub</a>というのがありまして、そこでバグの報告だとか、追加してほしい機能をリクエストできるんですよ。そのリクエストのベット数が多いと優先度があがっていって、対応されるというようになっています。</p>

<p><small></p>

<p>各種ブラウザのステータスが確認できるサイト</p>

<ul>
<li><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/status/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Microsoft Edge</a></li>
<li><a href="https://www.chromestatus.com/features" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome</a></li>
<li><a href="https://webkit.org/status/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Webkit</a></li>
</ul>

<p></small></p>

<h2>注目のWeb最新技術を一挙に解説！Web Payments、WebVR、AMP、PWA、WebAssembly&#8230;</h2>

<p><b>白石</b>: 
ではここからは、注目のWeb最新技術についていろいろお聞きしたいと思います。Web Payments、WebVR、AMP、PWA、WebAssemblyなどなど、仕様ごとに概要と現状をお話しください。</p>

<h3>Web Payments</h3>

<p><b>えーじ</b>: 
今までWebでお金を払うといったら、フォームを使ってクレジットカード番号を入れたりとか、どこかのサイトに飛んで、そこのサイトにあらかじめ保存してある支払い情報を使うといったことがほとんどだったと思います。Web Paymentsを使うと、ブラウザがネイティブで表示してくれるUIを使って支払いができるようになるというのが大きな特徴ですね。ちょっと見てもらうと、<a href="https://polykart.store/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">PolyCart</a>というWeb Paymentsのデモサイトで確認することができます。</p>

<p><strong>Web Paymentsのデモサイト（PolyCart）</strong>
<img src="/wp-content/uploads/2018/01/a6667251245e38bfbcf2b1aaac09926a.png" alt="" width="640" height="521" class="aligncenter size-full wp-image-25171" srcset="/wp-content/uploads/2018/01/a6667251245e38bfbcf2b1aaac09926a.png 640w, /wp-content/uploads/2018/01/a6667251245e38bfbcf2b1aaac09926a-300x244.png 300w, /wp-content/uploads/2018/01/a6667251245e38bfbcf2b1aaac09926a-207x169.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>ブラウザネイティブのUIを通じてクレジットカードの情報や、配送先、連絡先などの入力を促すことができます。そうして入力された情報はブラウザが記憶してくれるので、次からはクリックするだけで支払い情報を入力することができます。</p>

<p>もっとすごいのは、将来的には支払い方法を追加できるようになるんです。例えば、Apple PayやGoogle Payで支払うのも可能ですし、仮想通貨なども使えるようになるでしょう。</p>

<h3>WebVR</h3>

<p><b>物江</b>: 
以前から、「Web上でVRコンテンツを表示する」っていうのは、Three.jsなどを使って実現が可能でした。ではWebVRは何が違うかというとVRデバイスからのフィードバックを受けることができるんです。これによって、VRデバイスと深く連動したWebサイトを作ることができます。</p>

<p>それにWindows10だと、ネイティブでVRの環境をサポートしていて、WebVRに対応したWebサイトにいくと、自動的にVRゴーグル上で全画面表示してくれるようになっています。VRのビデオもそのまま見ることができるので、真の意味でシームレスにVRのコンテンツが提供できるようになっています。</p>

<p>個人的に楽しみなのは、VRをきっかけとして新しいUIが生まれてくることですね。既存のVRゴーグルを使ったことがある人はわかると思うんですけど、キーボードもマウスも何も使えないんです。そうすると新しいUIを考える必要があって、そこに新しい可能性を感じています。</p>

<p><b>えーじ</b>: 
ちなみに最近は<a href="https://github.com/mozilla/webxr-api" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WebXR</a>っていうらしいですね。VR、AR、MRをコンセプトに入れた仕様を作ろうとしているという動きもありますね。</p>

<h3>AMP</h3>

<p><b>白石</b>: 
次はAMPですが、これについては既にたくさんの方がご存知でしょうから、簡潔に。主にモバイル環境で、Webページを素早く表示できるようにするための、HTMLのサブセットですね。</p>

<p><b>えーじ</b>: 
AMPの仕様自体もさることながら、AMPが基本的にWeb Componentsでできているのは興味深いです。Web Componentsの仕組みを使って独自のエレメントを定義していて、なおかつパフォーマンスも追求しているので、結果としてパフォーマンスのベストプラクティスの塊をWeb Components化したものになっている。大変面白いと思います。</p>

<h3>Progressive Web Apps</h3>

<p><b>白石</b>:
次は、恐らく今年最大の注目キーワードProgressive Web Appsですね。これは（ずっと啓蒙してきた）えーじさんに語っていただくしかないでしょう。</p>

<p><b>えーじ</b>: 
はい。とはいえPWAという言葉自体は、皆さんに意識してもらいやすくするためのマーケティング用語のようなもので、技術的な観点からはそれ自体意味がないと思っています。実際の中身はService WorkerだったりとかPush Notificationだったりとかそういう具体的な機能やAPIから構成されています。</p>

<p>日本でも、昨年後半くらいからPWAが注目されはじめました。さっきのdev.toとか日経電子版とかも、PWAの構成要素を利用することで高速化が実現できたと。PWAの中のひとつひとつの技術要素をうまく使うとここまで速くできるんだよ、といういい例ができたなと思っています。</p>

<p><img src="/wp-content/uploads/2018/02/DSC09088.jpg" alt="" width="640" height="412" class="alignnone size-full wp-image-25196" srcset="/wp-content/uploads/2018/02/DSC09088.jpg 640w, /wp-content/uploads/2018/02/DSC09088-300x193.jpg 300w, /wp-content/uploads/2018/02/DSC09088-207x133.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><b>白石</b>: 
ちなみに、個人的にはPWAっていまいち意味がわからないな、と思ってて。なにが「プログレッシブ」なんでしょうか？プログレッシブって、「だんだん（進化する）」って意味ですよね。</p>

<p><b>えーじ</b>: 
PWAにおける「プログレッシブ」には2つ意味があります。</p>

<p>1つは昔から言われているプログレッシブ・エンハンスメントです。古いブラウザでも見ることができる基本的なWebサイトをまずは作って、そこに、新しいブラウザで使える機能を足していくという考え方。そうすれば、クライアントの環境を最大限活かすことができます。</p>

<p><b>白石</b>: 
では、Service Workerが使えるブラウザだったらオフラインという機能が使えるけど、そういう機能が使えないブラウザにも同等のものを提供する。既存のサイトにあとからその機能を提供することも割と簡単にできますよっていうそういう思いを込めたものということですね。</p>

<p><b>えーじ</b>: そうです。もう1つが、今あるサイトに機能を付け加えていくことで、徐々にPWAに近づけていけるという意味です。PWAのためにサイトを一から作り直すとか、大幅な改修を行う必要はない。既存のサイトを徐々に拡張していけばいいんです。</p>

<p><b>白石</b>: 
なるほど、そういう意味合いだったんですね。ちなみにPWAの中では、Service Workerが代表的なAPIですよね。他には<a href="https://developers.google.com/web/fundamentals/web-app-manifest/?hl=ja" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web App Manifest</a>とか、<a href="https://developers.google.com/web/fundamentals/codelabs/push-notifications/?hl=ja" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Push Notification</a>とかでしょうか。</p>

<p><b>えーじ</b>: 
そうですね。ちなみに、PWAのウリの一つに、OSのホーム画面にアイコンを追加できるというのがあるんですが、以前はただのWebアプリへのショートカットでした。でも今は違います。PWAをホーム画面に置く際、アプリのパッケージを動的に生成してインストールするので、OS上の扱いはネイティブアプリとほとんど変わりないんです。なので、プッシュ通知のオン／オフをアプリごとに設定できたり、ネイティブアプリでしかできなかったことがPWAでも同様に行えます。</p>

<h3>WebAssembly</h3>

<p><b>白石</b>: 
次はWebAssembly、物江さんご説明お願いします。</p>

<p><b>物江</b>: 
WebAssemblyは、Webブラウザ上で非常に高速に動作させることができる、デバイスに依存しないバイナリ形式です。現在は用途がある程度限られていて、DOMを操作することなどはできませんが、CPU依存の計算処理などは極めて高速に動作させることができます。
<a href="https://developer.mozilla.org/ja/docs/Mozilla/Projects/Emscripten" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Emscripten</a>などのツールを使うと、C/C++で作られたものをWebAssemblyに変換できるので、C/C++で書かれたゲームなどをWebAssemblyに移植することも比較的容易です。また現在はまだ開発中ではありますが、MonoがC#からWebAssemblyをコンパイルする<a href="https://github.com/lrz/mono-wasm" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">mono-wasm</a>であったり、マイクロソフトも実験プロジェクトとしてWebAssemblyを介してWebブラウザー上でC#とRazorを走らせるWeb UI framework  <a href="https://blogs.msdn.microsoft.com/webdev/2018/02/06/blazor-experimental-project/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Blazor</a>を開発していたりします。</p>

<p><img src="/wp-content/uploads/2018/02/IMG_5499.jpg" alt="" width="640" height="387" class="alignnone size-full wp-image-25198" srcset="/wp-content/uploads/2018/02/IMG_5499.jpg 640w, /wp-content/uploads/2018/02/IMG_5499-300x181.jpg 300w, /wp-content/uploads/2018/02/IMG_5499-207x125.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>（ここで会場からエキスパートである<a href="https://html5experts.jp/technohippy/" data-wpel-link="internal">あんどうやすしさん</a>から質問）</p>

<p><b>あんどうやすし</b>: 
現在のWebAssemblyって結局計算することしかできないじゃないですか、DOMもいじれないし、JavaScriptのAPI呼び出しも直接は行えない。今後もそれは変わらないんでしょうか。特にデータの渡し方に結構制限があって、使い勝手がいいものにするには難しいなと感じています。SharedArrayBufferという仕組みで一次元配列の共有はありますが、それも使いづらいし…。</p>

<p><b>物江</b>: 
それは、今の段階ではまだなんとも言えないですね。</p>

<p><b>えーじ</b>: 
ちなみにSharedArrayBufferはこないだのメルトダウンとスペクター(*2)の影響で機能が停止になります。</p>

<p><b>白石</b>: 
ありゃ、まさかそんなところにまで影響及ぶとは…(笑)。</p>

<p>*2 … CPUでの投機的実行という高速化プロセスを悪用した脆弱性</p>

<h3>Web Share API</h3>

<p><b>白石</b>: 
他には、注目のAPIとかはありますか？</p>

<p><b>えーじ</b>: 
最近追加されようとしている新しい機能に<a href="https://developers.google.com/web/updates/2016/09/navigator-share" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Share API</a>というのがあります。</p>

<p>Androidのインテントをご存知の方だったらすぐ分かる機能ですが、例えばあるサイトを「FacebookやTwitterでシェアしたい」という場合に、Web Share APIを使うと簡単に外部アプリを呼び出すことができます。</p>

<p>逆に、自身のWebアプリを「シェアする先のアプリ」として使ってもらうようにすることもできます。それが<a href="https://github.com/WICG/web-share-target" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Share Target API</a>というものです。</p>

<p>Web Share APIは既に使えるんですが、Web Share Target APIは、現在限られたサービスにしか開放されていません。このように、Chrome では一部のドメインに先行してWebプラットフォームの機能を試してもらうオリジントライアルというものをやっているのですが、現在TwitterのモバイルサイトがWeb Share Target APIを使えるようになっています。<a href="https://mobile.twitter.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">mobile.twitter.com</a>で実際に試すことができますので、TwitterのPWAをまだ試したことがない方は、AndroidのChrome betaチャネルか、devチャネルを使ってインストールしてみてください。何かシェアしようとしたときに、TwitterのPWAが候補として出てきます。</p>

<h3>Web Authentication</h3>

<p><b>白石</b>: 
Web Authenticationというのもあると聞きました。</p>

<p><b>えーじ</b>: 
Web Authenticationは、実はEdgeでもう使えるんです。仕様がちょっと古いので、APIが全く異なりますが、<a href="https://github.com/MicrosoftEdge/webauthn-polyfill/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Polyfill</a>もあります。Web Authenticationをひとことでいうと、セキュリティキーなどを用いた多要素認証を標準技術で扱えるようにするものです。顔認証や指紋認証と組み合わせれば、安全性の高いログインの敷居はぐっと下がると思います。</p>

<p><b>物江</b>: 
<a href="https://fidoalliance.org/?lang=ja" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">FIDO Alliance</a>という標準化団体があるんですけど、そこで生体認証などのもっと広い話をしています。既にWindowsだとWindows Helloという生体認証の仕組みがFIDOの標準で作られていますね。</p>

<p><b>えーじ</b>: 
FIDOのWeb版がWeb Authenticationになるわけです。Web Authenticationの実装はこれからどんどん出てくるでしょう。Mozillaさんもこないだ実装を開始しましたし、Chromeもそろそろ入ってくるのかなと思います。</p>

<p><b>白石</b>: 
そうすると、もしかしたら今年はWebサイトで指紋認証とか顔認証とかが一般的になってくるという可能性があるってことですかね。</p>

<p><b>えーじ</b>: 
そうですね。どの認証方式を使えるようにするかっていうのは、順番に1つずつ入れていくという話らしいので、まずはセキュリティーキーから利用できるようになって、そのうちNFC、指紋認証ができるようになっていくようです。徐々にそういったものが実装されていけば、本当にパスワードを覚えなくてもいい世界っていうのが実現できるかもしれないので、すごく楽しみにしています。</p>

<p>ちなみに、<a href="https://developers.google.com/web/fundamentals/security/credential-management/?hl=ja" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Credential Management API</a>というIDとパスワード、いわゆる共通鍵認証をする仕様があるんですが、それとAPIのネームスペースが同じになるので、共通のAPIを使うことになります。まったく別々だった仕様が一緒になるというのも個人的には面白いと感じています。</p>

<p><img src="/wp-content/uploads/2018/02/IMG_5443.jpg" alt="" width="640" height="413" class="alignnone size-full wp-image-25199" srcset="/wp-content/uploads/2018/02/IMG_5443.jpg 640w, /wp-content/uploads/2018/02/IMG_5443-300x194.jpg 300w, /wp-content/uploads/2018/02/IMG_5443-207x134.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>エキスパートたちが見据えるWebの未来について</h2>

<p><b>白石</b>: 
最後にWebの今後について感じていることをお聞かせください。</p>

<p><b>えーじ</b>: 
ぼくらブラウザベンダーは、「こうなるといいな」というものをいろいろ作ってるんですけど、それはブラウザベンダーが勝手にやってるわけじゃなくて、開発者の皆さんの声とか、こういうWebがいいという声をもとにやっているので、フィードバックをできるだけいただいたほうが、より皆さんの理想としているWebができると思っています。</p>

<p>フィードバック方法にも今はいろいろあって、GitHub上で管理されている仕様にIssueを立てるっていうのも一つの方法ですし、一番簡単な方法です。それすらめんどくさいということであれば、ぼくに直接言っていただくとかでも構いません(笑)。そんな感じで、開発者の皆さんと一緒にWebを盛り上げていけたらいいなと思います。</p>

<p><b>物江</b>: 
個人的な思いとしては、今非常にWebって良い方向に進んでいると思っています。（お互いを傷つけ合うような）ブラウザ戦争は終わりました。今は良い意味でお互いに競争し合ったり、歩調を合わせてWebを良いものにしていこうという動きが主流になりつつ会って、とても好ましく感じています。今後もそれが続いていって、Webのテクノロジーの活用範囲が広がればいいなと思っています。</p>

<p><b>白石</b>: 
皆さん、本日は様々なお話をお聞かせいただき、ありがとうございました！</p>
]]></content:encoded>
		
		<series:name><![CDATA[Webの未来を語ろう 2018]]></series:name>
	</item>
		<item>
		<title>AMPの気になること全部、Googleの山口さんに聞いてきました！</title>
		<link>/shumpei-shiraishi/24795/</link>
		<pubDate>Wed, 10 Jan 2018 01:00:36 +0000</pubDate>
		<dc:creator><![CDATA[白石 俊平]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[AMP]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">/?p=24795</guid>
		<description><![CDATA[連載： HTML5 Conference 2017特集 (15)こんにちは、編集長の白石です。 この記事は、9月24日に開催されたHTML5 Conference 2017に登壇したエキスパートに、お話されたセッションの...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conf2017/" class="series-457" title="HTML5 Conference 2017特集" data-wpel-link="internal">HTML5 Conference 2017特集</a> (15)</div><p>こんにちは、編集長の白石です。</p>

<p>この記事は、9月24日に開催された<a href="http://events.html5j.org/conference/2017/9/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Conference 2017</a>に登壇したエキスパートに、お話されたセッションのトピックを中心に、様々なお話を伺おうというものです。セッションの内容をより深く理解する手助けになるだけでなく、本記事単体でも面白く読んでいただけることを目指しています。</p>

<p>今回お話を伺ったのは、Googleの山口能迪（やまぐち・よしふみ）さんです。</p>

<p><img src="/wp-content/uploads/2017/12/42A4653.jpg" alt="" width="640" height="403" class="alignnone size-full wp-image-24929" srcset="/wp-content/uploads/2017/12/42A4653.jpg 640w, /wp-content/uploads/2017/12/42A4653-300x189.jpg 300w, /wp-content/uploads/2017/12/42A4653-207x130.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>山口さんのセッションは「<a href="http://events.html5j.org/conference/2017/9/session/#c3" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AMPで加速するモバイルウェブアプリケーション</a>」でした。</p>

<p>スライド資料はこちらで公開されています。</p>

<p><a href="https://docs.google.com/presentation/d/1ZYyHFRMZnD6bfi6fl9yh9G_TIs3roSxvp-Goa1JZv_c/htmlpresent" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">https://docs.google.com/presentation/d/1ZYyHFRMZnD6bfi6fl9yh9G_TIs3roSxvp-Goa1JZv_c/htmlpresent</a></p>

<h2>AMPとは何か？なぜ必要とされたか？</h2>

<p><b class="speaker siraisi">白石:</b> 今日はよろしくお願いします。まずは簡単に自己紹介をお願いできますか？</p>

<p><b class="speaker yamaguchi">山口:</b> Googleでパートナー・デベロッパー・リレーションを担当している山口です。私の役目は特定の技術にとらわれず、最新の技術を広めていき、採用事例を増やすことです。</p>

<p><b class="speaker siraisi">白石:</b> 最新技術って、Googleさんすごい数出すから大変ですね(笑)。</p>

<p><b class="speaker yamaguchi">山口:</b> そうなんですよ(笑)。</p>

<p><b class="speaker siraisi">白石:</b> では、早速本題に入っていきたいと思います。AMPについてご存じない方のために、軽く説明をお願いできますでしょうか？</p>

<p><b class="speaker yamaguchi">山口:</b> AMPとはAccelerated Mobile Pagesの略で、高速にWebページを表示するための技術です（参考: <a href="https://www.ampproject.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AMPの公式サイト</a>）。</p>

<p>現在のWebは、低速なインターネット上で、モバイルデバイスを用いた利用が非常に多くなっています。特に東南アジア、インドやアフリカ、中国、南米などでその傾向は顕著です。</p>

<p>そういう環境でもWebページをストレスなく閲覧できるよう、Web標準に則った形で、出来る限り高速にWebページを表示できるようにするための技術がAMPです。</p>

<p><b class="speaker siraisi">白石:</b> なぜAMPは速いのですか？</p>

<p><b class="speaker yamaguchi">山口:</b> AMPは速いというよりも、「遅くなる要素を排除している」と言ったほうが正しいと思います。AMPは主に静的で文字中心のコンテンツを配信することを主眼に、HTML5でできることを相当絞り込んだ仕様です。その仕様に則ったHTMLページだけが、妥当なAMP対応ページとして扱われます。</p>

<p>そうした制限のおかげでページサイズも小さくなり、ブラウザによるレンダリングも高速に行われるというわけです。</p>

<p><b class="speaker siraisi">白石:</b> 具体的には、どのような制限がかけられているのでしょうか？</p>

<p><b class="speaker yamaguchi">山口:</b> 例えば、標準のimg要素やvideo要素は使用できず、すべて<code>&lt;amp-img&gt;</code>や<code>&lt;amp-video&gt;</code>と言ったカスタムタグに置き換える必要があります。こうした要素を使うことで、全ての画像や動画が遅延表示され、また、画面に表示されない間はダウンロードされなくなります。</p>

<p>CSSは外部CSSもstyle属性も使用することができません。全てHTML内に<code>&lt;style&gt;</code>を用いてインラインで記述しなくてはなりませんし、そのサイズも50kbに制限されています。</p>

<p>JavaScriptに至っては、独自のコードを記述することはできません。AMPページでは、動的な振る舞いはすべてカスタムタグを使用して実現することになります。</p>

<p></p><pre class="crayon-plain-tag">&lt;!-- AMPページの例 --&gt;
&lt;!doctype html&gt;
&lt;!-- html要素に⚡を付けるとAMP HTMLとして扱われる --&gt;
&lt;html ⚡&gt;
  &lt;head&gt;
    &lt;meta charset="utf-8"&gt;
    &lt;!-- AMP用JSの読み込み --&gt;
    &lt;script async src="https://cdn.ampproject.org/v0.js"&gt;&lt;/script&gt;
    &lt;title&gt;Hello AMP world&lt;/title&gt;
    &lt;!--
      このAMPページの元となる、通常のHTMLページがある場合はcanonicalで指定
      そういうページがない場合はこのページ自体のURLをcanonicalで指定
    --&gt;
    &lt;link rel="canonical" href="hello-world.html"&gt;
    &lt;!-- viewport指定は必須 --&gt;
    &lt;meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"&gt;
    &lt;!-- 以下のCSSは必須 --&gt;
    &lt;style amp-boilerplate&gt;body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}&lt;/style&gt;&lt;noscript&gt;&lt;style amp-boilerplate&gt;body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}&lt;/style&gt;&lt;/noscript&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;Hello AMP World!&lt;/h1&gt;
    &lt;!-- imgの代わりにamp-imgを使用 --&gt;
    &lt;amp-img src=sample.jpg width=300 height=300&gt;&lt;/amp-img&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre><p></p>

<p><b class="speaker siraisi">白石:</b> カスタムタグにはどのようなものがあるんでしょう？</p>

<p><b class="speaker yamaguchi">山口:</b> 利用できるタグはすべてドキュメントに記載されていますので、そちらをご覧いただくのが一番です（参考: <a href="https://www.ampproject.org/docs/reference/components" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AMPで利用できるコンポーネント/タグ</a>）。</p>

<p>AMPのタグにはビルトイン（組み込み）とエクステンション（拡張）がありまして、エクステンションのタグを利用するには別途JavaScriptの読み込みが必要です。</p>

<p>ビルトインのタグの代表的なものは、先ほど取り上げた、<code>&lt;img&gt;</code>の代わりとなる<code>&lt;amp-img&gt;</code>です。エクステンションは現時点でもかなりの数が用意されていて、Google Analyticsを使用したり、YouTubeやTwitterの埋め込みを行えるタグもあります。</p>

<p><b class="speaker siraisi">白石:</b> そうしたエクステンションは、サードパーティの開発者やベンダーでも開発できるんですか？</p>

<p><b class="speaker yamaguchi">山口:</b> はい、可能です。ただ、AMPで利用できるタグは、AMP本体のリポジトリに取り込まれているものだけなんです。なので、開発したとしてもそれをリポジトリに取り込んでもらう努力が必要になります（参考: <a href="https://github.com/ampproject/amphtml/blob/master/spec/amp-html-components.md#extended-components" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">コンポーネントの開発・拡張についてのドキュメント</a>）。</p>

<p><b class="speaker siraisi">白石:</b> なるほど、そういうプロセスを経なければならないようにすることで、カスタムタグのクオリティを担保しているということですね。そういうレビューはGoogleが行っているんでしょうか？</p>

<p><b class="speaker yamaguchi">山口:</b> AMP自体はオープンソースですし、Google一社のものではありません。リリース前からTwitterやPinterestもコミットしていましたし、オープンソースにしたおかげで、プロセスも透過的です。Google以外のコントリビューターも数多くいますし、そこは一般的な企業発のオープンソースプロダクトとあまり変わりはないと思いますね。</p>

<p><img src="/wp-content/uploads/2017/12/42A4648.jpg" alt="" width="640" height="405" class="alignnone size-full wp-image-24960" srcset="/wp-content/uploads/2017/12/42A4648.jpg 640w, /wp-content/uploads/2017/12/42A4648-300x190.jpg 300w, /wp-content/uploads/2017/12/42A4648-207x131.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>AMPページのアクセス解析は？広告は？</h2>

<p><b class="speaker siraisi">白石:</b> AMPはWeb全体に大きな影響を与えている技術だと思いますので、ビジネス面も含めた、もう少し俯瞰的な部分からもお話をお聞きしたいと思います。</p>

<p>まず、AMPに対応すると、Google Analyticsなどの計測を正しく行えなくなるというのを聞いたことがあるのですが、これはどういうことですか？</p>

<p><b class="speaker yamaguchi">山口:</b> まず、<code>&lt;amp-analytics&gt;</code>タグを入れているAMPページは、Google Analyticsをはじめとしたツールで、統一的に計測を行うことができます。</p>

<p>ただそれでも、AMPキャッシュの仕組みの都合上、様々な不都合が生じていたのは事実です。</p>

<p><b class="speaker siraisi">白石:</b> AMPキャッシュというのはなんですか？</p>

<p><b class="speaker yamaguchi">山口:</b> GoogleのbotはAMPページを見つけると、専用のキャッシュサーバー（Google AMP Cache）にページをキャッシュします。
 Googleは世界中にデータセンターやISP各社に協力していただいているエッジサーバーを持っており、ユーザーにとって物理的に最も近い位置のサーバーからページを読み込みますので、AMPページがより高速に表示されるというわけです。</p>

<p>（筆者注: <a href="https://developers.google.com/amp/cache/reference/acceleratedmobilepageurl/rest/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google AMP CacheはAPIを用いて明示的なキャッシュを行わせることもできる</a>）</p>

<p><b class="speaker siraisi">白石:</b> Googleの検索結果から辿れるページとかは、AMPキャッシュからの応答ですね。</p>

<p><b class="speaker yamaguchi">山口:</b> ただ、AMPキャッシュの問題は、元サイトとは異なるドメインからページが読み込まれるということです。そうなるとCookieが異なるので、Google Analyticsなどで正しく計測が行えないのです。</p>

<p>（筆者注: 例えば 当サイト（）のAMPページは「.cdn.ampproject.org」から読み込まれました）</p>

<p>ただこの問題は、今ではほぼ解決されています。具体的には、Cookieの欠点を補うためのクライアントIDという値を用いることで、AMPキャッシュから配信されたページへのアクセスと、オリジナルサイトへのアクセスを統一して扱えるようになっています。</p>

<p><small>
筆者注: こうした問題とそのソリューションについては、以下のページに詳しい。</p>

<ul>
<li><a href="https://www.suzukikenichi.com/blog/amp-analytics-is-unreliable/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AMPページの直帰率の高さやユニークユーザー数は全部ウソ!? AMPアクセス解析には潜在的な問題あり &#8211; 海外SEO情報ブログ</a><br></li>
<li><a href="https://www.suzukikenichi.com/blog/google-analytics-fixes-inaccurate-amp-report/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">⚡AMPの不正確なアクセス解析をGoogleアナリティクスが解消 &#8211; 海外SEO情報ブログ</a><br></li>
<li><a href="https://www.suzukikenichi.com/blog/google-analytics-lets-you-opt-in-amp-client-id-api/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google アナリティクス、AMPキャッシュ計測の問題を解決。AMP Client ID APIのオプトインで正確なアクセス解析が可能に &#8211; 海外SEO情報ブログ</a></li>
<li><a href="https://developers.google.com/analytics/devguides/collection/amp-analytics/client-id?hl=en" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Client IDs in AMP pages &#8211; Googleアナリティクスヘルプ</a>（<a href="https://developers.google.com/analytics/devguides/collection/amp-analytics/client-id?hl=ja" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">日本語ページ</a>もあるのですが内容が古く、「Using a single Client ID across AMP and non-AMP pages」（AMPと非AMPページで同一のクライアントIDを使用する）という重要な節が抜けているようです）
</small></li>
</ul>

<p><b class="speaker siraisi">白石:</b> なるほど、アクセス解析の問題については、ほぼ解決済みなのですね。知りませんでした。</p>

<p>ほかには、AMPに対応することでパブリッシャーの広告収益に影響が出るのではないかという話を聞きましたが、これについてはいかがでしょうか？特に、AMPページに比べて広告の表示速度が遅いことで、広告が表示される前にユーザーが離脱してしまうのではないかと聞いています。</p>

<p><b class="speaker yamaguchi">山口:</b> 実はAMPは、広告の高速化についても「<a href="https://www.ampproject.org/learn/who-uses-amp/amp-ads/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AMP Ads</a>」（筆者注: 「AMP for Ads (A4A)」とも呼ばれる）という取り組みを既に進めているんです。</p>

<p>これは、広告コンテンツについてもAMPフォーマットで記述するというもので、従来よりも素早く表示されるだけでなく、AMPページ以外でも利用できますし、様々な広告ネットワーク上でも利用できる柔軟性があります。</p>

<p><small>
参考:
<a href="https://developers-jp.googleblog.com/2017/09/even-faster-loading-ads-in-amp.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AMP Ads の読み込みがさらに高速化 &#8211; Google Developers Japan Blog</a>
<a href="https://github.com/ampproject/amphtml/blob/master/ads/google/a4a/docs/a4a-readme.md" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AMP Ads &#8211; GitHub (英語)</a>
</small></p>

<p><b class="speaker siraisi">白石:</b> そんな取り組みがされてたんですねー、全然知りませんでした。</p>

<p><img src="/wp-content/uploads/2017/12/42A4640.jpg" alt="" width="640" height="413" class="alignnone size-full wp-image-24961" srcset="/wp-content/uploads/2017/12/42A4640.jpg 640w, /wp-content/uploads/2017/12/42A4640-300x194.jpg 300w, /wp-content/uploads/2017/12/42A4640-207x134.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>AMPとPWAを組み合わせる</h2>

<p><b class="speaker siraisi">白石:</b> 最後に、技術者向けに深いトピックをいろいろお聞かせください。</p>

<p>AMPとPWA (Progressive Web Apps)を共存させる、という話を聞きます（※）が、具体的にはどのように組み合わせることができるのでしょうか？</p>

<p><small>
※ <a href="https://www.ampproject.org/docs/guides/pwa-amp" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Combine AMP with Progressive Web Apps</a>
</small></p>

<p><b class="speaker yamaguchi">山口:</b> AMPは、言ってみればWebプラットフォーム上のフレームワークの1つに過ぎません。なので、例えば<a href="https://developers.google.com/web/fundamentals/web-app-manifest/?hl=ja" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Webアプリマニフェスト</a>を書いておいて、AMPページからリンクすれば、モバイルアプリにWebアプリをインストールさせることも可能です。AMPだからと言って、特別なことは何もありません。</p>

<p><b class="speaker siraisi">白石:</b> なるほど。</p>

<p><b class="speaker yamaguchi">山口:</b> PWAと言うのはマーケティングワードという側面も強いので、「何を持ってPWAと呼ぶか」も難しいところではありますけどね。</p>

<p>AMPには<code>&lt;amp-serviceworker&gt;</code>というタグもあって、AMPページを起点にして<code>ServiceWorker</code>をインストールさせることもできます。</p>

<p>これを応用すれば、まずはAMPページを高速に表示させておいて、裏でPWAに必要なアセットをServiceWorkerを利用してキャッシュしておき、リンクをクリックしたらPWAが高速に起動する…というアプローチも取ることができます。</p>

<p><b class="speaker siraisi">白石:</b> AMPとPWAのいいところ取りができるというわけですね。面白い。</p>

<p>あと、「PWAの中でAMPを使う」というアプローチも聞きました。外部のページをAMPで読み込むと言ったような。</p>

<p><b class="speaker yamaguchi">山口:</b> それも可能ですね。AMPをiframeで開くというのが一つのパターンですが、更にもう一歩進んだアプローチとしては、外部のAMPページを読み込んで、Shadow DOMに突っ込んじゃうっていうパターンもあります。</p>

<p><b class="speaker siraisi">白石:</b> それってどういうメリットがあるんですか？</p>

<p><b class="speaker yamaguchi">山口:</b> これも高速化のテクニックの一つですね。iframeだと、AMP JSの読み込みがiframeごとに走るので無駄が多いんです。Shadow DOMに埋め込むのであれば、既に元ページでAMP JSが読み込まれていればいいので、それぞれのページで読み込む必要がありません。</p>

<p><b class="speaker siraisi">白石:</b> なるほど、面白い！</p>

<p><b class="speaker yamaguchi">山口:</b> これはAMPに限った話ではないのですが、従来iframeを使って読み込んでいたコンテンツを、Shadow DOMに埋め込むというテクニックは、広告とかにも応用可能です。広告が元ページに悪影響を及ぼさないようにカプセル化する役割を、Shadow DOMに任せるわけですね。</p>

<p><b class="speaker siraisi">白石:</b> いやあ、最新のWeb技術てんこ盛りで、Webエンジニアとして大変興味深いお話です。AMPそのものも、そしてAMPを支える技術も、最新技術の塊ですね。本日は大変勉強になりました、ありがとうございました！</p>

<p><DIV align=right>（撮影：刑部友康 写真提供：html5j HTML5 Conference 2017事務局）</div></p>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2017特集]]></series:name>
	</item>
		<item>
		<title>ブラウザ戦争は終わった！Webの最先端と未来を、ブラウザエバンジェリストたちが語る</title>
		<link>/shumpei-shiraishi/23666/</link>
		<pubDate>Tue, 06 Jun 2017 01:00:55 +0000</pubDate>
		<dc:creator><![CDATA[白石 俊平]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[de:code2017]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">/?p=23666</guid>
		<description><![CDATA[連載： de:code 2017 特集 (3) 本記事は、2017/5/23, 24に開催された「de:code 2017」の1セッション、「War is over : ブラウザエバンジェリスト達とWebの未来を語ろう」...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/ms-decode2017/" class="series-449" title="de:code 2017 特集" data-wpel-link="internal">de:code 2017 特集</a> (3)</div><p><style>
b.speaker:after {
  content: ': ';
}
</style>
本記事は、2017/5/23, 24に開催された「<a href="https://www.microsoft.com/ja-jp/events/decode/2017/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">de:code 2017</a>」の1セッション、「War is over : ブラウザエバンジェリスト達とWebの未来を語ろう」を聴講したレポートです。</p>

<p>GoogleやMozillaのエバンジェリストたちがマイクロソフトのセッションで仲良くお話、って光景を見るだけでも楽しいセッションでした<img src="https://s.w.org/images/core/emoji/2.2.1/72x72/1f60a.png" alt="😊" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>

<p><img src="/wp-content/uploads/2017/06/IMG_0542-640x427.jpg" alt="" width="640" height="427" class="aligncenter size-large wp-image-23668" srcset="/wp-content/uploads/2017/06/IMG_0542.jpg 640w, /wp-content/uploads/2017/06/IMG_0542-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0542-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<div id="attachment_23667" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2017/06/IMG_0570-640x427.jpg" alt="左からMozilla Japan 技術戦略マネージャ 浅井智也氏、Google デベロッパーアドボケート 北村英志氏、日本マイクロソフト デベロッパーエヴァンジェリズム統括本部 物江修氏" width="640" height="427" class="size-large wp-image-23667" srcset="/wp-content/uploads/2017/06/IMG_0570.jpg 640w, /wp-content/uploads/2017/06/IMG_0570-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0570-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text">左からMozilla Japan 技術戦略マネージャ 浅井智也氏、Google デベロッパーアドボケート 北村英志氏、日本マイクロソフト デベロッパーエヴァンジェリズム統括本部 物江修氏</p></div>

<div id="attachment_23669" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2017/06/IMG_0552-640x427.jpg" alt="Web Payments, WebVR, Web Assembly, Progressive Web Appsについてエバンジェリストたちが語る" width="640" height="427" class="size-large wp-image-23669" srcset="/wp-content/uploads/2017/06/IMG_0552.jpg 640w, /wp-content/uploads/2017/06/IMG_0552-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0552-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text">Web Payments, WebVR, Web Assembly, Progressive Web Appsについてエバンジェリストたちが語る</p></div>

<h2>Web Payments</h2>

<p><b class="speaker monoe">物江</b> まず、<strong>Web Payments</strong>についてお聞かせ願いたいのですが、こちら北村さんご説明をお願いできますか？</p>

<p><b class="speaker kitamura">北村</b> まず前提として、インターネットを利用する際に私たちがクレジットカードを利用するようになってから、それなりに時間が経過しましたね。そして現在転換期が訪れているといっていいのではないかと思います。これまでのように、フォームにクレジットカードの情報を生で入れて送信するというので、本当にいいのだろうか。</p>

<p>そうした問題を解決すべく提案されているのが、Payment Request APIです。他のサードパーティ製アプリに遷移して戻ってくるなどのUIを通じて、決済に必要な情報を、スムーズにユーザーに対して問い合わせることができます。</p>

<p>（筆者注: <a href="https://developers.google.com/web/updates/2016/07/payment-request?hl=ja" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Payment Request APIの日本語による解説記事</a>）
（筆者注: <a href="https://blogs.msdn.microsoft.com/msedgedev_japan/2016/12/20/simpler-web-payments-introducing-the-payment-request-api/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">よりシンプルな Web の決済方法 : Payment Request API の紹介</a>）
<div id="attachment_23672" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2017/06/IMG_0555-640x427.jpg" alt="Google デベロッパーアドボケート 北村英志氏" width="640" height="427" class="size-large wp-image-23672" srcset="/wp-content/uploads/2017/06/IMG_0555.jpg 640w, /wp-content/uploads/2017/06/IMG_0555-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0555-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text">Google デベロッパーアドボケート 北村英志氏</p></div></p>

<p><b class="speaker monoe">物江</b> なるほど。このPayment Request APIですが、<strong>Edgeではバージョン15からサポート</strong>していまして、Creators Updateを適用したWindows 10上ではすでに利用可能です。Firefoxでのサポートは行われる予定があるんでしょうか？</p>

<p><b class="speaker asai">浅井</b> はい、時期はまだ言えないのですが、<strong>サポートするのは確定</strong>しています。</p>

<p><b class="speaker kitamura">北村</b> <strong>Chromeは現在Android版のみ対応していて、デスクトップ版は開発中</strong>です。</p>

<p><b class="speaker monoe">物江</b> あと、iOS版のChromeについても教えていただけますか？</p>

<p><b class="speaker kitamura">北村</b> iOS版Chromeは、iOSのWebViewを使っていて、iOSのWebViewはPayment Request APIに対応していません。なので、<strong>そのままだとiOS ChromeではPayment Request APIは使えないのですが、実はこれを無理やり使えるようにしてしまおうという計画がありまして</strong>。</p>

<p>どう実現するかというと、ChromeからWebViewに対して機能を注入してしまうんですね。WebViewで通常使えないJavaScript APIを使えるようにしてしまう。Cordovaとかでは以前から普通に行われていたことです。</p>

<p>これまではiOSのWebViewに対してJavaScriptをインジェクトして、新しいAPIを使えるようにするということはしてきませんでした。なので、iOS版のChromeにとっては大きな方針転換でもあります。</p>

<p><b class="speaker monoe">物江</b> このように、各種のプラットフォームでサポートがすでに始まっていますので、<strong>今年中か、もしくは来年の初めくらいには、一般的に使えるAPIになってそう</strong>ですね。</p>

<p><b class="speaker asai">浅井</b> 個人的には、（Mozillaの前身である）Netscapeが切り開いた商用インターネットの世界が、ようやくここまで来たか…と感慨深いものがあります。</p>

<h2>WebVR</h2>

<p><b class="speaker monoe">物江</b> では次はWebVRについてお聞きしていきましょう。WebVRについては、先日のCreators Updateから、1.1のAPIをサポートしはじめました。また、<a href="http://www.babylonjs.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Babylon.js</a>や<a href="https://aframe.io/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">A-Frame</a>といったライブラリを使うと、WebVRを簡単に扱うことができると。</p>

<p>浅井さん、A-Frameについて教えていただけますか？</p>

<p><b class="speaker asai">浅井</b> A-Frameは、Web上で簡単にVRを扱えるようにすることを目指すライブラリです。例えば、HTMLタグを一つぽんと置くだけで360度画像を表示できるようにするとか。</p>

<p>Unityだとアセットストアがあって、アセットを購入したりすることができるのですが、<a href="https://aframe.io/aframe-registry/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">それと同じようなエコシステムがコミュニティ主導で進められている</a>のも特徴です。非常に簡単に3Dコンテンツを作れて、売り買いしながら作っていけるエコシステムができていくだろうと期待しています。</p>

<div id="attachment_23673" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2017/06/IMG_0559-640x427.jpg" alt="Mozilla Japan技術戦略マネージャ 浅井智也氏" width="640" height="427" class="size-large wp-image-23673" srcset="/wp-content/uploads/2017/06/IMG_0559.jpg 640w, /wp-content/uploads/2017/06/IMG_0559-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0559-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text">Mozilla Japan技術戦略マネージャ 浅井智也氏</p></div>

<p><b class="speaker monoe">物江</b> コンテンツで思い出したんですが、意外とWeb上で3Dを扱うような仕事ってまだ少ないらしいんですよね。WebGLがモダンブラウザ全部でサポートされるようになってから結構経つのに、WebGLってどこかゲーム用途のイメージも強いみたいで。</p>

<p>ただ<strong>WebGLって、本来ゲーム以外の用途もたくさんあるはず</strong>なんです。例えば<a href="https://grimoire.gl/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Grimoire.js</a>っていうライブラリがあるんですが、これは様々な3Dコンテンツを、簡単にWeb上で扱えるようにすることを目的としていて、こういう動きが盛り上がると、WebGLってもっと活用されるんじゃないかと思う。</p>

<p><b class="speaker asai">浅井</b> その点VRは、コンテンツを中心とした盛り上がりも活発で、結構未来があるんじゃないかな、と思いますね。</p>

<p><b class="speaker monoe">物江</b> ちなみに、VRではなくてMR (Mixed Reality) でいうと<a href="https://github.com/Microsoft/HoloJS" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HoloJS</a>っていうのもあって、HoloLens用のアプリを作ることもできます…すごく大変なんですけどね(笑)。</p>

<p>ところでChromeも、WebVRには対応済みですよね。何か最近の動きとかを教えていただけますか？</p>

<p><b class="speaker kitamura">北村</b> そうですねー、Daydream上でChromeを立ち上げることができるようにする、というのは聞きましたね（筆者注: VR/AR空間内でChromeを立ち上げられるように、ということだと思われる。参考: <a href="https://techcrunch.com/2017/05/18/chrome-is-coming-to-augmented-reality-and-google-daydream/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Chrome is coming to augmented reality and Google Daydream (TechCrunch)</a>）。</p>

<h2>WebAssembly</h2>

<p><b class="speaker monoe">物江</b> では次は、WebAssemblyのお話を聞かせてください。やはりここは、（WebAssemblyの元になったasm.jsの開発元である） Mozillaの浅井さんにお聞きしようかと。</p>

<p><b class="speaker asai">浅井</b> はい、WebAssemblyの元になったのはasm.jsという技術です。
もともと、JavaScriptは動的な言語なので、パフォーマンスの向上にも限界がある。そこで、JavaScriptのサブセットとしてasm.jsが提案されたんです。
変数の型が厳密に定義されており、さらに実行に先立ってコンパイルが可能なので、相当に速かった。</p>

<p><img src="/wp-content/uploads/2017/06/IMG_0536-640x427.jpg" alt="" width="640" height="427" class="aligncenter size-large wp-image-23674" srcset="/wp-content/uploads/2017/06/IMG_0536.jpg 640w, /wp-content/uploads/2017/06/IMG_0536-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0536-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>WebAssemblyは、さらにそれをコンパイル済みのバイナリとして配布できるようにする技術です。そのバイナリフォーマットに関する仕様がWebAssemblyです。<strong>実行速度は相当なもので、現在でもC言語の速度まであと20%というところまで迫っています</strong>。</p>

<p><b class="speaker monoe">物江</b> FirefoxやChromeではすでに対応済みなんですよね。Edgeでも、フラグをONにすると使えるようになります。
個人的にはJavaScriptを置き換えるようなものではなく、高機能な計算が必要なところに使うものだと思っていますが、合ってますか？</p>

<p><b class="speaker asai">浅井</b> はい、そうだと思います。WebAssemblyに出力するのも、基本的にはC/C++やRust言語で書かれたものになりますし。</p>

<p><b class="speaker monoe">物江</b> ちなみに、WebAssemblyへのコンパイルって具体的にはどうやるんですか？</p>

<p><b class="speaker asai">浅井</b> <a href="http://kripken.github.io/emscripten-site/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Emscripten</a>と<a href="https://github.com/WebAssembly/binaryen" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Binaryen</a>というツールを組み合わせて、C/C++のコードをWebAssemblyに変換する…というのが一般的ですね。基本的には、LLVMの中間言語が出力できれば、そこからEmscriptenを使ってasm.jsに変換でき、更にBinaryenでWebAssembly化できます。</p>

<p>（筆者注: <a href="https://github.com/kripken/emscripten/wiki/WebAssembly" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">https://github.com/kripken/emscripten/wiki/WebAssembly</a> も参考のこと）</p>

<h2>Progressive Web Apps</h2>

<p><b class="speaker monoe">物江</b> 昨今のWebの重要キーワード、Progressive Web Appsですが、これは北村さん説明をお願いできますか？</p>

<p><b class="speaker kitamura">北村</b> はい。その前に、Progressive Web Appsって、ご存じの方どれくらいいます？…思ったより浸透してないですね。まだまだだな。</p>

<p><strong>Progressive Web Appsっていうのは、一言で言うとモバイルウェブの新しい形</strong>です。</p>

<ul>
<li>Webサイトがホーム画面から起動できる</li>
<li>プッシュ通知</li>
<li>オフラインで動く</li>
</ul>

<p><img src="/wp-content/uploads/2017/06/IMG_0567-640x427.jpg" alt="" width="640" height="427" class="aligncenter size-large wp-image-23680" srcset="/wp-content/uploads/2017/06/IMG_0567.jpg 640w, /wp-content/uploads/2017/06/IMG_0567-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0567-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><b class="speaker kitamura">北村</b> 百聞は一見にしかずで、<a href="http://mobile.twitter.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">twitter.com</a>をAndroid 版 Chromeで開いてみるというのが一番わかりやすいと思います。
これは<strong>Twitter Lite</strong>と呼ばれていて、動作も素早いし、モバイルアプリと使い勝手はほとんど変わりません。</p>

<p><b class="speaker asai">浅井</b> PWAは、アプリに比べてデータ通信量も抑えめになるそうです。例えばTwitter Liteではアプリに比べて70%データが削減できるとか。なので、ブラジル、インド、インドネシアといった、ネットワークインフラの整っていない新興国では、アプリよりもユーザのコンバージョン率が高く、採用も広まっているようです。</p>

<p><b class="speaker monoe">物江</b> Firefoxでの、PWA対応はいかがでしょう？</p>

<p><b class="speaker asai">浅井</b> 現在でもホーム画面へのインストールなど基本機能は対応していますし、今後フルスクリーン起動なども順次実装を進めていくそうです</p>

<p><b class="speaker monoe">物江</b> モバイルといえばネイティブアプリ、という印象はいまだに根強いですが、モバイルサイトも同時に構築できてしまうので、環境が整って利点が正しく理解されさえすれば、一気に広まりそうですよね。<strong>PWA対応していないブラウザでアクセスしたとしても、通常のWebアプリとして使えますし</strong>。</p>

<p>ちなみにEdgeでは、今年の夏頃から開発者向けのビルドでPWAを試せるようになります。<strong>年末ぐらいまでには、メジャーブラウザでは全体的にPWAが使えるようになりそう</strong>ですね。</p>

<p><b class="speaker kitamura">北村</b> ちなみにマイクロソフトさんの検索エンジンの<strong>Bingが、PWAを見つけたらWindows Storeに並べてしまうようになる</strong>というのを最近知って、すごい荒業だけどこれは面白いなと思いました。</p>

<p>PWAって捉えどころがないふわっとした用語ではありますが、実際には個々の技術それぞれにもすごく価値があります。オフラインやプッシュ通知がWebアプリで行えるというのは、<strong>Ajax以来の技術的な革命じゃないかと思います</strong>ね。</p>

<h2>Web Components</h2>

<p><b class="speaker monoe">物江</b> そろそろお時間も迫ってまいりましたので、最後のトピックです。
Web Componentsについて語りたいのですが、北村さん、Web Componentsのご説明をお願いできますか？</p>

<p><b class="speaker kitamura">北村</b> Web Componentsっていうのは、一言で言うと、<strong>自分でHTMLタグを作れるという技術</strong>です。そして、自作したタグ（コンポーネント）を配布できる。</p>

<p>Web Componentsは、最近だとSafariに搭載されたのが大きいですね。iOSを含め、割とどこでも使えるメジャーな技術になりました。</p>

<p>あともう一つ、<strong>AMP (Accellalated Mobile Pages）も実はWeb Componentsを使っています</strong>。AMPに対応しているサイトは、現時点でもかなりの数に上りますので、実際にはWeb Componentsはすごい勢いで広まっていると言っていいんじゃないかと思います。</p>

<p><b class="speaker monoe">物江</b> <a href="https://www.polymer-project.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Polymer</a>というライブラリもあるそうですが、それとWeb Componentsの関係はどのようなものでしょうか？
<div id="attachment_23676" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2017/06/IMG_0556-640x427.jpg" alt="日本マイクロソフト株式会社 デベロッパーエヴァンジェリズム統括本部 物江修氏" width="640" height="427" class="size-large wp-image-23676" srcset="/wp-content/uploads/2017/06/IMG_0556.jpg 640w, /wp-content/uploads/2017/06/IMG_0556-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0556-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text">日本マイクロソフト株式会社 デベロッパーエヴァンジェリズム統括本部 物江修氏</p></div></p>

<p><b class="speaker kitamura">北村</b> Web Componentsっていうのは、W3Cで標準化が進められている技術なんです。具体的には4つの技術から構成されています。</p>

<p><strong>Custom Element</strong>は、先程申し上げたように独自のタグを作ることのできる技術です。</p>

<p><strong>Shadow DOM</strong>は、DOMのカプセル化を行えるようにする技術。</p>

<p><strong>Template Element</strong>っていうのは、「テンプレートである」という意味合い以外持たないHTML要素です。</p>

<p><strong>HTML Import</strong>というのは、JSやCSSのように、HTMLもインポート可能にするという技術です。</p>

<p>一方で<strong>Polymerというのは、Web Componentsの上に構築されたライブラリ</strong>です。</p>

<p>Web Components標準はそれほど高いレベルのAPIを提供しません。なので、実際にコンポーネントを作ろうとすると、実装の重複が多くなります。その重複を排除して、最小限のコードでコンポーネントを作れるようにするのがPolymerです。</p>

<p><b class="speaker monoe">物江</b> ちなみにEdgeは、Web Componentsについては長いこと意識しているようですが、まだ詳細は未定です。Polymerを使うと、現在のEdgeでもWeb Componentsが動作したりするんでしょうか？</p>

<p><b class="speaker kitamura">北村</b> はい、PolymerはPolyfill（対応していないブラウザ上でAPIのエミュレーションを行うライブラリ）も含んでいますので、動作しますね。<strong>実は、現在のYouTubeサイトはWeb ComponentsベースのHTMLに全て書き換えられている</strong>んです。コードを見てみると面白いと思いますよ。</p>

<p>あと、Polymerはライブラリだけじゃなくてコンポーネントも提供しているんです。 <a href="http://webcomponents.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">http://webcomponents.org/</a> を見てみると、すでにいろんなコンポーネントが利用できるのを確認できると思います。</p>

<h2>まとめ</h2>

<p><img src="/wp-content/uploads/2017/06/IMG_0572-640x427.jpg" alt="" width="640" height="427" class="aligncenter size-large wp-image-23677" srcset="/wp-content/uploads/2017/06/IMG_0572.jpg 640w, /wp-content/uploads/2017/06/IMG_0572-300x200.jpg 300w, /wp-content/uploads/2017/06/IMG_0572-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><b class="speaker monoe">物江</b> では、このディスカッションの締めくくりとして、Webの今後について一言ずついただけますでしょうか？</p>

<p><b class="speaker asai">浅井</b> はい、モバイル時代は長らくネイティブアプリが中心でしたが、ここに来て<strong>Webの力が盛り返してきているのを感じています</strong>。ネイティブアプリと遜色ない機能を提供できるだけではなく、ユーザーにリーチするのも、アプリストアよりもWebのほうがハードルが低い。リンクを送るだけでプロモーションできますしね。そういう点で、PWAには期待しています。</p>

<p><b class="speaker kitamura">北村</b> PWAについては、ぼくも同じく期待しています。とりあえずTwitter Liteを触ってみてほしいですね。</p>

<p>あとWebの今後という点で思いついたのですが、<strong>企業の枠組みを超えた合意形成の方法としては、Webはかなり進んでいるんじゃないかと思います</strong>。ディスカッションの場作りとか、標準化を行う上で蓄積されたノウハウはかなり貴重で、他の場面や業界にも活かされていくんじゃないかな…と考えています。</p>

<p><b class="speaker monoe">物江</b> ではそろそろお時間ですので、本セッションを終わりとしたいと思います。みなさま、本日は大変興味深いお話を、どうもありがとうございました。</p>
]]></content:encoded>
		
		<series:name><![CDATA[de:code 2017 特集]]></series:name>
	</item>
		<item>
		<title>Webアプリケーションにおける機械学習活用の基礎──HTML5 Conference 2016セッションレポート</title>
		<link>/enakai/21663/</link>
		<pubDate>Mon, 14 Nov 2016 01:00:51 +0000</pubDate>
		<dc:creator><![CDATA[中井悦司]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[TensorFlow]]></category>
		<category><![CDATA[ディープラーニング]]></category>
		<category><![CDATA[ニューラルネットワーク]]></category>
		<category><![CDATA[機械学習]]></category>

		<guid isPermaLink="false">/?p=21663</guid>
		<description><![CDATA[連載： HTML5 Conference 2016 特集 (10)みなさん、こんにちは。Google Cloud Solutions Architectの中井です。 HTML5 Conference 2016では、「We...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conf2016/" class="series-403" title="HTML5 Conference 2016 特集" data-wpel-link="internal">HTML5 Conference 2016 特集</a> (10)</div><p>みなさん、こんにちは。Google Cloud Solutions Architectの中井です。</p>

<p><a href="http://events.html5j.org/conference/2016/9/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Conference 2016</a>では、「Webアプリケーションにおける機械学習活用の基礎」と題して、機械学習の基礎となる仕組み、そして、機械学習を利用したクライアントアプリケーションの例を紹介させていただきました。今回は、この発表の内容を振り返りたいと思います。</p>

<p><img src="/wp-content/uploads/2016/11/2_DSC_0273.jpg" alt="" width="640" height="397" class="alignnone size-full wp-image-21700" srcset="/wp-content/uploads/2016/11/2_DSC_0273.jpg 640w, /wp-content/uploads/2016/11/2_DSC_0273-300x186.jpg 300w, /wp-content/uploads/2016/11/2_DSC_0273-207x128.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h1>機械学習とディープラーニング、そして、AIの関係</h1>

<p>機械学習そのものは古くから利用されている技術であり、過去のデータを元にして、「（まだ見たことのない）未来のデータにもあてはまる一般的なルール」を発見することがその役割となります。つまり、はじめて見るデータに対して、何らかの予測を立てることができるようになります。たとえば、映画のレコメンデーションシステムであれば、新しいユーザーのプロファイルデータから、そのユーザーが高い評価を付けるであろう作品を予測します。</p>

<p>ただし、これはあくまでも予測ですので、必ず正解するというわけではありません。予測の精度をいかに上げるかが機械学習の課題となります。そして、近年のディープラーニングの発展により、一部の領域においては、その予測精度が格段に向上しました。プロの棋士と同等、あるいは、それを上回る精度で「勝利につながる一手」を予測する囲碁プログラム、本物の人間であるかのように、あるメッセージに対する「自然な応答メッセージ」を予測するチャットボットなど、中の仕組みを知らない人間からすると、あたかもコンピューターが「知性」を持っているかのように感じられるレベルにまで達しています。</p>

<p>ちなみに、最近、各種メディアでは、「AI（人工知能）で◯◯を実現」というタイトルを目にすることがあります。しかしながら、何を指して「AI（人工知能）」と呼んでいるのかが曖昧なことも少なくありません。AI（人工知能）もまた長い歴史を持つ研究分野であり、AI（人工知能）の定義にもいくつかのパターンがあるようですが、現代的な文脈では、「あたかも知性を持っているかのように感じられる製品やサービス」を指して、AI（人工知能）と呼んでいると考えるのが適切かもしれません。</p>

<p>そのような製品・サービスを実現する上で、高い精度での予測を実現するディープラーニングは、欠くことのできない中核技術になりつつあるということでしょう。（これは余談ですが、個人的には、「AI（人工知能）で◯◯を実現」というタイトルを見るたびに、心の中でそっと、「AI（知性を持ったかのように見える製品やサービス）を実現するために研究・活用が進んでいる機械学習を基礎とした一連のデータ収集・分析技術で〇〇を実現」と読みかえて納得することにしています）</p>

<p><img src="/wp-content/uploads/2016/11/figure01-300x236.png" alt="figure01" width="300" height="236" class="aligncenter size-medium wp-image-21665" srcset="/wp-content/uploads/2016/11/figure01-300x236.png 300w, /wp-content/uploads/2016/11/figure01.png 640w, /wp-content/uploads/2016/11/figure01-207x163.png 207w" sizes="(max-width: 300px) 100vw, 300px" /></p>

<h1>「線形2項分類器」で機械学習の基礎を学ぶ</h1>

<p>この発表では、まずはじめに、機械学習の基礎となる「線形2項分類器」、そして、それを実現する「ロジスティック回帰」のアルゴリズムを解説しました。下図のように平面ちらばった◯✕の2種類のデータに対して、これらを分類する直線を自動的に見つけ出すという問題です。</p>

<p><img src="/wp-content/uploads/2016/11/figure02.png" alt="figure02" width="640" height="362" class="aligncenter size-full wp-image-21666" srcset="/wp-content/uploads/2016/11/figure02.png 640w, /wp-content/uploads/2016/11/figure02-300x170.png 300w, /wp-content/uploads/2016/11/figure02-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>そして、機械学習の世界では、主に「確率」を用いた予測が行われます。下図のように、求めるべき直線を関数 f で表した後に、ロジスティック・シグモイド関数 σ を用いて、「あるデータが『✕』のタイプである確率」を計算します。この計算式には、未知のパラメーター（w0, w1, w2）が含まれており、既存のデータに対する予測精度が最大化されるように、これらのパラメーターを自動調整するということを行います。</p>

<p><img src="/wp-content/uploads/2016/11/figure03.png" alt="figure03" width="640" height="362" class="aligncenter size-full wp-image-21667" srcset="/wp-content/uploads/2016/11/figure03.png 640w, /wp-content/uploads/2016/11/figure03-300x170.png 300w, /wp-content/uploads/2016/11/figure03-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>自動調整に用いられるアルゴリズムの詳細は、ここでは割愛しますが、たとえば、「<a href="http://playground.tensorflow.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Neural Network Playground</a>」を利用すると、実際のチューニングの様子を観察することができます。これは、TensorFlowの動作をJavaScriptでエミュレーションしたもので、機械学習の処理が進む様子をブラウザー上で観察することができます。会場では、参加者の方々にも、実際に<a href="https://goo.gl/fP0Tpn" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">リンク</a>を開いて機械学習の動作を体験していただきました。</p>

<h1>「線形多項分類器」で文字認識に挑戦</h1>

<p>先ほどの例では、◯✕の2種類のデータを分類しましたが、これをより多数の種類に分類できるように拡張したものが「線形多項分類器」です。たとえば、3種類に分類するのであれば、下図のように、3つの１次関数を用意します。そして、どの１次関数の値が最も大きいかによって、領域を分類します。ちなみに、(x1,x2)平面上で１次関数がとる値を3次元のグラフに表すと、1枚の平面になります。したがって、3枚の平面を配置して、どの平面が一番上に来るかで領域を分類していると考えることができます。</p>

<p><img src="/wp-content/uploads/2016/11/figure04.png" alt="figure04" width="640" height="362" class="aligncenter size-full wp-image-21668" srcset="/wp-content/uploads/2016/11/figure04.png 640w, /wp-content/uploads/2016/11/figure04-300x170.png 300w, /wp-content/uploads/2016/11/figure04-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>ただし、前述のように、機械学習の世界では「確率」で予測を行う必要があります。それぞれの1次関数の値を0〜1の確率に変換するのが、下図の「ソフトマックス関数」です。ここでは、簡単化した1変数の例を図示してありますが、f1, f2, f3の値の大小関係が、きれいに確率の大小関係に変換されていることがわかります。会場では、この仕組みを用いて、画像データの分類を行うデモを紹介しました。</p>

<p><img src="/wp-content/uploads/2016/11/figure05.png" alt="figure05" width="640" height="362" class="aligncenter size-full wp-image-21669" srcset="/wp-content/uploads/2016/11/figure05.png 640w, /wp-content/uploads/2016/11/figure05-300x170.png 300w, /wp-content/uploads/2016/11/figure05-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>ここで使用したのは、MNISTデータセットと呼ばれる手書き数字の画像を集めたデータセットです。それぞれが28✕28=784ピクセルのグレイスケールの画像になっており、1つの画像データは、784個のピクセル値（各ピクセルの濃度の値）からなります。そして、784個のピクセル値からなるデータは、784次元空間の1つの点に対応すると考えることが可能です。</p>

<p>いきなり784次元空間が登場して驚くかも知れませんが、それほど難しい話ではありません。3次元空間の点は、(x,y,z)の3つの数値で指定することが可能です。これと同じように、784次元空間の点は、784個の座標値で指定することができます。そして、大量の画像データを784次元空間にばらまくと、下図のように、同じ数字の画像は互いに近くに集まって、クラスターを形成すると想像することができます。</p>

<p><img src="/wp-content/uploads/2016/11/figure06.png" alt="figure06" width="640" height="362" class="aligncenter size-full wp-image-21670" srcset="/wp-content/uploads/2016/11/figure06.png 640w, /wp-content/uploads/2016/11/figure06-300x170.png 300w, /wp-content/uploads/2016/11/figure06-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>仮にこの想像が正しければ、線形多項分類器を用いて、784次元空間を10ヶ所の領域に分割することで、画像の分類が可能になります。新しい画像データが与えられた場合は、それがどの領域に入るかによって、どの数字であるかを予測することができます。</p>

<p>下図は、TensorFlowを用いて実装したコードで実際に分類を行った結果です。ここでは、トレーニング用のデータセットで学習した後に、テスト用のデータに対して予測を行っています。正解例だけを見ていると優秀な結果にも見えますが、不正解例を見ると、わりと単純なミスを犯していることもわかります。</p>

<p><img src="/wp-content/uploads/2016/11/figure07.png" alt="figure07" width="640" height="362" class="aligncenter size-full wp-image-21671" srcset="/wp-content/uploads/2016/11/figure07.png 640w, /wp-content/uploads/2016/11/figure07-300x170.png 300w, /wp-content/uploads/2016/11/figure07-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>これは、ピクセルの配置情報だけを用いて分類を行っていることが原因です。たとえば、上図における、上から2段目の右端の例が特徴的です。この縦長の「6」は、ピクセルの並びだけを見ていると「1」に近いため、「1」であると誤分類されています。人間が数字の種類を判別する際は、単純なピクセルの並びだけではなく、「穴が空いている」などの空間的な情報も利用します。この分類の精度を向上するには、このような、ピクセルの並び以外の特徴を取り出す必要があるのです。</p>

<h1>「畳込みニューラルネットワーク」による性能向上</h1>

<p>画像認識において、画像の空間的な特徴を取り出すのに役立つのが「畳込みフィルター」です。下図に示す「畳込みニューラルネットワーク(CNN:Convolutional Neural Network）」では、事前に畳込みフィルターを用いて、画像の特徴を抽出した後に、それを用いて多項分類器（ソフトマックス関数）による分類処理を行います。</p>

<p><img src="/wp-content/uploads/2016/11/figure08.png" alt="figure08" width="640" height="362" class="aligncenter size-full wp-image-21672" srcset="/wp-content/uploads/2016/11/figure08.png 640w, /wp-content/uploads/2016/11/figure08-300x170.png 300w, /wp-content/uploads/2016/11/figure08-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>ただし、どのようなフィルターを用いれば、分類に役立つ特徴が抽出できるかを考えるのは簡単ではありません。実は、CNNでは、フィルターを構成するパラメータ値も機械学習の対象としてしまいます。はじめは、乱数で用意したフィルターを用いて判別処理を行います。当然ながら、判別精度はそれほど高くありません。この後、判別精度が向上するように、フィルターのパラメータ値を自動的に調整していきます。</p>

<p>会場では、この処理を実行するTensorFlowの<a href="http://goo.gl/UHsVmI" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">コード</a>を紹介した上で、学習結果を用いた簡易的な「<a href="http://goo.gl/VE2ISf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">手書き文字認識アプリ</a>」をデモで紹介しました。下図は、入力画像に対して、「0」〜「9」のそれぞれの数字である確率を表示している例になります。</p>

<p><img src="/wp-content/uploads/2016/11/figure09.png" alt="figure09" width="640" height="362" class="aligncenter size-full wp-image-21673" srcset="/wp-content/uploads/2016/11/figure09.png 640w, /wp-content/uploads/2016/11/figure09-300x170.png 300w, /wp-content/uploads/2016/11/figure09-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h1>参考資料</h1>

<p>当日の発表では、このような機械学習を活用したアプリケーションの例、あるいは、今後想定される利用パターンなども紹介させていただきました。興味のある方は、当日の<a href="http://www.slideshare.net/enakai/web-65150969" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">発表資料</a>を参考にしてください。</p>

<p>また、発表の中では、線形多項分類器やCNNのパラメータを自動調整するアルゴリズムの解説までは手が回りませんでした。これらの理論的背景に興味のある方は、下記の書籍も参考にしていただければ幸いです。</p>

<ul>
<li><a href="http://gihyo.jp/book/2015/978-4-7741-7698-7" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ITエンジニアのための機械学習理論入門</a> 中井悦司（著）（技術評論社）</li>
<li><a href="https://book.mynavi.jp/ec/products/detail/id=59602" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">TensorFlowで学ぶディープラーニング入門</a> 中井悦司（著）（マイナビ出版）</li>
</ul>

<p><DIV align=right>（撮影・写真提供：HTML5 Conference 2016撮影スタッフ）</div></p>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2016 特集]]></series:name>
	</item>
		<item>
		<title>及川卓也さん、河合良哉さんに聞いた「地方で日本で働く・海外で働くの話」（その２）──HTML5 Conference 2016セッションレポート</title>
		<link>/djkato/21530/</link>
		<pubDate>Wed, 02 Nov 2016 01:00:14 +0000</pubDate>
		<dc:creator><![CDATA[加藤拓明]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Web MIDI API]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=21530</guid>
		<description><![CDATA[連載： HTML5 Conference 2016 特集 (8)HTML5 Conference 2016の展示ブースでお届けしたカンファレンス ラジオコーナー。Increments及川卓也さんとヤマハ河合良哉さんがゲス...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conf2016/" class="series-403" title="HTML5 Conference 2016 特集" data-wpel-link="internal">HTML5 Conference 2016 特集</a> (8)</div><p>HTML5 Conference 2016の展示ブースでお届けしたカンファレンス ラジオコーナー。Increments及川卓也さんとヤマハ河合良哉さんがゲストに来てくれた「地方で日本で働く・海外で働くの話」を完全版テキストの後編をレポートします！</p>

<p><img src="/wp-content/uploads/2016/10/IMG_5335.jpg" alt="" width="640" height="408" class="alignnone size-full wp-image-21594" srcset="/wp-content/uploads/2016/10/IMG_5335.jpg 640w, /wp-content/uploads/2016/10/IMG_5335-300x191.jpg 300w, /wp-content/uploads/2016/10/IMG_5335-207x132.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>日本と海外の違いの話</h2>

<p><a href="https://html5experts.jp/?p=21528" data-wpel-link="internal">前編</a>に引き続き、ゲストはIncrements及川卓也さんとヤマハ河合良哉さんです。</p>

<p><img src="/wp-content/uploads/2016/10/ALL-3.jpg" alt="" width="640" height="90" class="alignnone size-full wp-image-21595" srcset="/wp-content/uploads/2016/10/ALL-3.jpg 640w, /wp-content/uploads/2016/10/ALL-3-300x42.jpg 300w, /wp-content/uploads/2016/10/ALL-3-207x29.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「実際に今年海外に行かれて困ったことや、こういうところが違うの？とか、びっくりしたエピソードがあればお聞きしたいのですけれど、何かギャップとかありますか？日本のカルチャーと（比べて）」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ギャップですか？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい。例えば、僕が一番気になるのは食べものとかです。海外の姿は想像ではあるんですが、日本だとそこらへんに自動販売機やらコンビニやらがあって、買いたいジャンルのものがすぐに手が届くところにいっぱいある。たぶん海外というか、今お勤めされているサンフランシスコは土地も広いこともあるし、そういうのはないんじゃないかなって思って。</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうなんです。そこおっしゃる通りで、日本に帰ってきていつも便利だなって思うのがコンビニエンスストアの存在なんですね。アメリカにもコンビニエンスストアはあるんですけど、そこに陳列されているものが全然違ってるんです」</p>

<p>「日本だとちょっと小腹がすいたなって思うとおにぎりだったり、サンドイッチや菓子パンは大体100円とか200円くらいで手に入るというのが大体じゃないですか。向こうに行くとおにぎりとか、サンドイッチとか…おにぎりはないにしてもサンドイッチとかは結構な値段しちゃったり。買って食べると、えっこれすごいまずいみたいなのがあったりして。気軽に買えないんですよね、怖くて。逆にがっかりしちゃうことがあるので（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「こっちで買うような気持ちで、サンドイッチ買うっていうことはできないんですね」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「やめたほうがいいかなと（笑）。そこは日本に帰ってきてすごい便利だなと思いつつ、便利すぎて日本に帰ってくるといっぱい食べちゃうんで、夜寝るときなんか胃がもたれてるなとか」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なんかアメリカのそういったコンビニにとかで売ってるやつって、見た目からしてまずそうですよね」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「見た目あまりこだわらないじゃないですか」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「こだわらないですね」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「こだわるときはなんかカラフルな感じになっていて、これはこれで食べたらまずそうな感じだなって（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「本当M&amp;M&#8217;sの配色の感じですよね。もうすごい赤とか、すごい黄色とか」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なんか脳の奥の方でこれ食ったらダメだよって、自分に語りかけてるようなものしかないんですよね（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「色に対する感覚が違うんですかね？」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「原色が好きなんじゃないですか？知らない（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「原色系本当多いですよね。例えば食べ物の話じゃないですけど、MicrosoftのWordとか開いて、1番最初に図形とかパッと入れるとすごく緑の色が出てきたりするわけですよ。これすごい昔から不自然だなって思ってたんですけど、アメリカのそういう食材とか見ると、なるほどなって逆に納得しちゃって（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そういうことですか」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「おそらく。だから色に対する感覚が、日本人と違うところは間違いなくありますよね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「やっぱり、普段慣れ親しんでいる色がそういう配色のものが多いという環境による要因なのか、人種による気質がそうなっているのかというと、どっちなんでしょうね？それはわからないですね」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「どうなんでしょうね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「とりとめのない質問をしてしまって、今は反省しています」</p>

<h2>年齢が違う人とのコミュニケーション</h2>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「この後、僕らはどこにいく感じになるんですか？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「えっとですね…」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「別に早く終われって言っているわけじゃないですよ。まだ全然話してもいいんだけど、この議論はどこに流れ着くのかなと思って（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「本来僕がここでやらなきゃいけないのは、ゲストのお二方の面白い話を伝えないといけない」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「今ね、加藤くんが面白い人になっているから（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ごめんなさい。では、みんなが聞きたいんじゃないかなって思ったことを及川さんに質問していいですか？」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「いいですよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「去年転職されて大きく環境が変わったと思うんですけど、お若い方が多い会社に入られたじゃないですか。年齢が違うと、共通の話題だったり当時流行っていたものも違うと思うんですけど、年齢が違うことでコミュニケーションが難しい部分があったりするんでしょうか？」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「たぶんね、みんなが気使ってくれるんですよ。だからあまりそういうので困ったことはないですね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「長老が入ってきたという感じで、一生懸命おじいちゃんから聞いた話とかを思い出して話してくれるから」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「皆さんとは飲みに行ったり、遊びに行ったりするんですか？」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。でもね、真面目な話わからないというか、今同じ世代でも趣味が違ったら全然話通じなかったりしません？昔って、視聴率30%取ったようなドラマがあったらみんなそれ見てるとかってあるけど、今は高校の時見てたドラマで全員に絶対通じるものってなかったりすると思う。趣味が違った人とはあまり通じないっていうことは、普通だったりするんじゃないかなって思うんですよね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「あまり困らないし、わからなくても別に気にしないし、そこで教えてもらえればいいかな。それ何？って言って、あーそんなのあったんだ、その頃俺何やってたかなー？みたいな感じで。で、気にせず僕、昔の話ガンガンしますから（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「素直にやり取りできるのってすごく大事ですよね。そういった謙虚さってすごいです」</p>

<h2>新しい技術に対する取り組み方の違い　</h2>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「僕は仕事が変わって、学生とやり取りすることが多くなったんですけど、彼らってどんどん新しいことをやろうとするのに物怖じしない子が多いなと思って。新しい言語が出たら、『よしやってみよう！』ってやるんですけど、僕だと『これいつまで使えるのかな？』とか、『実際これ覚えたとして何の役に立つんだろう？』とか考えてからやっちゃうんですよ」</p>

<p>「彼らは、『それ面白い使ってみよう、動いた！』って。で、どんどんやっていくっていうので、なんか自分歳をとったなって感じることがあって。一概にそういうわけじゃないですけど、年齢が離れれば離れるほど物事に対する取り組み方って変わってくるのかなって思って」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「でも、技術がずっと使われるかどうかなんて全然わかんなくって、僕だって大学時代に使ってたのってFortranですけど、今Fortranなんて全く忘れてる。10年くらい前Web系のやつやっていた時はPerlだったけど、Perlもほとんど覚えてないし、その時にFortranが自分の30年後、40年後も使ってるかなんて考えたこともないし」</p>

<p>「Perlの時だって別にそこまで考えたわけじゃなくて。そこはあまり気にしないし、逆に、大きく内容が違うならともかく、技術ってどこかで関連性があるから一つの技術を覚えた時に、ここの応用だとか、これはここでいう何だっただろうってことを考えるだけで飲み込みが早いってことは多いと思うんですよ。プログラム言語じゃない話をすると、僕OSを作ってたわけですよね、Microsoft時代に」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「今Webブラウザって結局はOSなんですよ。中でやっているものっていうのは、普通にスケジュール管理みたいなものもあれば、スレッド管理みたいなものもある。メモリ管理みたいなものもあるし、ガベージコレクションどうしようとかっていうところとかって中で普通にガチガチ入ってたりするわけですね」</p>

<p>「そうすると、ブラウザがOS化してくっていう流れになった時に、OSを作っていた時のいろんな知識だとか経験って役に立つんですよね。たぶんそれプログラム言語でも一緒ですし、ネットワークプロトコルでも一緒だし、なんでも同じだと思うんですよ。例えば、ネットワークって昔TCP/IPが流行る前とかっていうのは、普通にシリアルコネクタRS232Cっていうのがあったんですよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「その上で、パソコン通信のためのやり取りだとか、ファイル転送のプログラムがあるわけですよ。Kermitって言われているのがあって、僕はKermitをあるプラットフォームに移植したんだけれども、そこでやっているプロトコルのいろんな手順で、結局はその後TCP/IPで見た時に同じ様なことをやっているんですよ」</p>

<p>「結局はウインドウ制御みたいな話が出てきたりとかっていうのは、基本は一緒なんですね。ヘッダーがあってトレーラーがあってだとか、あとはチェックサムだかなんかをつけて、ちゃんとそこのところのデータの妥当性をチェックしてますみたいな当たり前のところっていうのは、どんなプロトコルになったってそんな変わらなかったりするんですよね」</p>

<p>「なので、一旦覚えたってやつが完全に無駄になることはないと思うんですよ。そのままその技術が使えるかっていうとそれはこの世の中だし、これだけ技術が早いんで、それは期待しないほうがいいとは思うけど、なんかで流用できるし、生きてくるんじゃないかなと思います」</p>

<p>「なんかこれエラー発生しましたけど大丈夫ですか？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「これは…よくないエラーですね」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「じゃあ、僕らは会場にいる人に語りかけましょう。会場限定！」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「YouTubeの配信の方が今壊れてまして」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「配信の方は申し訳ないです」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「聞こえてないですけどね、配信の人には（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「河合さんはなんかそういうのないんですか？僕はいいことばっか言っちゃったけど、こういうのを見て、その技術には取り組んだ方がいいかもしれないけど、それはちょっと流石に慎重になった方がいなって思うようなものとか」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「まだ僕はおそらく経験が浅すぎていっぱい取り込んでる方だと思っているので、そこまでのところはないですけど、おっしゃった通りです。1つ学んだことっていうのはそこで学んだものが終わったとしても死ぬわけではなくて、必ずどこかで生きてくるっていうことが所々感じるとこはもちろんある。だからやっぱり物怖じしてやらないというよりは、やってしまった方が面白いんじゃないのかなっていう気はします。私事をお話しするんですけど、このWebBluetoothを始めたのは1カ月か2カ月くらい前なんですよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうなんですか」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「面白そうだなっては思っていたんですけど、やれる機会があまりなくて、まあちょっとやってみようって始めてみて、もちろんまだGoogleのChromeしかおそらく対応していないので、このあと使える技術かどうかなんてわからないわけなんですよ。なんですけど、やっぱり面白いからやってみよう感じになっているので」　</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうそう！だからその技術がなくなっちゃうっていうことを恐れている人は、会場にもいたんですけど、あんどうやすしさんっていう人がいるんですね。知っていますか？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい！」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「彼ね、今日ね、引っ張り出したっていうウエーブ(Google Wave※)のTシャツ着てきてましたから。ウエーブ本出したらウエーブがシャットダウンすることになって、シャットダウンのアナウンスがあった数日後に出版になったっていうね（笑）。人生で一番不幸な人みたいな。なんか彼が取り組んだ技術はだいたいdeprecateされるっていうDEATH NOTEの生き証人みたいな人がいるんです。でも全然恐れていないで、いろんなことどんどんやってますよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど。これからはそういう姿勢をとっていった方がいいことが多いかもしれませんね。学生のやり方を見て僕がいいなと思ったのが、Webの質問サイトとかに質問をたくさん書いていたんですよ。それが1個2個じゃなくて10個20個とかすごく書いていて、調べて分からなかったらすぐに聞いてどんどんやっているんだって思って」</p>

<p>「まとめたものがあったらまさしくQiitaとかに書けばいいし、そうすると最新の技術が出てきた時に、早めにキャッチアップできてQiitaみたいな記事が書けると、みんなに注目されて界隈で目立てるというか、そういうプラス面があるじゃないですか。その姿勢ってすごくいいなって思いました。スモールスタートというか、物怖じするんじゃなくて、面白そう、ちょっとやったらできるんじゃないか、頑張ってやってみよう、わからなかったら周りに聞こう、まとめたらアウトプットしようみたいな、そういうエンジニアになっていくのがいいんじゃないかって」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「でも技術者って、基本面白いからその技術に取り組むんじゃないですか？例えばArduinoだとかRaspberry Piとかも、今でこそIoT的に使えるかもしれないけど、最初はただの電子工作じゃないですか」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「いわゆるおもちゃみたいな位置付けだったんですよね」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「すべての技術はおもちゃから始まるんですよ。僕それもうずっと言っていて、要はイノベーションのジレンマっていう話あるじゃないですか？あの破壊的イノベーションっていうのは、基本的にその時にその業界において、ほとんどおもちゃって思われているやつなんですよ。メインフレームがあった時に、僕がいたDECって会社が作っていたミニコンっていうのは、ほとんどおもちゃみたいなものなんですね。ミニコンとかがある程度出てきてダウンサイズが見えた時にもうワークステーション、さらにそれ飛び越えてパソコンなんておもちゃなんですよ」</p>

<p>「当時のNECの98シリーズを作った時に、おそらくNECの98をやれって言われていた技術者の人は、メインフレームをやっていた時に、そこに部隊異動になったら勘弁してくれって思うわけですよ。ほとんどおもちゃって言われていたのが、あっという間にメインストリームの技術を追い越していくっていうのが破壊的イノベーションなんですね。基本おもちゃっていうところで、これ面白いっていうのが実は人が集まってきて育っていくと、それがメインストリームになって、今までの事実を置き換えていくということが起きているんですよ」</p>

<p>「みんなが面白いって思っているやつとか、さっき言った生き残るかもっていうのは何かあると。生き残るかもしれないっていうのは、確率論でいうとあるかもしれないですよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そこにいろいろ面白い展示がありますけど、WebのMIDI関係今一番面白いなって思っていることってどういうことですか？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「面白いなって思っていることですか？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「さっき及川さんが、空間の？概念がWebで表現できるって、そしたら音もその空間、例えばちょっと動いたらそっちから聞こえるっていうそういう表現ができたりっていう風になっていくんでしょうか？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「この間Chromeの方に実装されたJUMP(※)っていう、Googleの出している専用のプラットホームでしか見られない映像でしたっけ？音響をWebブラウザ上で再現できるようになっていて、そのJUMPでフォーマットで録られた音声は3Dの音響でちゃんと聞けるっていう状態になっていたりします」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「もうそういうことができる時代になっていたんですね」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。だいたい音って、結構最初は取りかからないんですよ。最初は映像が入って、目で見る方が完成し出すと、音ができるみたいな。WebオーディオとかMIDIもそうだったんですけど。Canvasが動くようになって、WebGLが動くようになって、じゃあは次は音だろってみたいな流れになるわけですよ。音ができると、その次は3Dだという話になるわけですよね。CanvasからWebGLになったみたいに。今その流れがきているかなって感はありますけどね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「最近WebVRとか言ってWebブラウザ上でVRができるようなフレームワークができていたりするんですけど、そこは面白いかなっていう気はします」</p>

<ul>
<li>Google Wave：過去に米グーグルがサービス提供していたコミュニケーション及びコラボレーションツール。2010年5月にはサービスを一般公開したが利用者が増えず、同年8月4日に開発中止を表明。サービス自体は2012年4月末まで継続された。</li>
<li>JUMP：グーグルが提供するVRコンテンツ作成システム</li>
</ul>

<h2>まとめ</h2>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「この後13時からセッションされるんですよね？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。13:20ですね、そろそろ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そちらの方で今のような話とかも？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。まさに今頭の中でそこで話す内容ちょっと話しちゃったな、みたいな。どうしようみたいな感じだったんですけど（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「今ここで先にお話ししてしまったかもしれませんが、その話も聞けるということなので、ぜひご興味ある方は河合さんのセッションをご覧になってみてはと思います」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「よろしくお願いします」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「準備のお時間もありますよね、すみませんでした」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「いえいえ、13:20からなんで大丈夫です。おそらくまとめをするとなると、とりあえずやってみろっていうことですよね。口で言う前にとりあえず手を動かしてみろと。それが自分を作るっていう感じなんですかね？」</p>

<ul>
<li><a href="https://youtu.be/RP96J1hbl6c" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">河合さんの講演動画はこちら</a>からどうぞ！</li>
</ul>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「純粋に面白いんじゃないじゃないですか？学生さんもきっと面白いと思ってやっているんで。逆に言うと、なんで加藤さんやんないのかなっていう（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なんかちょっとひねくれているんでしょうかね？」</p>

<p><img src="/wp-content/uploads/2016/10/kawai-oikawa-1.jpg" alt="" width="200" height="87" class="alignnone size-full wp-image-21583" /><br>
（笑）</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ごめんごめん、いじめたかったわけじゃないから（笑）。元気出そうよ！なんかツラいことあった？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「いえ、大丈夫です」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「今日夜行のバスで福島から来てるんですよ。おそらく疲れてらっしゃる」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「すみません、多大なフォローをいただきありがとうございます！」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「いえ、とんでもない」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「すみません、スピーカーを入れていただいた方もどうもありがとうございました。この辺りで、第1回目は終了したいと思います」</p>

<p><img src="/wp-content/uploads/2016/10/ALL-2.jpg" alt="" width="300" height="90" class="alignnone size-full wp-image-21591" srcset="/wp-content/uploads/2016/10/ALL-2.jpg 300w, /wp-content/uploads/2016/10/ALL-2-207x62.jpg 207w" sizes="(max-width: 300px) 100vw, 300px" /><br>
「ありがとうございました！」</p>

<h2>ラジオブースで放送した全ての内容を動画で公開！</h2>

<p>放送1回目だけでなく、ラジオブースで放送した全ての内容を動画でも公開中です。「地方で日本で働く海外で働くの話」は、動画の[3:03:38]-[3:50:50]です。</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/mwCbnwQnbko" frameborder="0" allowfullscreen></iframe>

<ul>
<li>「地方で日本で働く・海外で働くの話」 by DJ KATO [ゲスト：及川卓也さん、河合良哉さん]</li>
<li>「ハードウェア楽しいですよね」 by DJ KATO [ゲスト：中川友紀子さん、羽田野太巳さん]</li>
<li>「ハートブレイクカフェ」 by DJ KATO &amp; 物江修さん</li>
</ul>

<p><DIV align=right>（撮影・写真提供：HTML5 Conference 2016撮影スタッフ）</div></p>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2016 特集]]></series:name>
	</item>
		<item>
		<title>及川卓也さん、河合良哉さんに聞いた「地方で日本で働く・海外で働くの話」（その１）──HTML5 Conference 2016☆番外編</title>
		<link>/djkato/21528/</link>
		<pubDate>Tue, 01 Nov 2016 00:40:00 +0000</pubDate>
		<dc:creator><![CDATA[加藤拓明]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Web MIDI API]]></category>
		<category><![CDATA[海外]]></category>

		<guid isPermaLink="false">/?p=21528</guid>
		<description><![CDATA[連載： HTML5 Conference 2016 特集 (7)HTML5 Conference 2016の展示ブースでは、私DJ KATOによる特別ラジオをお届けしておりました。すごく面白いので、Increments及...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conf2016/" class="series-403" title="HTML5 Conference 2016 特集" data-wpel-link="internal">HTML5 Conference 2016 特集</a> (7)</div><p>HTML5 Conference 2016の展示ブースでは、私DJ KATOによる特別ラジオをお届けしておりました。<br>すごく面白いので、Increments及川卓也さんとヤマハ河合良哉さんがゲストに来てくれた「地方で日本で働く・海外で働くの話」を完全版テキストで書き起こしてみました。ぜひ、カンファレンスレポートの番外編としてお楽しみください！</p>

<p><img src="/wp-content/uploads/2016/10/IMG_5323.jpg" alt="" width="640" height="403" class="alignnone size-full wp-image-21571" srcset="/wp-content/uploads/2016/10/IMG_5323.jpg 640w, /wp-content/uploads/2016/10/IMG_5323-300x189.jpg 300w, /wp-content/uploads/2016/10/IMG_5323-207x130.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<h2>まずは、自己紹介をお願いします</h2>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「海外にも地方にも行っていないのに、なぜか呼ばれています。Increments株式会社の及川卓也です」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ヤマハ株式会社の河合良哉です。よろしくお願いします」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「地方にも海外にも行っていないというお話がありましたが、環境が大きく変わったという面で共通点があると考え、広い意味での定義としてとらえてほしいです」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「まず、及川さんは…」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ちょっと待って。お前は誰だという感じだから（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「あ！僕ですね！私、会津若松にあるIT系の会社に勤めております、加藤と申します。DJ KATOと名乗って、こういった司会をやらせていただいてます。どうぞよろしくお願いします」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「イエーイ！」</p>

<h2>及川卓也さんの基調講演のお話</h2>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「先ほど基調講演を終えられたばかりですよね？（基調講演の後で）時間ありました？」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「1つセッションを聞いてきましたよ、React.jsの難しいやつを。途中で抜けてきちゃったんだけど」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「結構技術的な話を聞いてきたんですね。及川さんはどのようなお話をされたんですか？僕は聞きに行けなかったので…」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「聞いてなかったんだ！（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「準備をしていたので…」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですか、ご苦労様です。僕は何の話をしたんだっけ？Webの話をしたんですよ。一応Webのカンファレンスなので。なんか飲んでもいないのに酔っ払ってるみたいですみません（笑）」</p>

<p>「Webは3つの側面がありますねという話で、アプリケーションの技術としてのWebとメディアとしてのWeb。あとはインフラ技術としてのWebで、それぞれいろんな局面を迎えている。でも今後も投資して、さらに発展させていかなきゃいけないですね、というすごくいい感じの話をした気がします」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど。そういった広い視点でのお話をされたという感じですね」</p>

<p><img src="/wp-content/uploads/2016/10/kawai-oikawa-1.jpg" alt="" width="200" height="87" class="alignnone size-full wp-image-21583" /><br>
？？？？？？？？？？？？？</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ごめんなさい！緊張してしまって、わけのわからないことを言って申し訳ないです」</p>

<p>「基調講演を聞いていないのに申し訳ないのですが、プラットホームとしてのWebって、例えばどういう変化が起きてて、これからどうなるということなんでしょうか？」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ずっと起きている話で、要は機能的にもどんどん追加されてきていると。で、ある程度WebのAPIってそこそこ揃ったようには見えるんだけれども、実はWebって古くからコンピューターディスプレイがあって、キーボードがあって、マウスがあるというところから、やっと今スマホみたいなところになってきている。そういった今までのデバイスやメディア系のものを超えたものに、これからはなっていくでしょうという話をしました」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ちょうど私の前にW3Cで慶応大の中村修先生が、HDRの話をされていました。要は輝度の部分をJavaScriptでWebからコントロールできたならば、映像が大きく変わるだろうって話を少しされてたんです」</p>

<p>「それにインスパイアされて、音の部分もaudioタグがあって、Web MIDIがあって、Web Audioもある。そんな状況ですが、実は2009年という早い段階からGoogleは考えていたんです。空間音響みたいなところで、要はVRのサウンド版。どこの位置にいたならばどういうふうに音が聞こえるはずだということを、拡張機能として公開しているのがもうあったりするんですね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「今までの普通にコンピューターディスプレイやスピーカー、ヘッドホンだけでは想像もつかなかったようなところまで、実はそのアプリケーションとしての可能性もまだまだ可能性がありますねって話」</p>

<p>「あとはWebAssemblyの話で、もはやそうなってくるとJavaScriptとHTMLとCSSとは全く違うアプリケーション開発技術も出てくるから、楽しいと同時にいろいろと考えなきゃいけないねっていう話をした感じです」</p>

<ul>
<li>【基調講演】<a href="https://html5experts.jp/miyuki-baba/21224/" data-wpel-link="internal">Webはオープンな分散型OS、アプリケーション・メディア・プラットフォームとしてのWeb技術─中村修教授、及川卓也氏が語ったHTML5の未来</a></li>
</ul>

<p>「大丈夫ですか？これで今回のテーマにだんだん近づいてきます？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「まだ1mmも近づいていないんですが、話の流れを大事に進めていこうと思います」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「了解です、任せます。ちょっと不安になりました（笑）」</p>

<h2>河合さんに聞いたWeb MIDIのお話</h2>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「河合さんはWebとMIDIに関してお仕事上関わりがあると思うのですが、その方面で、今までできなかったことが今後できるようになるものにはどのようなものがありますか？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「この隣にWeb Music Developers JP(※)というコミュニティーが主催している展示会場があって、そこで缶が鳴っていますけど、実はMIDIで動いていたりするんですよ。今まさに及川さんがおっしゃった、プラットホームとしてのWebのところでMIDIも入ってくるのかなと。外部のExtarnalのデバイスとブラウザが直接つながると、そこで起こったことは僕が言うのもすごく手前味噌なんですけど、楽器業界がWebの業界にどんどん入ってきたと言えるんじゃないかと思います」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「楽器が…Webに？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「これも手前味噌なんですけど、ヤマハがrefaceというシンセサイザーを去年出したんですね。そのシンセサイザーは、普通のシンセサイザーだと大体ボイス、音色のパラメーターを保存するのに楽器に載っているメモリに保存するんです。だけど、そのrefaceというモデルに関しては保存する部分がなくて、どうするかというとWeb MIDIで接続をして、ブラウザから直接Cloudの方に保存する。そういうことで少し形が変わったかな。Webをストレージとして使うというような考え方に移ったと」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「もう少し話すと、プラットホームとしてのWebという意味で、僕も昔から思っていて、やっぱりブラウザというとディスプレイがあってキーボードが目の前にあって、そこから外にあまり出ないよみたいなイメージがあると思うんですけど、それがまずMIDIで楽器の業界で外に出ましたと」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「今ですね、GoogleのChromeにしか搭載されていないのかもしれないですけど、WebBluetoothっていうのがあって。このWebBluetoothというのを使うと、今度Bluetooth SMARTって呼ばれる世の中でいうBLEというやつですね。BLEの機器に直接接続ができるんですよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「あそこにM&amp;M&#8217;sが入ったおもちゃみたいなのがあるじゃないですか。あれ実はBluetoothで接続をして、ボタンを押すと中に入っているM&amp;M’sがババババーッと出てくるおもちゃなんですけど、ああいうものが作れるようになるわけです」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど。これたぶんラジオで聞いている人にはちょっと…」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「見えないですね（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「見えづらいかなと思うんですけど、このすぐ隣にWeb Music Developers JPさんのブースがありまして、そこにWeb MIDIといろいろなものがあって、PCとMIDI楽器なんでしょうか？あれは？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。真ん中に並んでいるのはMIDIを使ったコントローラーで、その次に並んでいるのがライブビーツっていうブラウザを楽器にしてしまうような作品です。で、その隣にあるのがシーケンサー、これFirebaseを使って、いろいろな人と進行しながら音楽を作っていくハッカソンでハックしてもらった作品が展示されています。その隣には、これもWebの技術を使って照明をコントロールしようというもので、照明がコントロールされています」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「照明を、MIDIで？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はいそうですね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「あ、そうなんですね」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「MIDIってミュージカルインストゥルメンタルデジタルインターフェイスという名前なんですけど、そのプロトコルを別の用途で使ってしまっているということですね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「つまりMIDIって、タイミングだったり音色だったりという概念があって、それを表示のタイミングだったり、どの色にするかに置き換えて命令を出すという感じなんでしょうか」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。おっしゃるとおりでございます」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「その隣に並んでいるのがMIDIに関係ないですけど、WebBluetoothで接続されているお菓子が出てくるおもちゃです」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「さっき河合さんがブースを作っている準備段階をお見かけしたんですけど、M&amp;M’sが勝手に動いてチョコレートをバラバラと吐き出しているのを見ましたけど、あれもMIDIでやっていた？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「いや、あれはMIDIとは関係なくて、Bluetoothで接続をしてBluetoothで動かしています。もう一回出してみます。……あんな感じで」</p>

<p>※筆者注：↑Bluetoothで動かしているとさっき河合さんが言ってました。話を聞いていない。</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「今出てる！」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ここから接続しているんですけどね、全然見えないですよね（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「今まではMIDIというと、鍵盤があってそれをUSBでPCに繋ぐと、そのPCのソフトで楽器が鳴る。それは専用のソフトがあってそのソフトが鳴るイメージだったものが、今はWebブラウザがあればそのWebブラウザの表示の機能でMIDIのUSBに繋ぐだけで全部音が鳴ったりだとか、専用ソフトになるようなことが全部出来てしまうという状態になっているということですね」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。それを楽器以外のもので使うことのも可能なので、そういったとこに応用していくっていうのもありかな」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど」</p>

<h4>＜参考情報＞</h4>

<ul>
<li><a href="https://groups.google.com/forum/?hl=ja&amp;fromgroups#!forum/web-music-developers-jp" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Web Music Developers JP のgoogleグループ</a></li>
<li><a href="http://jp.yamaha.com/products/music-production/synthesizers/reface/#tab=feature" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">reface</a></li>
</ul>

<h2>河合さんがサンフランシスコに拠点を移されたお話</h2>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ちなみに今年サンフランシスコの方に拠点を移されたということで、それはどういった目的で移動されたのですか？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「夢にも思ってもなかったのですが、ありがたいことに駐在の司令を出してもらえ、今年1月下旬からアメリカに住んでます」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「日本でのWebのMIDIの普及と、海外でのWebのMIDIの普及には違いがあるんでしょうか？ご自身で決めていったというわけではないという話だったので、そういう依頼があったわけではないと思いますけど、海外に行ったことで日本のWebMIDIの盛り上がりと、海外の盛り上がりの違いがあったらお聞きしたいです」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「基本的に僕がまだ全然知らないだけかもしれないですけど、日本で今展示しているのがWeb Music Developers JPなんですけど、ここが異常に盛り上がっている感があるというのが僕の印象です（笑）」</p>

<p>「海外にWebでミュージックをする方たちがいるかなというと、あまりいないかなという気がしています。とはいえ、音楽で盛り上がっているというコミュニティはあるみたいで、その方々はいろいろなことをやっているみたいです。例えばWebGLを使って音楽と組み合わせて作品を作ったり、そういうのをアメリカでよく見かけることがありますね」</p>

<h2>及川さんが海外で仕事をしていた話</h2>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「及川さんは海外で勤務された経験もおありなんですよね、いつ頃でしたでしょう？以前働いてらっしゃったのは日本DEC(※)にいらした後、Microsoftで働いていた時に海外にいらしたと…」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうです、よく知っていますね！」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ネットで調べたら出てきました」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「その前に加藤さん声ちっちゃくない？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「すみません、気持ちの萎縮が声に出ていたのでちょっと張ります」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「あと、マイクは柄の部分を掴んだ方がいい気がするよ（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい、こんな感じでよろしいでしょうか？（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい、ぜひ元気よくいきましょう！」</p>

<p>「私今から20年ちょっと前にまだMicrosoftが小さかった時ですね。Windowsのエンタープライズ版のWindowsNTっていう今のWindowsなんですけど、それの元のバージョンを作った時に1年くらい派遣されました。シアトルというか、郊外のレドモンドにある今Microsoftの本社があるところに行きました」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「その時に、日本から海外に行かれたということで、暮らす環境だったり仕事のやり方だったり、すごく違いを感じたのではないかと想像するのですが、その辺りはどうでしたか？」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね、だいぶ違いましたね。しかも当時ってインターネットまだないんですよ。あるんですけど、Webはまだ作られていない時だったんですね。ちょうど私がレドモンドにいた時に、Webっていうものがあるらしいぞというので、NASAの宇宙の写真とかを最初に見たのを覚えているくらいなんですよね。なかったんですよ」</p>

<p>「つまりどういうことかというと、行く前に現地の情報とかそんなに分かんなくて、ニフティサーブという今のニフティの原型があり、そこがアメリカのコンピュサーブっていうパソコン通信にゲートウェイで接続きたので、そっちの方のフォーラムに入ったりしていろんな情報を入手したりしていたんですね。また逆に、アメリカ勤務していても、日本の情報がほとんど入ってこないんですよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうなんですね。</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なので、どっちがいいかというと正直分からなくて、昔は昔でそういった現地に行かないと分からないものを、現地に行って分かる面白さとか醍醐味があったんですけれども、不便といえば不便でした」</p>

<h4>＜参考情報＞</h4>

<ul>
<li><span style="font-size: 90%;">日本DEC：日本 ディジタル イクイップメント株式会社</span></li>
<li><span style="font-size: 90%;">ニフティサーブ：NIFTY-Serve、のちにNIFTY SERVE、1987年から2006年までニフティ株式会社が運営していたパソコン通信サービス。</span></li>
<li><span style="font-size: 90%;">コンピュサーブ：CompuServe、アメリカのパソコン通信会社。</span></li>
</ul>

<h2>インターネットで知ることと、現地に行って知ることの話</h2>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど、それは良し悪しあるんですね。今は狙った検索ワードを入れれば、大抵のものはヒットして分かるという状態になっているじゃないですか。それは日本にいても海外にいても見れるので、ネットで繋がっていれば一緒に仕事もできるし、知らなかった情報もすぐネットでキャッチアップできるような環境に今は変わってきている気がする。なので、海外に行って困るというのは前と比べると少なくて済む状況になってきているのではないかと思うのですが」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。今僕も向こうにいるわけなんですけど、インターネットから大体情報が入ってきますし、すごく変わったかなと思うのが、テレビもすごく変わったと思うんですよ。家にソニーさんが作っているnasne（ナスネ）™というサーバーを、日本の自宅に置いているんですね。そうすると、海外からも日本のテレビ番組が普通に見れるんですよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「撮りためておいて、普通にそれが見れるという感じなんですか？」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうですね。撮りためもできるし、リアルタイムで見ることもできたりするので、アメリカにいるのに日本のテレビ番組を見てたりすることもあったりして、その辺は本当に情報がすごく入って来やすい。自分で取りに行こうと思えばいつでも行けるという状態になっているというのは間違いなくあるという気はするんですけど、1つ僕が結構思うのは、情報ってやっぱり情報なんですよ」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/kwaisan2-1.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21628" srcset="/wp-content/uploads/2016/10/kwaisan2-1.jpg 640w, /wp-content/uploads/2016/10/kwaisan2-1-300x40.jpg 300w, /wp-content/uploads/2016/10/kwaisan2-1-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「重要なのって情報の周りにある雰囲気だったり、文化的な背景だったり、そういうところが結構重要だということを僕は思っているんです。情報は入ってきやすくなってきたけど、ディテールのところは現地に行かないと分からないかなという気がしているんですけど、及川さんその辺いかがでしょうか？」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうなんですよね。英語圏でアメリカにいると、インターネットで得られる情報と、現地で得られる情報っていうのはもちろん差はあるけれど、そんなには多くないんですね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「ただ他の国に行った時に、我々が現地の言葉を知らなかったりすると、どうしても英語の情報に頼るじゃないですか。もしくは日本語の情報に頼ると。例えばヨーロッパに行った時に現地の人から教えてもらったのは、トリップアドバイザーの情報でいい店だって言われて行くわけですよ。それはアメリカ人のテイストにあってる店がレコメンドされるだけだよってはっきり言われたんですね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「なるほど（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「だから、本当に現地の人が行くところで推奨している店が、そこに引っかかるとは限らないということを言われたから、やっぱりインターネットで得られる情報と現地の本当の情報は必ずしも一致していないことは覚えておいたほうがよくて。ただ、今ちょっとトリップアドバイザー、最近元Googleの僕の友人が日本法人の社長になったんですけど」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そうなんですか（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「まあ、それはいいんですが（笑）」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「だけれども、逆に言うとそれはそれで便利なんですよ。なぜかというと、トリップアドバイザーでいいって言われているのは確実に英語が通じたりだとか、アメリカ人と日本人のテイストはだいたいあっているんで、そんなに間違いはない」</p>

<p>「ただ、やっぱり今言ったみたいに、本当に現地で価値があるって言われているものが英語で情報として流通しているかどうか分からないところはあったりするんで、やっぱりネットの情報で便利になったと思う反面、ネットだけでいろんなところに行こうとしたら、実は現地でしか味わえない醍醐味だとか、本当に大事なものを見失ってしまう可能性はあるかもしれないなって思いますね」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「そういう側面もありますね」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「例えば、逆にふっていいですか？　地方に東京から移住した加藤くんに聞きたいんですけれども」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「はい」</p>

<p><img src="/wp-content/uploads/2016/10/oikawasan-2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21624" srcset="/wp-content/uploads/2016/10/oikawasan-2.jpg 640w, /wp-content/uploads/2016/10/oikawasan-2-300x40.jpg 300w, /wp-content/uploads/2016/10/oikawasan-2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「要は、もう日本語で普通に会津若松の情報って分かるじゃないですか。でも現地に行ってみたら全然違ったっていうようなことって、実際に暮らし始めてみてからあるんですか？」</p>

<p><img src="/wp-content/uploads/2016/10/katosan2.jpg" alt="" width="640" height="85" class="alignnone size-full wp-image-21621" srcset="/wp-content/uploads/2016/10/katosan2.jpg 640w, /wp-content/uploads/2016/10/katosan2-300x40.jpg 300w, /wp-content/uploads/2016/10/katosan2-207x27.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><br>
「いくつかやっぱりありますね。そもそもあんまり店がないのかなって思っていたら、みんながWebにあげていないだけで、実際に足を運んでみるとすごく美味しい店が近くにたくさんあったりとか、そういうギャップがあったり。あとは食べログとかを見てお店を選ぶんですけど、評価が普通なお店でも行ってみると店員さんがすごく優しくてフレンドリーで、何回か行ったら一品増やしてくれたりとか、これはちょっと分からないだろうなとは思いました。それは現地に行ってこそ分かるものだなって分かりました」</p>

<p>「今は逆に検索すればわかるから、ネットがつながってるから、情報共有も簡単にできるだろうと思い込むのは危険なところはありますよね。その辺は会社によってやり方は違うと思うんですけど。Microsoftなんかはレドモンドに社員を皆さん集結させて、なるべく物理的に近くにいてコミュニケーションロスを減らそうとしているとどこかで見たのですが、そういう会社もあれば、Googleは逆にどこにいても仕事はできるからというかたちで、物理的に散らばって要所要所で集まって意思疎通をしていると聞きました」</p>

<p>「そういうスタイルや、会社さんごとにいろいろなやり方でやっていると思うんですが、1つ言えるのは以前よりも単純な情報の共有はすごくやりやすくなったので、海外にいきなり行くとなった時も、以前のような準備がそこまでいらなくなってきているのかなと感じました」</p>

<h4>＜参考情報＞</h4>

<ul>
<li><span style="font-size: 90%;"><a href="http://www.jp.playstation.com/nasne/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ナスネ</a>：nasne、地上/BS/110度CSに対応したデジタルチューナーと大容量ハードディスクを搭載したネットワークレコーダー＆メディアストレージ</span></li>
</ul>

<p>──後編は「日本と海外の違いの話」「年齢が違う人とのコミュニケーション」などの話を紹介します。</p>

<p><DIV align=right>（撮影・写真提供：HTML5 Conference 2016撮影スタッフ）</div></p>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2016 特集]]></series:name>
	</item>
		<item>
		<title>モバイルWebのUIを速くする基本テクニックがわかる──Google I/O 2016 High Performance Web UI</title>
		<link>/furoshiki/19276/</link>
		<pubDate>Fri, 08 Jul 2016 00:00:28 +0000</pubDate>
		<dc:creator><![CDATA[川田寛]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[I/0 2016]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">/?p=19276</guid>
		<description><![CDATA[こんにちは、ふろしきです！ 私はHTML5 Experts.jpで、過去2年ほどGoogle I/Oの情報を発信し、Web技術の変化についてお伝えしてきました。振り返るとGoogleは、2014年にモバイルWebの提唱と...]]></description>
				<content:encoded><![CDATA[<p>こんにちは、<a href="http://furoshiki.hatenadiary.jp/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ふろしき</a>です！</p>

<p>私はHTML5 Experts.jpで、過去2年ほどGoogle I/Oの情報を発信し、Web技術の変化についてお伝えしてきました。振り返るとGoogleは、2014年に<a href="https://html5experts.jp/furoshiki/8582/" data-wpel-link="internal">モバイルWebの提唱と技術要素の拡大</a>を図り、2015年からは「<a href="http://furoshiki.hatenadiary.jp/entry/2015/06/01/122537" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">RAIL（モバイルWebが目指すべきパフォーマンス指標）</a>」や「<a href="http://myakura.hatenablog.com/entry/2015/11/18/053939" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Progressive Web Apps（アプリのように振る舞うWeb）</a>」といった、モバイルとの親和性が高いWebを作り出すための&#8221;考え方&#8221;を推し進めました。今年2016年は、さらにそれを踏み込んでいったという感じがします。</p>

<p>今回のI/Oで取り上げるのもそのひとつ。毎度お馴染みGoogle Developer Advocateの<a href="https://twitter.com/aerotwist" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Paul Lewis</a>氏による 「<a href="https://events.google.com/io2016/schedule?sid=59ba8126-111e-e611-a517-00155d5066d7#day3/59ba8126-111e-e611-a517-00155d5066d7" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">High performance web user interfaces</a>」です。彼は、モバイルにおいて、時に<strong>アプリのように振る舞うこと</strong>が求められる昨今のWeb、すなわち「Progressive Web Apps」について、UIで起こりがちなパフォーマンス問題と、その改善方法について紹介しています。</p>

<p><img src="/wp-content/uploads/2016/05/31.jpg" alt="31" width="640" height="361" class="alignnone size-full wp-image-19332" srcset="/wp-content/uploads/2016/05/31.jpg 640w, /wp-content/uploads/2016/05/31-300x169.jpg 300w, /wp-content/uploads/2016/05/31-207x117.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>※ この講演、動画無しでは説明が難しかったり、前提知識も多かったりするので、私でかなりアレンジ・要約して紹介しています。より詳細に内容を知りたい場合は、<a href="https://events.google.com/io2016/schedule?sid=59ba8126-111e-e611-a517-00155d5066d7#day3/59ba8126-111e-e611-a517-00155d5066d7" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ソース</a>をみることをオススメします！</p>

<h1>Webは時として、モバイルアプリのような体験が求められる</h1>

<p>モバイルにおいて、ホームスクリーンは重要な場所だ。人々はホームスクリーンから、目的を達成するためのアプリを起動する。Webは、<a href="https://developer.chrome.com/multidevice/android/installtohomescreen" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Add to Homescreen</a>を使うことで、ホームスクリーンからWebサイトへアクセスすることができるようになった。</p>

<p>するとどうなるか。このホームスクリーンをよくみてほしい。どれがWebで、どれがネイティブアプリなのかは見分けがつかないだろう。Google Mapsなんかはネイティブにみえるけれど、他はまったく想像がつかない。しかしこれらが、Google Mapsと同様にネイティブアプリにみえるなら、Webはネイティブアプリのように振る舞うことが求められている。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/eef129cc7f2d6302d8f0c7b0529934c5.png" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/eef129cc7f2d6302d8f0c7b0529934c5.png" alt="スクリーンショット 2016-06-06 23.14.36" width="640" height="294" class="alignnone size-full wp-image-19582" srcset="/wp-content/uploads/2016/06/eef129cc7f2d6302d8f0c7b0529934c5.png 640w, /wp-content/uploads/2016/06/eef129cc7f2d6302d8f0c7b0529934c5-300x138.png 300w, /wp-content/uploads/2016/06/eef129cc7f2d6302d8f0c7b0529934c5-207x95.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>パフォーマンスモデル、インタラクションモデルの2つによって、Webはモバイルネイティブアプリのような振る舞いをえることができる。Progressive Web Appsを実現することができる。今日はこの2つのモデルのうち、パフォーマンスモデルの話をしたい。</p>

<p>昨年は、<a href="https://twitter.com/paul_irish" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Paul Irish</a>や<a href="https://twitter.com/igrigorik" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Ilya Grigorik</a>などの私のチームのメンバーが、「RAIL」というパフォーマンスモデルについて話した。RAILとは、Responseは0.1秒、Animationは16ミリ秒、Idleは50ミリ秒、Loadは1秒で動作すべきというもの。ただ、それを聞いた人々は、たまに勘違いをする。この4つの要素は、どれも全て、最も重要なこととして語ってしまうのだ。それは間違っている。</p>

<p>例えば、Webサイトにおいて、タップした時に求められるのは、4つの要素のうちLoadが重要になる。Idleが重要になることはそこまでない。そして、ホームスクリーンからタップして起動されるProgressive Web Appsでは、ResponseやAnimationが重要になる。Webサイトをつくるのと、Progressive Web Appsをつくるのでは、求められることが違う。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/fa9feaef46461db0ff943d0dcca3099a.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/fa9feaef46461db0ff943d0dcca3099a.jpg" alt="スクリーンショット 2016-06-11 17.19.02" width="640" height="481" class="alignnone size-full wp-image-19663" srcset="/wp-content/uploads/2016/06/fa9feaef46461db0ff943d0dcca3099a.jpg 640w, /wp-content/uploads/2016/06/fa9feaef46461db0ff943d0dcca3099a-300x225.jpg 300w, /wp-content/uploads/2016/06/fa9feaef46461db0ff943d0dcca3099a-207x156.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>さて、このようにパフォーマンス面で求められることが異なるProgressive Web Apps。そこに、3つのコンポーネントがある。Side Navigation、Swipeable Cards、Expand an Collapse。これらを実現するセオリーを紹介しよう。</p>

<h1>1. Side Navigation</h1>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/a8b14ec6d320cc19a86bb10650d79c5c.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/a8b14ec6d320cc19a86bb10650d79c5c.jpg" alt="スクリーンショット 2016-07-03 22.27.14" width="640" height="385" class="alignnone size-full wp-image-19946" srcset="/wp-content/uploads/2016/07/a8b14ec6d320cc19a86bb10650d79c5c.jpg 640w, /wp-content/uploads/2016/07/a8b14ec6d320cc19a86bb10650d79c5c-300x180.jpg 300w, /wp-content/uploads/2016/07/a8b14ec6d320cc19a86bb10650d79c5c-207x125.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>まずは、このコンポーネント。メニューボタンをタップすると左からスライドインするバー。これは、2つのElementによって構成される。半透明の黒い背景と、サイドメニューを表示する領域だ。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/0007f280db2411a1c5629b23c9035c49.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/0007f280db2411a1c5629b23c9035c49.jpg" alt="スクリーンショット 2016-07-03 23.18.35" width="640" height="352" class="alignnone size-full wp-image-19959" srcset="/wp-content/uploads/2016/07/0007f280db2411a1c5629b23c9035c49.jpg 640w, /wp-content/uploads/2016/07/0007f280db2411a1c5629b23c9035c49-300x165.jpg 300w, /wp-content/uploads/2016/07/0007f280db2411a1c5629b23c9035c49-207x114.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>このサイドメニューの部分のCSSは非表示の時、CSSに<code>pointer-events: none;</code>を指定する。そして、表示されたタイミングで<code>pointer-events: auto;</code>を指定する。</p>

<p>そしてここからが大事な話。左から右、あるいは右から左に移動させる際に、transformを使う。ブラウザがDOMの位置を変更する際に、CPUを使ったレイアウト変更してはいけない。GPUの力を借りて、描画位置を変更することで、最適なパフォーマンスを得ることができる。</p>

<p>例えば、一昔前。サイドメニューが左に消えている時にCSSは</p>

<p></p><pre class="crayon-plain-tag">.side-nav {
  position:       fixed;
  left:           -102%; /* DOMのレイアウト位置を左にずらしてメニューを隠す */
  top:            0;
  width:          100%;
  height:         100%;
  over-flow:      hidden;
  pointer-events: none;
}</pre><p></p>

<p>と、<code>left: -102%</code>で隠す。これは一般的な方法だった。しかし、描画を高速に処理できるGPUの恩恵を受けたいなら、transformを使って以下のように記述する。</p>

<p></p><pre class="crayon-plain-tag">.side-nav {
  position:       fixed;
  left:           0;                 /* DOMのレイアウト位置は常に0のまま */
  top:            0;
  width:          100%;
  height:         100%;
  over-flow:      hidden;
  pointer-events: none;
  transform:      translateX(-102%); /* 描画の位置を左にずらすことでメニューを隠す */
  will-change:    none;              /* &lt;- これは何！？ */
}</pre><p></p>

<p>サイドメニューのDOMのレイアウト位置としては、x位置の<code>left</code>もy位置の<code>top</code>も、0のまま。横幅<code>width</code>も縦幅<code>height</code>も、100%ということで、全面を覆っているという扱いになる。しかし、<code>transform: translateX(-102%);</code>で描画の位置自体を、左に寄せている。</p>

<p>そして、ここで登場するのが<code>will-chanage: none；</code>だ。</p>

<p>一昔前に<code>transform: translateZ(0);</code>をCSSプロパティに指定して、パフォーマンスを改善するというハックが出回ったのをご存知だろうか。このCSSが指定されると、描画には必然的にGPUの力が必要になるため、強制的にGPUに描画を依頼することになる。GPUの恩恵を受けるために活用されたこのバッドノウハウは、<code>will-chanage: transform；</code>という新しいCSSプロパティをWeb標準として追加することによって、同様のことを実現できるようにした。(※注:実態はブラウザ対応の問題もあり、今も<code>transform: translateZ(0);</code>を使うのが一般的)</p>

<p>ただ、<code>transform: translateZ(0);</code>や<code>will-chanage: transform；</code>といったCSS指定は、常時ビデオカード上のRAMメモリーに描画結果をテクスチャーとして保存することになる。モバイル環境では、バッテリー消費などに悪影響を及ぼすことになる。動作するタイミングだけ<code>will-chanage: transform；</code>を指定し、動作しない時は無効化<code>will-chanage: none；</code>するといい。これが、バッテリー消費パフォーマンスと描画速度パフォーマンスのトレードオフ問題に対する、落とし所だ。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/1518b8d765c003f2c4c92df1c282624d.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/1518b8d765c003f2c4c92df1c282624d.jpg" alt="スクリーンショット 2016-07-04 0.37.11" width="640" height="479" class="alignnone size-full wp-image-19974" srcset="/wp-content/uploads/2016/07/1518b8d765c003f2c4c92df1c282624d.jpg 640w, /wp-content/uploads/2016/07/1518b8d765c003f2c4c92df1c282624d-300x225.jpg 300w, /wp-content/uploads/2016/07/1518b8d765c003f2c4c92df1c282624d-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>黒背景については、<code>will-change: opacity;</code>というプロパティがあり、transformと同様の方法で、高いパフォーマンスで描画させることができる。(※ JSの実装については、「2. Swipeable Cards」にノウハウが似ているので割愛)</p>

<h1>2. Swipeable Cards</h1>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/e80ab460bd4bdf5ce0c4cbeddc8b80d8.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/e80ab460bd4bdf5ce0c4cbeddc8b80d8.jpg" alt="スクリーンショット 2016-07-03 22.27.37" width="640" height="386" class="alignnone size-full wp-image-19947" srcset="/wp-content/uploads/2016/07/e80ab460bd4bdf5ce0c4cbeddc8b80d8.jpg 640w, /wp-content/uploads/2016/07/e80ab460bd4bdf5ce0c4cbeddc8b80d8-300x181.jpg 300w, /wp-content/uploads/2016/07/e80ab460bd4bdf5ce0c4cbeddc8b80d8-207x125.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>CSSを使ったパフォーマンス改善のテクニックの他に、注意しなくてはいけないのが、スワイプ操作時のコンポーネントの移動処理。ユーザーからの指の位置状況を入力し、それをスクリーン上に反映しなくてはいけない。この際、有用なのが「ゲームループ」のノウハウだ。</p>

<p>描画のイベントは常に、1/60秒ごとに発生する。対してスワイプのイベントは、常に一定には発生しない。描画のタイミングにはあわせてくれないのだ。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/1c83d9b8767367275cca087cc1dd9000.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/1c83d9b8767367275cca087cc1dd9000.jpg" alt="スクリーンショット 2016-07-04 1.05.35" width="640" height="364" class="alignnone size-full wp-image-19982" srcset="/wp-content/uploads/2016/07/1c83d9b8767367275cca087cc1dd9000.jpg 640w, /wp-content/uploads/2016/07/1c83d9b8767367275cca087cc1dd9000-300x171.jpg 300w, /wp-content/uploads/2016/07/1c83d9b8767367275cca087cc1dd9000-207x118.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>そこで、スワイプにより発生するイベントについては、変数に位置情報だけを記録する。そして、描画時のイベントでは、記録された位置情報を元に、CSSを通じて描画位置変更をおこなう。</p>

<p>スワイプの開始時・移動時・終了時は以下の通り。<code>this.startX</code>、<code>this.currentX</code>、<code>this.targetX</code>といった変数に、現在の位置や、移動すべき位置を記録している。</p>

<p></p><pre class="crayon-plain-tag">/**
 * スワイプ開始
 */
onStart(evt) {

  // スワイプの開始位置を記録する
  this.startX = evt.pageX || evt.touches[0].pageX;
  this.currentX = this.startX;

  // cardの移動が開始されたことを記録する
  this.draggingCard = true;

  // will-change: transform; を有効にする
  this.target.style.willChange= ‘transform’;

  // カード上の要素にイベントを伝播させないように
  evt.preventDefault();

  // アニメーションを開始する
  requestAnimationFrame(this.update);
}

/**
 * スワイプ移動時
 */
onMove(evt) {

  // スワイプの現在地点を記録する
  this.currentX = evt.pageX || evt.touches[0].pageX;

}

/**
 * スワイプ終了時
 */
onEnd(evt) {

  // cardを削除すべきかどうか判定する
  let translateX = this.currentX - this.startX;
  const threshold = this.cardWidth * 0.35;
  if( Math.abs(translateX) &gt; threshold ) {

    // cardの移動先をスクリーンの外へ(※cardは削除)
    this.targetX = (translateX &gt; 0) ? this.cardWidth : -this.cardWidth;

  } else {

    // cardの移動先を最初の位置へ(※cardは削除されない)
    this.targetX = 0;

  }

  // cardの移動が終了されたことを記録する
  this.draggingCard = false;
}</pre><p></p>

<p>描画のタイミングにrequestAnimationFrameから呼び出されるコールバックで、先ほどの位置情報を元に反映していく。</p>

<p></p><pre class="crayon-plain-tag">/**
 * 描画内容の変更
 */
update(evt) {

  // 次の描画タイミングでも自身を呼び出す
  requestAnimationFrame(this.update);

  // スワイプ中の場合
  if( this.draggingCard ) {

    // 現在の位置を描画させる
    this.translateX = this.currentX - this.startX;

  // スワイプが完了している場合
  } else {

    // カードを削除するかしないかに応じて指定の場所に能動的に移動する
    this.translateX += (this.targetX-this.translateX)/4;

  }

  // CSSプロパティを経由してGPUに変更を伝える
  this.target.style.transform = `translateX(${this.translateX}px)`;
}</pre><p></p>

<p>(※ この後の処理については、「3. Expand and Collapse」にノウハウが似ているので割愛。)</p>

<h1>3. Expand and Collapse</h1>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/20934ecb9653e0b4ca6c9b68f442ecef.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/20934ecb9653e0b4ca6c9b68f442ecef.jpg" alt="スクリーンショット 2016-07-03 22.27.51" width="640" height="345" class="alignnone size-full wp-image-19948" srcset="/wp-content/uploads/2016/07/20934ecb9653e0b4ca6c9b68f442ecef.jpg 640w, /wp-content/uploads/2016/07/20934ecb9653e0b4ca6c9b68f442ecef-300x162.jpg 300w, /wp-content/uploads/2016/07/20934ecb9653e0b4ca6c9b68f442ecef-207x112.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>タップすると、領域が広がり全体化されるUIコンポーネント。CSSではどうするのか？もちろん、ここまで説明してきた「transform」を活用する！では、JSについてはどうか？実は、「2. Swipeable Cards」とは異なり、スワイプ操作でなくタップによって、自動的にアニメーションする。この点で、より効率的な実装が求められる。</p>

<p>まず、アニメーションについて、動作中の状態はJS上で持たない。動作前後の状態だけを、CSSプロパティを通じてGPUに指示する。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/9cac4ec846ad6ecf66df6cfa3fe74323.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/9cac4ec846ad6ecf66df6cfa3fe74323.jpg" alt="スクリーンショット 2016-07-04 1.54.47" width="640" height="237" class="alignnone size-full wp-image-19990" srcset="/wp-content/uploads/2016/07/9cac4ec846ad6ecf66df6cfa3fe74323.jpg 640w, /wp-content/uploads/2016/07/9cac4ec846ad6ecf66df6cfa3fe74323-300x111.jpg 300w, /wp-content/uploads/2016/07/9cac4ec846ad6ecf66df6cfa3fe74323-207x77.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p></p><pre class="crayon-plain-tag">// 変化量を計算する
invert.x = first.left - last.left;
invert.y = first.top - last.top;
invert.sx = first.width / last.width;
invert.sy = first.height / last.height;

// 変化後の状態をCSSプロパティを通じてGPUに指示
card.style.transformOrigin = ‘0 0’;
card.style.transform =
    `translate(${invert.x}px, ${invert.y}px)
      scale(${invert.sx}, ${invert.sy})`;</pre><p></p>

<p>そのままでは、タップした要素は一瞬にして全体化されてしまう。どのようにして何ミリ秒もかけて徐々に広げていくか？その方法は、CSSで指定する。JSではない。原理的には、従来よく使われているCSSアニメーションだ。</p>

<p></p><pre class="crayon-plain-tag">.cards {
  transition: transform 0.2s cubic-bezier(0,0,0.3.1); // アニメーションさせる
}</pre><p></p>

<p>ここまで、Progressive Web Applsのパフォーマンス改善の話をしてきたが、「<a href="http://bit.ly/render-perf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google DevelopersのRendering peformance</a>」が役に参考になる。一読するといいだろう。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/3969bb8d861ac4399b9de045c3863743.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/3969bb8d861ac4399b9de045c3863743.jpg" alt="スクリーンショット 2016-07-04 2.13.00" width="640" height="391" class="alignnone size-full wp-image-19992" srcset="/wp-content/uploads/2016/07/3969bb8d861ac4399b9de045c3863743.jpg 640w, /wp-content/uploads/2016/07/3969bb8d861ac4399b9de045c3863743-300x183.jpg 300w, /wp-content/uploads/2016/07/3969bb8d861ac4399b9de045c3863743-207x126.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<h1>Progressive Web Appsのパフォーマンス改善。要はこう言いたかった</h1>

<p>いかがでしたでしょうか？文字数の制限やコンテキストの高さもあり、多くのエンジニアに伝わるようかなりアレンジしてみましたが、ご理解いただけましたでしょうか？</p>

<p><a href="https://twitter.com/aerotwist" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Paul Lewis</a>氏が言いたかったことは単純な話です。先ほどのGoogle Developersの記事にもありますが、Progressive Web AppsにおけるAnimationやReactionの課題は、いかにしてブラウザのレンダリング処理における「レイアウト」を減らすか、という話です。この講演は、そのTIPS集といえます。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/07/fc525d40355e9e5ea2564f21ab3a910a.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/07/fc525d40355e9e5ea2564f21ab3a910a.jpg" alt="スクリーンショット 2016-07-04 2.19.41" width="640" height="352" class="alignnone size-full wp-image-20002" srcset="/wp-content/uploads/2016/07/fc525d40355e9e5ea2564f21ab3a910a.jpg 640w, /wp-content/uploads/2016/07/fc525d40355e9e5ea2564f21ab3a910a-300x165.jpg 300w, /wp-content/uploads/2016/07/fc525d40355e9e5ea2564f21ab3a910a-207x114.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>今日のノウハウ、特に新しいというわけでもなく2年前には既に実践されていたことです。実際のところ多くの現場では、OnsenUIやIonicのようなUIライブラリを活用することになり、このあたりの話を意識することはないのでしょう。ただ、Webのサービスを作っているフロントエンドエンジニアにとっては、ライブラリの有無に関係なく知っておくべき知識のように思えます。サイドメニューについては、Webサイトであっても鉄板のUIコンポーネントなので、Progressive Web Appsか否かはもはや関係ないノウハウだったに違いありません。</p>

<p>Webがモバイルに順応していくことは、今後もさらに求められていきます。これは、フレームワークやライブラリに限った話ではなく、トータルにみたWeb、フロントエンドへの要求に変化を与えるに違いません。</p>

<p>今後も、モバイルとWebの関わりに、目が離せませんね。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Google Assistant、Android N、Daydream、Firebase…Google I/O 基調講演で発表された最新機能を一挙紹介！</title>
		<link>/sakkuru/19832/</link>
		<pubDate>Wed, 06 Jul 2016 02:04:12 +0000</pubDate>
		<dc:creator><![CDATA[本間 咲来]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Firebase]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[I/0 2016]]></category>

		<guid isPermaLink="false">/?p=19832</guid>
		<description><![CDATA[2016年5月18～20日の3日間、Googleの本社ビルのすぐそばにあるショアライン・アンフィシアターでGoogle I/O 2016が開催されました。 例年5千名程の参加者から大幅に増えて、今年は実に約7千人の人々が...]]></description>
				<content:encoded><![CDATA[<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/1706738f-6ac5-6eb3-6ac1-58f6139496ea.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/1706738f-6ac5-6eb3-6ac1-58f6139496ea-640x480.jpeg" alt="1706738f-6ac5-6eb3-6ac1-58f6139496ea" width="640" height="480" class="alignnone size-large wp-image-19883" srcset="/wp-content/uploads/2016/06/1706738f-6ac5-6eb3-6ac1-58f6139496ea.jpeg 640w, /wp-content/uploads/2016/06/1706738f-6ac5-6eb3-6ac1-58f6139496ea-300x225.jpeg 300w, /wp-content/uploads/2016/06/1706738f-6ac5-6eb3-6ac1-58f6139496ea-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>2016年5月18～20日の3日間、Googleの本社ビルのすぐそばにあるショアライン・アンフィシアターでGoogle I/O 2016が開催されました。</p>

<p>例年5千名程の参加者から大幅に増えて、今年は実に約7千人の人々が参加していたようです。屋外イベント施設ということもあり、まるで野外フェスのような雰囲気でした。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/ca24a108-32c6-a0a8-8ada-9b041e73fb51.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/ca24a108-32c6-a0a8-8ada-9b041e73fb51-640x215.jpeg" alt="ca24a108-32c6-a0a8-8ada-9b041e73fb51" width="640" height="215" class="alignnone size-large wp-image-19884" srcset="/wp-content/uploads/2016/06/ca24a108-32c6-a0a8-8ada-9b041e73fb51.jpeg 640w, /wp-content/uploads/2016/06/ca24a108-32c6-a0a8-8ada-9b041e73fb51-300x101.jpeg 300w, /wp-content/uploads/2016/06/ca24a108-32c6-a0a8-8ada-9b041e73fb51-207x70.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>本レポートではGoogle I/O最初のセッションである、基調講演の内容について紹介します。</p>

<h2>Google Assistant</h2>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/4e8f5657-c3d5-2a6f-e88e-4697c0419a44.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/4e8f5657-c3d5-2a6f-e88e-4697c0419a44-640x480.jpeg" alt="4e8f5657-c3d5-2a6f-e88e-4697c0419a44" width="640" height="480" class="alignnone size-large wp-image-19880" srcset="/wp-content/uploads/2016/06/4e8f5657-c3d5-2a6f-e88e-4697c0419a44.jpeg 640w, /wp-content/uploads/2016/06/4e8f5657-c3d5-2a6f-e88e-4697c0419a44-300x225.jpeg 300w, /wp-content/uploads/2016/06/4e8f5657-c3d5-2a6f-e88e-4697c0419a44-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>まず最初にスンダー・ピチャイ氏に紹介されたのが、Google Assistantです。</p>

<p>Google Assistantは新しい対話型のボイスアシスタント機能です。Google製のアシスタント機能といえばGoogle Nowがありますが、これを進化させ、対話型のシステムとしたのがGoogle Assistantのようです。コンテキストを認識し、ユーザーが質問すると現在地や直近のクエリーなどに応じて、適切に答えを返します。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/IMG_6458.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/IMG_6458-640x480.jpg" alt="IMG_6458" width="640" height="480" class="alignnone size-large wp-image-19908" srcset="/wp-content/uploads/2016/06/IMG_6458.jpg 640w, /wp-content/uploads/2016/06/IMG_6458-300x225.jpg 300w, /wp-content/uploads/2016/06/IMG_6458-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>例えば、有名な建築物の前で「これを設計したのは誰？」と質問すると、その場所の情報に応じて回答してくれます。</p>

<p>デモでは、ユーザーが「今夜やってる映画は？」と聞くと、Google Assistantは近くの映画館で上映しているタイトルをいくつか提示し、さらにユーザーが「子どもと一緒に行きたい」と言うと、子どもと一緒に鑑賞するのにふさわしいと思われる映画を提案していました。さらに「4枚チケットが必要ですか？」とGoogle Assistantが尋ねてくるので、ユーザが映画のタイトルや枚数を答えると、自動で予約し、チケットの情報を提示する、というデモが行われました。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.07.57.png" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.07.57-640x437.png" alt="Screen Shot 2016-06-28 at 19.07.57" width="640" height="437" class="alignnone size-large wp-image-19903" srcset="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.07.57.png 640w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.07.57-300x205.png 300w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.07.57-207x141.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>このように、『提案をしてくれる』というのがGoogle Assistantの大きな特徴です。Google Assistantは基調講演の中で発表されたGoogle HomeやGoogle Alloなどの製品にも組み込まれるようです。</p>

<h2>Google Home</h2>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/2e4a891d-0d45-9b7c-447a-7cff49acf55b.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/2e4a891d-0d45-9b7c-447a-7cff49acf55b-640x480.jpeg" alt="2e4a891d-0d45-9b7c-447a-7cff49acf55b" width="640" height="480" class="alignnone size-large wp-image-19879" srcset="/wp-content/uploads/2016/06/2e4a891d-0d45-9b7c-447a-7cff49acf55b.jpeg 640w, /wp-content/uploads/2016/06/2e4a891d-0d45-9b7c-447a-7cff49acf55b-300x225.jpeg 300w, /wp-content/uploads/2016/06/2e4a891d-0d45-9b7c-447a-7cff49acf55b-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>続いてGoogle Assistantの機能を組み込んだGoogle Homeという製品が紹介されました。</p>

<p>Google Assistantのボイスアシスタント機能の他にWifiスピーカーとしての機能もあり、クラウドから音楽のストリーミング再生もできるようです。プレイリストやアルバムへのアクセスもボイスコントロールでき、Google Castを通して、AndroidやiOSのデバイスから音楽を送信することもできるとのことでした。</p>

<p>Amazon Echoと似たような製品のようです。大きさは手のひらに乗るくらいの小さなデバイスでした。今年の後半から使えるようになるとのことです。</p>

<h2>Google Allo</h2>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.44.37.png" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.44.37-640x364.png" alt="Screen Shot 2016-06-28 at 18.44.37" width="640" height="364" class="alignnone size-large wp-image-19894" srcset="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.44.37.png 640w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.44.37-300x171.png 300w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.44.37-207x118.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>次にAlloというモバイル用のメッセージングアプリが紹介されました。見た目はLineやFacebook messenger等と大差なく見えます。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/c6e3abf4-b7ae-efbb-7e80-867811a417c5.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/c6e3abf4-b7ae-efbb-7e80-867811a417c5-640x480.jpeg" alt="c6e3abf4-b7ae-efbb-7e80-867811a417c5" width="640" height="480" class="alignnone size-large wp-image-19878" srcset="/wp-content/uploads/2016/06/c6e3abf4-b7ae-efbb-7e80-867811a417c5.jpeg 640w, /wp-content/uploads/2016/06/c6e3abf4-b7ae-efbb-7e80-867811a417c5-300x225.jpeg 300w, /wp-content/uploads/2016/06/c6e3abf4-b7ae-efbb-7e80-867811a417c5-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>文字や絵文字の大きさを自由に変えることができることが紹介されました。地味だが良い機能、ということで会場が少し盛り上がります。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/47f7f868-86d2-5fa4-fb9f-1593fa2db0dd.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/47f7f868-86d2-5fa4-fb9f-1593fa2db0dd-640x480.jpeg" alt="47f7f868-86d2-5fa4-fb9f-1593fa2db0dd" width="640" height="480" class="alignnone size-large wp-image-19872" srcset="/wp-content/uploads/2016/06/47f7f868-86d2-5fa4-fb9f-1593fa2db0dd.jpeg 640w, /wp-content/uploads/2016/06/47f7f868-86d2-5fa4-fb9f-1593fa2db0dd-300x225.jpeg 300w, /wp-content/uploads/2016/06/47f7f868-86d2-5fa4-fb9f-1593fa2db0dd-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>しかし当然のことながら、ただのメッセージングアプリではありません。このAlloにはGoogle Assistantの機能が組み込まれており、なんとチャットのテキストや画像を解析して、返信用のテキストを複数提案してくれます。</p>

<p>例えば「Dinner later?」とチャットの相手が送ると、「I&#8217;m in!」「I&#8217;m busy」という返信用のメッセージが表示されます。ユーザは選んでクリックするだけでメッセージを送信することができます。</p>

<p>またチャット内の画像も解析されるので、誰かが犬の写真をアップロードすると、犬種も識別された上で、「Cude dog!」「Aww!」「Nice bernese mountain dog」といった返信メッセージが提示されます。</p>

<p>またGoogle Asisstantのbotががチャットの中に存在するようなかたちになっており、店のお店のサジェストや予約、検索等も対話形式でチャットの中で行うことができるようです。</p>

<p>さらにChromeのようにIncognito Modeが搭載されており、エンドツーエンドでの暗号化やNotificationの制御、メッセージの期限などを設定できるようになっているとのことです。</p>

<h2>Google Duo</h2>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/3651367c-53da-41c7-08ff-33b848f3657e.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/3651367c-53da-41c7-08ff-33b848f3657e-640x480.jpeg" alt="3651367c-53da-41c7-08ff-33b848f3657e" width="640" height="480" class="alignnone size-large wp-image-19874" srcset="/wp-content/uploads/2016/06/3651367c-53da-41c7-08ff-33b848f3657e.jpeg 640w, /wp-content/uploads/2016/06/3651367c-53da-41c7-08ff-33b848f3657e-300x225.jpeg 300w, /wp-content/uploads/2016/06/3651367c-53da-41c7-08ff-33b848f3657e-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>続いてDuoというビデオチャットアプリの紹介です。</p>

<p>ビデオチャットを実現するアプリは数多く世に出ていますが、このDuoにはビデオコールをかけられた側は、応答する前にそのビデオストリームを見ることができるという特徴があるようです。この機能は『Knock Knock』と呼ばれているそうで、これにより着呼側は誰が、どんな状況でコールしてきたのかを知ることができます。</p>

<p>コール先は電話番号に紐づくとのことで、AppleのFaceTimeの競合として考えられそうです。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/9cf474f9-02e2-7500-3c8d-b5b976175073.png" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/9cf474f9-02e2-7500-3c8d-b5b976175073-640x480.png" alt="9cf474f9-02e2-7500-3c8d-b5b976175073" width="640" height="480" class="alignnone size-large wp-image-19871" srcset="/wp-content/uploads/2016/06/9cf474f9-02e2-7500-3c8d-b5b976175073.png 640w, /wp-content/uploads/2016/06/9cf474f9-02e2-7500-3c8d-b5b976175073-300x225.png 300w, /wp-content/uploads/2016/06/9cf474f9-02e2-7500-3c8d-b5b976175073-207x155.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>DuoはWebRTCとQUICを使用したWebプロトコルベースのアプリと紹介されました。</p>

<p>AlloとDuoはAndroidとiOSで2016年夏頃リリースされる予定で、Android版では事前登録が開始されています。</p>

<ul>
<li><a href="https://play.google.com/store/apps/details?id=com.google.android.apps.fireball" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google Allo</a></li>
<li><a href="https://play.google.com/store/apps/details?id=com.google.android.apps.tachyon" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google Duo</a></li>
</ul>

<h2>Android N</h2>

<p>続いてAndroid Nについての発表が行われました。</p>

<p>GoogleがAndroidの開発を行うようになってから、10年が経過したようです。今やAndroidはスマートフォンだけではなく、Android Wear、Android TV、Android Autoなど、多くのプラットフォームが登場しています。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/a34e8828-9bcd-5887-8f9f-649ee8b38bc2.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/a34e8828-9bcd-5887-8f9f-649ee8b38bc2-640x480.jpeg" alt="a34e8828-9bcd-5887-8f9f-649ee8b38bc2" width="640" height="480" class="alignnone size-large wp-image-19876" srcset="/wp-content/uploads/2016/06/a34e8828-9bcd-5887-8f9f-649ee8b38bc2.jpeg 640w, /wp-content/uploads/2016/06/a34e8828-9bcd-5887-8f9f-649ee8b38bc2-300x225.jpeg 300w, /wp-content/uploads/2016/06/a34e8828-9bcd-5887-8f9f-649ee8b38bc2-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>Androidの最新バージョンであるAndroid Nは現在プレビュー版(6/28現在Developer Preview 4)が公開中です。<a href="https://www.android.com/intl/ja_jp/versions/name-n/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">こちら</a>で名前の募集も行われていましたが、現在は終了し近日中に公開されるようです。</p>

<p>Android Nでは、新しいOSのアップデートがあると、自動的にソフトウェアをバッググラウンドでダウンロードし、次回Androidの電源を入れた際にシームレスで新しいソフトウェアイメージに切り替わるようです。</p>

<p>またマルチウィンドウが正式に採用され、スマートフォンでYoutubeを見ながら他のタスクを行ったり、Android TVでは映像を見ながら検索などの他の作業を行うことができるようになります。</p>

<p>現在はAndroid NのDeveloper Preview 4がリリースされており、Nexus 6やNexus 5X等の一部の対応した機種であれば、Android Nを試用することができます。(<a href="http://android-developers.blogspot.jp/2016/06/android-n-apis-are-now-final.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Android Developers Blog</a>)</p>

<h2>Daydream</h2>

<p>続いてI/O開催前から噂が絶えなかったVRに関する発表です。
<a href="https://html5experts.jp/wp-content/uploads/2016/06/a7ac330c-c1bc-6d81-4051-6125b966045d.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/a7ac330c-c1bc-6d81-4051-6125b966045d-640x480.jpeg" alt="a7ac330c-c1bc-6d81-4051-6125b966045d" width="640" height="480" class="alignnone size-large wp-image-19875" srcset="/wp-content/uploads/2016/06/a7ac330c-c1bc-6d81-4051-6125b966045d.jpeg 640w, /wp-content/uploads/2016/06/a7ac330c-c1bc-6d81-4051-6125b966045d-300x225.jpeg 300w, /wp-content/uploads/2016/06/a7ac330c-c1bc-6d81-4051-6125b966045d-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>Androidスマートフォンで高品質なVR体験を提供可能であるDaydreamというプラットフォームが発表されました。</p>

<p>どのようにAndroidスマートフォン上で、高品質なVR体験を可能にするのか、講演では3つの要素が挙げられていました。
まずはスマートフォン本体、次にヘッドセットコントローラのリファレンスデザイン、そしてアプリで、ぞれぞれが協調してエンドツーエンドのユーザ体験を提供するために設計されています。</p>

<p>ハイパフォーマンスセンサーやヘッドトラッキング、表示のレスポンスの速さなど、VR用に作られた仕様を満たしたスマートフォンは、Daydream-readyと呼ばれ、高いクオリティのVR体験を提供することができます。Daydream-readyなスマートフォンは、SamsungやAlcatel、Asusなどの企業から、2016年秋以降リリースされるようです。発表された中に日本の企業はありませんでした。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/334aaad1-e834-a534-12b4-63c89e6ab9f9.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/334aaad1-e834-a534-12b4-63c89e6ab9f9-640x480.jpeg" alt="334aaad1-e834-a534-12b4-63c89e6ab9f9" width="640" height="480" class="alignnone size-large wp-image-19873" srcset="/wp-content/uploads/2016/06/334aaad1-e834-a534-12b4-63c89e6ab9f9.jpeg 640w, /wp-content/uploads/2016/06/334aaad1-e834-a534-12b4-63c89e6ab9f9-300x225.jpeg 300w, /wp-content/uploads/2016/06/334aaad1-e834-a534-12b4-63c89e6ab9f9-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>リファレンスデザインとして紹介されたヘッドセットとコントローラは非常にシンプルなものでした。コントローラはボタンは少なくクリッカブルなタッチパッドがついており、スクロールやスワイプができます。オリエンテーションセンサーも内蔵しており、ユーザがどこをポインティングしているかが分かります。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.49.36.png" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.49.36-640x360.png" alt="Screen Shot 2016-06-28 at 18.49.36" width="640" height="360" class="alignnone size-large wp-image-19893" srcset="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.49.36.png 640w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.49.36-300x169.png 300w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-18.49.36-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>アプリに関しては、VR用のGoogle Playが開発されており、ユーザーがアプリを探し、購入、インストールがVR上で可能になることが発表されました。またGoogle Play MoviesやGoogle Mapsのストリートビュー、Google Photos、YouTubeもVR上で鑑賞できるようになります。</p>

<p>Daydreamが使えるようになるのは2016年秋になるとのことですが、Android NのDeveloper Previewを使用することでアプリなどの開発は今から行うことができます。</p>

<h2>Android Wear 2.0</h2>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/18168a75-4f59-d2b0-b6fc-9f86caf03b6d.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/18168a75-4f59-d2b0-b6fc-9f86caf03b6d-640x480.jpeg" alt="18168a75-4f59-d2b0-b6fc-9f86caf03b6d" width="640" height="480" class="alignnone size-large wp-image-19890" srcset="/wp-content/uploads/2016/06/18168a75-4f59-d2b0-b6fc-9f86caf03b6d.jpeg 640w, /wp-content/uploads/2016/06/18168a75-4f59-d2b0-b6fc-9f86caf03b6d-300x225.jpeg 300w, /wp-content/uploads/2016/06/18168a75-4f59-d2b0-b6fc-9f86caf03b6d-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>Android Wearは2年前のGoogle I/Oで初めて発表されましたが、今回は初めて大幅なアップデートとなるAndroid Wear 2.0が発表されました。</p>

<p>大きな変化としては、今までAndroid Wearのアプリがインターネットにアクセスするためには母艦となるAndroidやiOSスマートフォンが必要であったことに対し、Android Wear 2.0ではスタンドアロンで動作することが可能になることが挙げられます。アプリが直接BluetoothやWi-Fi、LTEなどを通してインターネットにアクセスできるようになり、ペアリングされたスマートフォンが電源を切っている場合でも、アプリは引き続きフル機能を提供できるようになります。</p>

<p>その他にもUIの刷新や、手書き入力の対応等も発表されました。</p>

<p>Android Wear 2.0はプレビュー版が<a href="https://developer.android.com/wear/preview/index.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">公開</a>されおり、秋には正式リリースとなるようです。</p>

<h2>Progressive Web AppsとAccelerated Mobile Pages</h2>

<p>基調講演も終盤に差しかかり、ここで初めて、わずかですがWebについての発表がありました。
モバイルデバイス上でWebをより快適にするための取り組みとして、Progressive Web AppsとAccelerated Mobile Pagesの2つの紹介です。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.42.png" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.42-640x351.png" alt="Screen Shot 2016-06-28 at 19.01.42" width="640" height="351" class="alignnone size-large wp-image-19900" srcset="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.42.png 640w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.42-300x165.png 300w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.42-207x114.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>Progressive Web Apps、略してPWAppsは、オフライン状態でも動作可能、エンゲージメントを高めるための通知、ホームスクリーンにアイコンを登録、といったネイティブアプリのような振る舞いを実現したWebアプリのことを指します。ChromeにはServiceWorkerをはじめとする、Progressive Web Appsを実現するための仕組みが実装されています。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.55.png" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.55-640x353.png" alt="Screen Shot 2016-06-28 at 19.01.55" width="640" height="353" class="alignnone size-large wp-image-19899" srcset="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.55.png 640w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.55-300x165.png 300w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.01.55-207x114.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>Accelerated Mobile Pagesは、既存のWeb標準に基づいた非常に速いモバイルWebサイトを作るための、オープンソースのプロジェクトです。</p>

<p>特に新規発表はなく、基調講演内ではわずか1分程度の紹介でしたが、Google I/O全体では多くのPWAppsやAMPのセッションが行われていました。HTML5 Experts.jpでも<a href="https://html5experts.jp/komasshu/19704/" data-wpel-link="internal">Googleが新たに提唱するProgressive Web Appsの新たな開発パターン「PRPL」とは？</a>という記事を公開していますので、そちらをご覧ください。</p>

<h2>Android Studio</h2>

<p>Android Studio 2.2 Previewが公開されたと発表がありました。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.03.28.png" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.03.28-640x358.png" alt="Screen Shot 2016-06-28 at 19.03.28" width="640" height="358" class="alignnone size-large wp-image-19898" srcset="/wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.03.28.png 640w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.03.28-300x168.png 300w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-28-at-19.03.28-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>Android Studio 2.2では、ビルドが10倍、エミュレータも3倍速くなっているそうです。また、新しいレイアウトデザイナやAPKアナライザーが搭載されるとのことでした。</p>

<h2>Firebase</h2>

<p>続いてFirebaseの新バージョンが発表されました。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/1f7e99f1-eb19-5576-3d64-48edebab815b.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/1f7e99f1-eb19-5576-3d64-48edebab815b-640x480.jpeg" alt="1f7e99f1-eb19-5576-3d64-48edebab815b" width="640" height="480" class="alignnone size-large wp-image-19889" srcset="/wp-content/uploads/2016/06/1f7e99f1-eb19-5576-3d64-48edebab815b.jpeg 640w, /wp-content/uploads/2016/06/1f7e99f1-eb19-5576-3d64-48edebab815b-300x225.jpeg 300w, /wp-content/uploads/2016/06/1f7e99f1-eb19-5576-3d64-48edebab815b-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>FirebaseはGoogleが2014年の10月に買収したBaaSサービスです。モバイルアプリに特化した分析ツールである、Firebase Analyticsが発表されました。ユーザがアプリ内で何をしているか、ユーザがどこからきたのかなど分析することが可能です。Android AnalyticsはAndroidでもiOSも扱うことができ、無制限に無料で使用することができると発表されました。</p>

<h2>Android Instant Apps</h2>

<p><a href="https://html5experts.jp/wp-content/uploads/2016/06/adcac44d-79e3-0921-0316-3e9bf50fc99e.jpeg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/06/adcac44d-79e3-0921-0316-3e9bf50fc99e-640x480.jpeg" alt="adcac44d-79e3-0921-0316-3e9bf50fc99e" width="640" height="480" class="alignnone size-large wp-image-19868" srcset="/wp-content/uploads/2016/06/adcac44d-79e3-0921-0316-3e9bf50fc99e.jpeg 640w, /wp-content/uploads/2016/06/adcac44d-79e3-0921-0316-3e9bf50fc99e-300x225.jpeg 300w, /wp-content/uploads/2016/06/adcac44d-79e3-0921-0316-3e9bf50fc99e-207x155.jpeg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>今回の基調講演の後半で一際注目を集めたのがこのAndroid Instant Appsではないでしょうか。</p>

<p>Webアプリの場合、ユーザはリンクをクリックするだけでアプリを使用することができますが、Androidアプリはインストールを必要とするため、ユーザがそこで離脱してしまうことが多くあります。その課題を解決する一手となるのが今回発表されたAndroid Instant Appsのようです。</p>

<p>今回発表されたAndroid Instant Appsでは、AndroidアプリがWeb等のリンクからインストールレスで使えるようなるとのことです。</p>

<p>講演中のデモの中では、いくつかのAndroidアプリをURLから起動し、実際にアプリを使用できることが示されていました。
アプリの中の直近で必要になるモジュールだけをフェッチしているらしく、起動も素早く行われ、アプリを使用してからのインストールも非常にスムーズに行えるようです。</p>

<p>これにより、Androidアプリ開発者は、より多くのユーザにリーチできるようになります。AndroidアプリとWebとの親和性が高くなり、Androidアプリのユーザ体験が大きく変わる機能となるのではないでしょうか。</p>

<h2>おわりに</h2>

<p>今年はGoogleのAIの技術力を発揮した製品やサービスが多く発表されました。</p>

<p>基調講演内でWebやChromeに関する発表は非常に少なかったのですが、Google I/O全体では33ものモバイルWebに関するセッションが行われていました。</p>

<p>既に公開されている</p>

<ul>
<li><a href="https://html5experts.jp/ryoyakawai/19335/" data-wpel-link="internal">今、Webの最先端では何が起こっているのか？──最新機能目白押し！Google I/O 2016セッションレポート【前編】</a></li>
<li><a href="https://html5experts.jp/ryoyakawai/19461/" data-wpel-link="internal">Webの最先端では何が起こっているか、今Googleが取り組んでいることは？──Google I/O 2016セッションレポート【後編】</a></li>
<li><a href="https://html5experts.jp/komasshu/19704/" data-wpel-link="internal">Googleが新たに提唱するProgressive Web Appsの新たな開発パターン「PRPL」とは？</a></li>
</ul>

<p>以外にもセッションレポートを公開していく予定です。お楽しみに。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Webの最先端では何が起こっているか、今Googleが取り組んでいることは？──Google I/O 2016セッションレポート【後編】</title>
		<link>/ryoyakawai/19461/</link>
		<pubDate>Wed, 15 Jun 2016 00:00:15 +0000</pubDate>
		<dc:creator><![CDATA[河合良哉]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[I/O 2016]]></category>
		<category><![CDATA[MIDI]]></category>

		<guid isPermaLink="false">/?p=19461</guid>
		<description><![CDATA[Google I/O 2016のセッション「What&#8217;s new for the web?」についてのレポート後編です。（前編はこちら） 前編では、既に導入済みの機能、API、またこれから導入される機能が怒涛...]]></description>
				<content:encoded><![CDATA[<p>Google I/O 2016のセッション「What&#8217;s new for the web?」についてのレポート後編です。（前編は<a href="https://html5experts.jp/ryoyakawai/19335" target="_blank" data-wpel-link="internal">こちら</a>）
前編では、既に導入済みの機能、API、またこれから導入される機能が怒涛のごとく紹介してきました。後編では、Web Platformをより先に進めるためにGoogleが取り組んでいること、そしてWeb BluetoothやPhysical Webについて解説していきます。</p>

<h2>Google loves the web</h2>

<p>ChromeチームWeb Platformをより先に進めるために、ここ1～2年取り組んでいるアプローチの紹介です。</p>

<p><img src="/wp-content/uploads/2016/06/GoogleLovetheWeb1.png" alt="GoogleLovetheWeb" width="640" height="356" class="aligncenter size-full wp-image-19479" srcset="/wp-content/uploads/2016/06/GoogleLovetheWeb1.png 640w, /wp-content/uploads/2016/06/GoogleLovetheWeb1-300x167.png 300w, /wp-content/uploads/2016/06/GoogleLovetheWeb1-207x115.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>まず、前提としてGoogleはWebが大好きです。Googleの同僚は皆、Webが大好きです。そしてChrome Teamには「Webをより先に進める」という重要なMissonがあります。ここで私がWebと言っているのはChrome Webということではなく、全てのWebのことを指していて、それら全てのWebが素晴らしくなってほしいと思っています。</p>

<p>よって、Interoperability（相互運用性）を保ちモダンブラウザの全てにShipされるまでが我々の使命です。なぜならInteroperabilityが保たれずShipしてしまったら、誰でも・いつでも・どこでも利用できるというWebの最も大きく重要な利点の1つが失われてしまうからです。Vender Prefixを廃止したのもそういった理由です。</p>

<p>Chromeにおいては、Web Platformをより先に進めるために4つのアプローチをを持ち取り組んでいます。</p>

<h4>Chromeチームが取り組んできたこと</h4>

<ul>
<li><b>複数のチャネルを持つ</b>（Stable, Dev, Canary、Beta）</li>
<li><b>実験的な機能にはExperimental flagを設けONにしないと動かなくしている</b>(chrome://flags のことでWeb Bluetoothもこの1つ)</li>
<li><b>Original Trials</b>：実装したAPIをそのままExperimental flagとして提供してしまうと、いつの間にかデファクトになってしまう可能性があります。APIの仕様・実装を吟味してからShipすることがよりよいWebを作るのには必要不可欠です。よって、Feedbackをすることに同意したDeveloperのみ利用を可能にすることで、利用するユーザー数を絞り、さらに期間を区切ることでデファクトすることを防ぎ、実験のIterationのスピードを上げることを目的としています。さらに多くのDeveloperが使い始めた場合は自動的に利用を停止する機能も入っています。</li>
<li><b>Incubation of substantial new feature</b>(<a href="https://html5experts.jp//wicg.io" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">wicg.io</a>)：Web Incubator Community GroupをW3Cでにて行っています。標準化のProposalの議論をライトウェイトに行うグループです。チャーター（W3Cで議論を進める場合には必ず作成します）を作ったりすることに全ての時間は費やさないものの、正しく管理されるし、Contributionも受け付けることが可能です。もし新しい機能を提案したい場合は是非このグループに提案してください。</li>
</ul>

<p><img src="/wp-content/uploads/2016/06/wicg.png" alt="wicg" width="640" height="355" class="aligncenter size-full wp-image-19467" srcset="/wp-content/uploads/2016/06/wicg.png 640w, /wp-content/uploads/2016/06/wicg-300x166.png 300w, /wp-content/uploads/2016/06/wicg-207x115.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>しかし、機能を追加するだけではWeb Platformを健康に保つことはできません。よって、機能の削除も行います。削除の理由には、他のAPIとの入替えや、実験的に作ったが上手くいかなかった、というものがあったりします。3つ前までで削除された機能のリストがこちら(<a href="https://html5experts.jp//goo.gl/5gq1Im" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">goo.gl/5gq1Im</a>)です。今後、requestAutoCompleteだったり、HTML5 App Cacheのような影響の大きな機能も削除しようとしています。まだ使われている機能、APIをいきなり削除しないというようなポリシーもありますので安心してください。</p>

<h4>これまでの成功の紹介</h4>

<p>それでは、ここ数年での成功を紹介します。私がここに立っている、ということは何のことだか分かる方も多いかも知れませんが、そうですWeb MIDIです。</p>

<p>MIDIは知ってる方もそうでない方もいると思います。仕様ができてから30年以上にもなる楽器のキーボード、シンセサイザー等、電子楽器同士、またはコンピュータとを接続する標準化されたプロトコルです。数年前Web Audioで遊んでいたときに「これを楽器のキーボードから操作したい」と思い立ったW3Cにて標準化を始め、Chromeでは去年Shipされました。</p>

<p>ChromeでのShip以降、多くの楽器メーカがユーザー体験を提供するプラットフォームとしてWebを使い始めました。Yamahaはrefaceという新しいシンセサイザーのラインナップに対してSoundmondoという音色のエディタ、ライブラリアンを提供するWeb MIDIを使ったサービスを展開しています。NovationのCircuit Groove BoxはWebに接続して新しいサンプルをダウンロードします。これらの作業においてソフトウェアを新たにインストール必要はないのです。</p>

<p>そして、間違いなくスゴイことはフランスのEDMアーティストであるMadeonがWeb Audioで作られたRemixBoardをWebサイトで公開したことです。ファンに向けられて作られたサイトで、彼のアルバムの中の音をRemixして遊ぶことができるのです。もちろんMIDIデバイスも接続してプレイすることができるようになっているのです。<br>
（デモ（パフォーマンス？）が始まります。実際の動画を御覧ください）</p>

<p><figure class="aligncenter">
<a href="https://youtu.be/bK6Ah68jEX8?t=28m25s" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">
<img src="/wp-content/uploads/2016/06/chris_madeon.png" alt="chris_madeon" width="640" height="359" class="aligncenter size-full wp-image-19477" srcset="/wp-content/uploads/2016/06/chris_madeon.png 640w, /wp-content/uploads/2016/06/chris_madeon-300x168.png 300w, /wp-content/uploads/2016/06/chris_madeon-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></a>
<figcaption>何が起きたかは<a href="https://youtu.be/bK6Ah68jEX8?t=28m25s" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">ここ</a>または画像をクリックして動画を御覧ください！</figcaption>
</figure></p>

<p>デモアプリのURLはこちら<a href="https://html5experts.jp//www.madeon.fr/adventuremachine" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">www.madeon.fr/adventuremachine</a>です。</p>

<p>「これスゴイでしょ？！」と言いたいのですが、本質はそこではなくて「ハードウェアがブラウザにアクセスできる」ということが大きな可能性を生んだ、ということを伝えたいのです。ちょうど加速度センサから素晴らしいユーザー体験（UX）が生まれ、モバイル・デバイスが大きな可能性を持ったのと同じようにです。他にも接続できることで大きな可能性が生まれるデバイスはたくさんあると思います。我々は、そこにある可能性を積極的に解き放っていきたいと考えています。</p>

<p>（ここでChris氏からFrançois氏に交代）</p>

<h2>これから何が起こるのか</h2>

<h4>Web Bluetooth</h4>

<p>Bluetoothの名称の由来の説明から始まります。（詳しくはWikipediaの<a href="https://goo.gl/s7nIAG" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Bluetooth </a>「名称の由来」をどうぞ）
<img src="/wp-content/uploads/2016/06/bluetooth.png" alt="bluetooth" width="640" height="358" class="aligncenter size-full wp-image-19486" srcset="/wp-content/uploads/2016/06/bluetooth.png 640w, /wp-content/uploads/2016/06/bluetooth-300x168.png 300w, /wp-content/uploads/2016/06/bluetooth-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>Bluetoothはいろいろなバージョンで20年成長してきた技術で、最新はBluetooth Low Energy（BLE）が導入されたVersion 4でリリースされてから6年経過しています。Wi-Fi、Ethernetのスピードは継続的に上がっていますが、Bluetoothはちょっと様子が違っています。</p>

<p><img src="/wp-content/uploads/2016/06/blespeed.png" alt="blespeed" width="640" height="358" class="aligncenter size-full wp-image-19488" srcset="/wp-content/uploads/2016/06/blespeed.png 640w, /wp-content/uploads/2016/06/blespeed-300x168.png 300w, /wp-content/uploads/2016/06/blespeed-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>なぜなら、今まで接続されていなかった多くのデバイスに搭載できるようにバッテリの消費量を最小限にできるようにデザインされているからです。例えば小型のデバイスが使うバッテリは、通常CR2032です。（2032の20は直径、32は厚さを表すそうです！）なので、転送速度はとっても遅いのです。ですが、BLEはそもそも転送速度が遅くても大丈夫なデバイスをターゲットにしているので問題はありません。</p>

<p>それでは、デモをしてみます。デモはPlaybulb Candleという電球のOn/Off、色をBluetooth通信にて変更できるデバイスをWebアプリから操作します。（映像には全体が映っていませんでしたが、会場ではこんな感じでデモが行われていました）</p>

<p><img src="/wp-content/uploads/2016/06/playbulbcandle.jpg" alt="playbulbcandle" width="640" height="426" class="aligncenter size-full wp-image-19491" srcset="/wp-content/uploads/2016/06/playbulbcandle.jpg 640w, /wp-content/uploads/2016/06/playbulbcandle-300x200.jpg 300w, /wp-content/uploads/2016/06/playbulbcandle-207x138.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>Bluetooth SIG(Bluetoothの規格の策定、技術利用に対する認証を行う団体)は、これから先2年で96%の電話、タブレットにBLEが搭載されると予想している。そこからも、いろいろな場所でBLEが存在するであろうことがお分かりになると思います。</p>

<p>Web BluetoothのAPIを説明する前に、一度BLEの動作を復習してみます。Bletoothには、以下の2つの機能があります。</p>

<ul>
<li><b>Central</b>：近隣のデバイスを探索する（電話、ラップトップPCの等）</li>
<li><b>Peripheral</b>：周囲に向けて継続的に自らの情報を格納したアドバタイジング・パケットをBroadcastする。（心拍センサ、ビーコン、冷蔵庫等）</li>
</ul>

<p>PeripheralがCentralに接続（ペアリング）されると、Peripheralはアドバタイジング・パケットのBroadcastを停止し、CentralがPeriferalで動作するGATTサーバと通信を開始する。通信に関しては、デフォルトで用意されているバッテリ、心拍のようなサービスも存在していますが、もちろん独自にサービスを作ることも可能になっています。それぞれのサービスにはそれぞれのCharastristicに属性を持っていて、読込み（バッテリーレベルの取得等）、書込み（設定の変更等）、また更新時に通知（心拍数のリアルタイム監視）してもらうことも可能です。Web Bluetooth APIを使って書いたサンプルを説明していきます。</p>

<h4>値の読込み</h4>

<p><img src="/wp-content/uploads/2016/06/bluetooth_getValue.png" alt="bluetooth_getValue" width="640" height="358" class="aligncenter size-full wp-image-19498" srcset="/wp-content/uploads/2016/06/bluetooth_getValue.png 640w, /wp-content/uploads/2016/06/bluetooth_getValue-300x168.png 300w, /wp-content/uploads/2016/06/bluetooth_getValue-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>コードはラップトップがCentral、何かしらのデバイスがPeripheralとなっていることを想定しています。まず、Centralのラップトップがnavigator.bluetooth.requestDevice(option)をCallして近隣のデバイスを探索します。optionにデバイスが山ほど列挙されないためにどの種類でフィルタするかを記述します。コードではバッテリのサービスは標準化されているので「batttery_service」と文字列で指定していますが、アドバタイジングパケットにはカスタマイズした値も書込むことが可能です。</p>

<p>navigator.bluetooth.requestDevice(option)をCallすることで探索が開始され、それと同時にアドレスバーの直下に該当するデバイスを列挙するポップアップが出てきます。ユーザがリストからデバイスを選択すると、JavaScript側ではそのデバイスのデバイス名、利用可能なサービスが格納されているオブジェクトにアクセスが可能になります。</p>

<p>ここでセキュリティに関する注意点。<br>
navigator.bluetooth.requestDevice(option)はユーザのインタラクションにて初めて動作します。デモではボタンクリックで開始していました。Localhost以外のホストでWeb Bluetoothを使う場合は、HTTPSでコンテンツがServeされたことを要求している。</p>

<p>device.get.connect()をCallしてGATTサーバと接続をします。その後に、server.getPrimaryService(&#8216;battery_service&#8217;)でバッテリサービスを取得、service.getCharacteristic(&#8216;battery_level&#8217;)で読込みたいCharacteristicを指定して取得、最後にcharacteristic.getValue()をCallすることで、バッテリのレベルの読込み（取得）をすることができます。</p>

<h4>値の書込み</h4>

<p><img src="/wp-content/uploads/2016/06/bluetoothapi_lookslike.png" alt="bluetoothapi_lookslike" width="640" height="360" class="aligncenter size-full wp-image-19496" srcset="/wp-content/uploads/2016/06/bluetoothapi_lookslike.png 640w, /wp-content/uploads/2016/06/bluetoothapi_lookslike-300x169.png 300w, /wp-content/uploads/2016/06/bluetoothapi_lookslike-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>先ほどとは違い、心拍センサをPeripheralとしています。その他、ハイライトされた部分が違います。charctristic.writeValue()にUint8Arrayにて、1バイトを引数に渡すことで書込みを行っています。</p>

<h4>更新の受取り</h4>

<p><img src="/wp-content/uploads/2016/06/bluetooth_notify.png" alt="bluetooth_notify" width="640" height="359" class="aligncenter size-full wp-image-19499" srcset="/wp-content/uploads/2016/06/bluetooth_notify.png 640w, /wp-content/uploads/2016/06/bluetooth_notify-300x168.png 300w, /wp-content/uploads/2016/06/bluetooth_notify-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>この例でも、心拍センサをPeripheralとしています。この例でも、ハイライトされた部分が違います。characteristicにcharacteristicvaluechangedのイベント名でEventハンドラを設定し、beepという関数をCallbackとして指定しています。characteristic.startNotifications()で、更新の受け取りを開始します。これで、更新がある度にbeepが実行されます。</p>

<p>続いて、心拍センサを動作させるデモです。私（François氏）は心拍センサをつけています。リアルタイムに値を受け取ることができますので、ちょっと見てみましょう。通常私の心拍数は60-80ですが、今はどうでしょう？</p>

<p><img src="/wp-content/uploads/2016/06/francis_heartrate.png" alt="francis_heartrate" width="640" height="361" class="aligncenter size-full wp-image-19504" srcset="/wp-content/uploads/2016/06/francis_heartrate.png 640w, /wp-content/uploads/2016/06/francis_heartrate-300x169.png 300w, /wp-content/uploads/2016/06/francis_heartrate-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>（普段の倍近くの心拍数が表示されChris氏も会場も爆笑）<br>
次に実際にリアルタイムに心拍数を受け取っていることを証明するために腕立て伏せをしてみます。（前編の最後に掲載さいた画像はここでの1シーンです）<br>（が、ペアリングが切断されたのか動作せず……そして、今度はChris氏も会場も大爆笑！失敗するということは、デモがリアルタイムに行われている証拠です！）</p>

<p>私以外にも、Web Bluetoothで遊んでいる同僚たちもいます。</p>

<p><figure class="aligncenter">
<img src="/wp-content/uploads/2016/06/bletoy00.png" alt="bletoy00" width="640" height="361" class="aligncenter size-full wp-image-19505" srcset="/wp-content/uploads/2016/06/bletoy00.png 640w, /wp-content/uploads/2016/06/bletoy00-300x169.png 300w, /wp-content/uploads/2016/06/bletoy00-207x117.png 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption>Web Bluetoothでラジコンカーをコントロール</figcaption>
</figure></p>

<p><figure class="aligncenter">
<img src="/wp-content/uploads/2016/06/bletoy01.png" alt="bletoy01" width="640" height="359" class="aligncenter size-full wp-image-19506" srcset="/wp-content/uploads/2016/06/bletoy01.png 640w, /wp-content/uploads/2016/06/bletoy01-300x168.png 300w, /wp-content/uploads/2016/06/bletoy01-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption>Web Bluetoothでプリンタをコントロール</figcaption>
</figure></p>

<p><figure class="aligncenter">
<img src="/wp-content/uploads/2016/06/bletoy02.png" alt="bletoy02" width="640" height="359" class="aligncenter size-full wp-image-19507" srcset="/wp-content/uploads/2016/06/bletoy02.png 640w, /wp-content/uploads/2016/06/bletoy02-300x168.png 300w, /wp-content/uploads/2016/06/bletoy02-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption>Web BluetoothでBB-8をコントロール</figcaption>
</figure></p>

<p><figure class="aligncenter">
<img src="/wp-content/uploads/2016/06/bletoy03.png" alt="bletoy03" width="640" height="359" class="aligncenter size-full wp-image-19508" srcset="/wp-content/uploads/2016/06/bletoy03.png 640w, /wp-content/uploads/2016/06/bletoy03-300x168.png 300w, /wp-content/uploads/2016/06/bletoy03-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption>Web BluetoothでLEDをコントロール</figcaption>
</figure></p>

<p><figure class="aligncenter">
<img src="/wp-content/uploads/2016/06/Screen-Shot-2016-06-05-at-1.20.56-AM.png" alt="Screen Shot 2016-06-05 at 1.20.56 AM" width="640" height="359" class="aligncenter size-full wp-image-19509" srcset="/wp-content/uploads/2016/06/Screen-Shot-2016-06-05-at-1.20.56-AM.png 640w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-05-at-1.20.56-AM-300x168.png 300w, /wp-content/uploads/2016/06/Screen-Shot-2016-06-05-at-1.20.56-AM-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption>Web Bluetoothで空飛ぶ猫をコントロール</figcaption>
</figure></p>

<p>Bluetoothのパケット通信の中身を見るときはAndroidを使うのが最も簡単な方法です。AndroidのDeveloper Optionにある「Bluetooth HCI snoop log」を有効にしてください。（詳しくは<a href="http://wifimanager.hateblo.jp/entry/2016/06/02/204600" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">この辺り</a>を参照してみてください）</p>

<p><img src="/wp-content/uploads/2016/06/support_browser.png" alt="support_browser" width="640" height="358" class="aligncenter size-full wp-image-19511" srcset="/wp-content/uploads/2016/06/support_browser.png 640w, /wp-content/uploads/2016/06/support_browser-300x168.png 300w, /wp-content/uploads/2016/06/support_browser-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>現在Web BluetoothをサポートしているブラウザはOperaとChromeOS、マシュマロ上で動作しているChrome for Android、Chrome for LinuxでChromeでは chrome://flags/#enable-web-bluetooth （アドレスバーにコピー＆ペーストしてください）を有効にすることで利用することが可能です。Mac、WindowsのChromeへは現在実装中です。</p>

<p>開発の助けになるであろう以下の2つを紹介します。</p>

<ul>
<li>Get Start with Web Bluetooth (<a href="https://html5experts.jp//goo.gl/MLKzj2" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">goo.gl/MLKzj2</a>)：コードジェネレータ</li>
<li>Web Bluetooth Developer Studio Plugin (<a href="https://html5experts.jp//goo.gl/c2ype5" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">goo.gl/c2ype5</a>)：Bluetooth SIGが提供している<a href="https://www.bluetooth.com/~/media/developer-studio/index" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Bluetooth Developer Studio</a>向けのPlug-in</li>
</ul>

<p>WebアプリからでもNativeアプリと同じように、Bluetoothでデバイスを操作できるようになりました。また、Webアプリですので、URLをシェアすることで、誰でもスグにアプリを利用できるようになります。当たり前のことかもしれませんが、これがWeb Platformの大きな強みです。</p>

<h4>Physical Webとの連携</h4>

<p>URLを載せたBluetoothのパケットをビーコンからブロードキャストするPhysical Webですが、これがもしBluetoothのアプリからブロードキャストできたらどうでしょう？</p>

<p>URLをPhysical Web経由で受け取り、そのURLにアクセスするとBluetoothデバイスをコントロールするアプリが表示され、Bluetoothデバイスとのペアリングが完了したら、その直後からBluetoothの利用が可能になりますよね。今までのアプリを検索してインストールする等の作業が一切必要がなくなり、通知エリア(Notification Area)に通知されたURLにアクセスするだけでペアリングも含め、Bluetoothデバイスを利用する準備が整うことになります。</p>

<p>今後、Web BluetoothはPhysical Webの機能を組み込み、前述の動作を一気通貫でJavaScriptで実装できるような機能を追加する予定です。</p>

<p>Codelabも<a href="https://codelabs.developers.google.com/codelabs/candle-bluetooth/index.html" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Control a PLAYBULB candle with Web Bluetooth</a>と<a href="https://codelabs.developers.google.com/codelabs/polymer-bluetooth/index.html" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Interactive with Bluetooth devices on the web with Polymer</a>もありますので、是非挑戦してみてください。</p>

<p>（再びChris氏）</p>

<h4>Web USB</h4>

<p>Web USBは現存する全てのUSBデバイスに接続しようと考えているわけではなくて、Firmwareへのアクセスを許可されているような新しい種類のデバイスに適用されます。</p>

<h2>まとめ</h2>

<p>ここではカバーしきれなかった、まだまだ多くの以下の様な機能が進行中です。</p>

<p><img src="/wp-content/uploads/2016/06/note_covered.png" alt="note_covered" width="640" height="358" class="aligncenter size-full wp-image-19515" srcset="/wp-content/uploads/2016/06/note_covered.png 640w, /wp-content/uploads/2016/06/note_covered-300x168.png 300w, /wp-content/uploads/2016/06/note_covered-207x116.png 207w" sizes="(max-width: 640px) 100vw, 640px" /></p>

<p>さらに、まだデザインも始めていないPersistent Storageとか、Web Intents v2もあります。</p>

<p>そろそろ時間です。我々がWeb Platformの未来にワクワクしているのと同じくらいに、皆さんもワクワクしていることを期待しています。</p>

<p><a href="https://html5experts.jp//developers.google.com/web/updates/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">developers.google.com/web/updates/</a> にさらなる情報がありますので、お時間がありましたらご覧ください。</p>

<p>（というところで、セッションは終了しました）</p>

<p><figure class="aligncenter">
<img src="/wp-content/uploads/2016/06/IMG_34891.jpg" alt="IMG_3489" width="640" height="443" class="aligncenter size-full wp-image-19360" srcset="/wp-content/uploads/2016/06/IMG_34891.jpg 640w, /wp-content/uploads/2016/06/IMG_34891-300x208.jpg 300w, /wp-content/uploads/2016/06/IMG_34891-207x143.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" />
<figcaption>セッション終了後の素敵な笑みを浮かべるChris氏とガッツポーズのFrançois氏</figcaption>
</figure></p>

<p>ありがとうございました＆お疲れ様でしたっ！！！</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
