<?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>HTML5 Conference 2013 &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/html5-conference-2013/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>通信キャリアプロフェッショナルが語るHTML5への期待「HTML5 Conference 2013」</title>
		<link>/miyuki-baba/4129/</link>
		<pubDate>Thu, 09 Jan 2014 01:00:13 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[ネットワーク]]></category>

		<guid isPermaLink="false">/?p=4129</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (21)「HTML5 Conference 2013」ルーム5Cの最終セッションは「通信キャリアプロフェッショナルが語るHTML5への期待」と題したパネルディス...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (21)</div><p>「HTML5 Conference 2013」ルーム5Cの最終セッションは「通信キャリアプロフェッショナルが語るHTML5への期待」と題したパネルディスカッションが行われた。パネラーとして登壇したのはNTTコミュニケーションズの宮川晋氏（専門：バックボーンNW）、ソフトバンクモバイルの湧川隆次氏（専門：アクセスNW）、KDDIの藤井彰人氏（専門：クラウド基盤）の3人。コーディネータをNTTコミュニケーションズの小松健作氏が務めた。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/PB304717.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/PB304717.jpg" alt="PB304717" width="700" height="332" class="aligncenter size-full wp-image-4317" srcset="/wp-content/uploads/2014/01/PB304717.jpg 640w, /wp-content/uploads/2014/01/PB304717-300x142.jpg 300w, /wp-content/uploads/2014/01/PB304717-207x98.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>これからのアプリ開発はネットワークの知識は欠かせない</h2>

<p>セッション開始にあたり、まず小松氏が同セッションの目的を紹介した。<br>
「HTML5の登場により、Webが進化しているのは承知のとおり。通信など他のレイヤーに影響を及ぼしている。つまりWebアプリ開発者も、キャリア通信のところで何が起きているか知らないとやっていけない状況になっている。またこれは逆もしかり。そこでまずキャリアプロフェッショナルに、今、通信のところでは何が起きているか語ってほしい」。こう口火を切り、宮川氏のプレゼンテーションが始まった。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/PB304614.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/PB304614.jpg" alt="PB304614" width="700" height="388" class="aligncenter size-full wp-image-4319" srcset="/wp-content/uploads/2014/01/PB304614.jpg 640w, /wp-content/uploads/2014/01/PB304614-300x166.jpg 300w, /wp-content/uploads/2014/01/PB304614-207x114.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>アプリ屋さんはTCPより下を、IP屋さんはTCPより上を</h2>

<p>「私はIP屋なので、Webの世界は知らない」。開口一番そう話し、プロフィールの紹介を始めた宮川氏。同氏は会社での仕事のほか、RFC3769 Requirements IPv6　Prefix DelegationなどIPv6の規格の標準化・実用化に長らく携わっているという。<br>
「今日はIPネットワークに携わっている側から、HMTLをやっている皆さんに知っていただきたいこと、あるいは教えていただきたいことについて話をしたい」</p>

<p>こう前置きし、最初に宮川氏が紹介したのはIETFの「HourGlass（砂時計モデル）」図。同図では砂時計の真ん中部分がIPとなっており、IP屋さんはTCPより上については良くわからず、反対にアプリ屋さん（HTMLを書く人）はTCPより下については気にしなくてよかった。しかし「HTML5関連の技術であるSPDYやWebSocket、WebRTCなどが登場してからはそうも言っていられなくなった」という。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_14.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_14.jpg" alt="Screenshot_1" width="640" height="413" class="aligncenter size-full wp-image-4321" srcset="/wp-content/uploads/2014/01/Screenshot_14.jpg 640w, /wp-content/uploads/2014/01/Screenshot_14-300x193.jpg 300w, /wp-content/uploads/2014/01/Screenshot_14-207x133.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>CGN（Carrier Grade NAT）という技術がある。これは1つのグローバルアドレスを複数のユーザーで共用するという、IPv4延命のための技術だ。重要なのはCGNでは1台のマシンで使用できるTCPの数には限界があるということ。最近のWebアプリはAjaxを用いて多数のTCPを張り、表示の高速化を図っている。つまりたくさんのTCPを同時使用しているということ。このような状況下でCGNが導入されればCGNに多大な負荷と影響を及ぼすことになると予想できるという。もちろんIPv6化も検討が進められているが、「これも問題がないわけではない」と宮川氏は次の点を指摘する。</p>

<ul>
<li>SPDYやWebSocketなどとインフラとの親和性が本当にあるのか。</li>
<li>ファイアウォールやロードバランサーとかがうまく機能するのか</li>
<li>全部HTTPSになるとしたら、コンテンツの中身をプロバイダは見えなくなる。ISPはもう何もできなくなるがいいのか</li>
</ul>

<p>また今のネットワークはクライアント/サーバモデルに忠実なので、North-Southが太くてEast-Westはあまり考えていないつくりになっている。しかしこれからWebRTCが流行ったりすると、EW方向も重要になると思われる。</p>

<p>「アプリ屋さんと意見交換をしたい。現在、<a href="http://v6pc.jp/jp/index.phtml" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">V6協議会研究</a>で『IPv4枯渇に係るインターネット新技術導入に向けた検討WG』を運営している。一緒にやってくれる人を大募集している」</p>

<h2>IPv6は真のエンドツーエンド実現。だからIPの知識が必要</h2>

<p>続いて湧川氏が登壇。<br>
「キャリアという紹介があったが、実はソフトバンクモバイルに入ったのは今年4月。IETFでモバイルの標準化にずっと携わってきた。今日はHTML5のWebsocketやSPDYが、どうIPに影響するかというところから話をさせていただこうと思っている」。こう切り出し、湧川氏のプレゼンが始まった。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/PB304626.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/PB304626.jpg" alt="PB304626" width="700" height="339" class="aligncenter size-full wp-image-4324" srcset="/wp-content/uploads/2014/01/PB304626.jpg 640w, /wp-content/uploads/2014/01/PB304626-300x145.jpg 300w, /wp-content/uploads/2014/01/PB304626-207x99.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<p>今まではサーバーとマシンとのやり取りはHTTP1.1。複数のTCPでマルチにセッションを張り、各TCPが1つのやり取りをしてデータを落としてきた。これを効率化するために登場したのが、WebSocketである。これにより、一つのTCPパイプの中で複数のストリームを流せるようになった。そしてHTTP2.0では暗号化して仮想的なセッションでやり取りするという新しい動きが出てきている。</p>

<p>「しかし疑問もある」と湧川氏。それはTCPのLong-Livedセッションはモバイルには向かないのではということ。先述したように今までは一つのページに複数のTCPを張り、通信をしていたので非常に短いセッションですんだ。一方今はWebSocketのように1つのTCPに複数のストリームを流していくので、長い時間TCPのセッションを張ることになる。そうなるとモバイルはどうしても「パケ詰まりにより、無線の混雑が起きてしまう」と指摘する。またモバイルはハンドオーバーもある。「モバイルの場合、TCPのセッションを減らそうといっても、複数のセッションを張ることになると思う」と湧川氏。</p>

<p>一般的にキャリア側ではユーザーが便利に使えるよう、さまざまな施策を講じてきた。以下がそれだ。</p>

<ul>
<li>キャッシュ</li>
<li>CDN</li>
<li>オプティマイザー</li>
<li>フィルタリング</li>
<li>ファイアウォール</li>
<li>DPI（Deep Packet Inspection）</li>
<li>QoS</li>
</ul>

<p>今後、暗合化してエンドツーエンドで通信をするようになると、「キャリアができることはなくなる」と湧川氏は言う。つまりアプリケーションを書く人が用途と使える機能をきちんと理解して使うことが重要になるという。そしてIPv6が普及すると、真のエンドツーエンドが実現する。「すばらしい世界だが、大丈夫かどうか、注意が必要。ぜひアプリ開発者と議論していきたい」（湧川氏）。</p>

<h2>ネットワークのSDKもプログラムブルに</h2>

<p>最後に登壇したのは藤井氏。
「先の二人とはバックグラウンドがかなり違う」
プレゼン冒頭でこう切り出し、藤井氏のプレゼンが始まった。同氏がGoogleからKDDIに転職したのは今年の4月で、MashupやWebAPIでアプリケーションを作っていくことに関心を抱いているという。KDDIではクラウド基盤のサービスの企画を担当している。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/PB304656.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/PB304656.jpg" alt="PB304656" width="700" height="405" class="aligncenter size-full wp-image-4326" srcset="/wp-content/uploads/2014/01/PB304656.jpg 640w, /wp-content/uploads/2014/01/PB304656-300x173.jpg 300w, /wp-content/uploads/2014/01/PB304656-207x119.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<p>「HTML5はモバイル、ウェアラブル、クラウドへ転換していく」と藤井氏。そのときにクラウドの基盤とアプリケーションの配信基盤が今後、どうなっていくのか、そこに関心があるという。データセンターなどのインフラとアプリケーション開発基盤がセットになったものがどんどん登場している。その例として藤井氏が挙げたのが、Facebookのデータセンターのハードウェア設計をオープンソース化する「Open Compute Project」やAmazonの「AWS SDK for JavaScript」。「インスタンスを追加したりロードバランスの設定を変えたり、ということがAWSで動的に変えていける時代になっている」（藤井氏）</p>

<p>Webアプリケーションの基盤としてのPaaS、BaaS、MEAP（モバイル・エンタープライズ・アプリケーション・プラットフォーム）なども登場している。</p>

<p>「ネットワークのSDKのところがプログラムブルになるなど、Webアプリ開発者もアプリだけをみていれば良いという時代は終わったと言える。どんなクラウド、開発基盤を求めていくのか。Webアプリ開発者のその分野への自由な進撃が始まる」（藤井氏）</p>

<p>3人のプレゼンが終了し、コーディネータの小松氏は「これからのWebアプリケーション開発では、ネットワークやクラウドなどの知識もなければ難しくなる。そのための取り組みとしてキャリア側で用意していることやアプリ開発者に期待していることが教えてほしい」と問いかけた。</p>

<p>「2015年11月にIETFの会合が横浜で開催される。しかもW3CのTPACとの同時開催を今、画策している。この同時開催の裏側にあるのは、インフラとアプリがバラバラで開催することに限界がきているから。お互いにセッションし合わなければならないほど、深刻な事態に突入してきている。これは逆にビジネスチャンスでもある。IETFやTPACで何かしようとしたら2年ぐらいかかるので、『こういうアイデアがあるんだけど』という人がいれば、どんどん発信してほしい。そして2年後の横浜で世界に向かって成果として出す。これはすごいバリューになる」（宮川氏）</p>

<p>「アプリ開発側からネットワークの方にもっと寄ってきて欲しい。要求仕様を出してもらえると、私たちができることはまだまだ一杯ある。アプリ開発側がどういうところに問題を感じているかをぜひ、教えて欲しい」（湧川氏）</p>

<p>「ネットワークやクラウドを含め、すべてがプログラムできるような世界がくる。それを考慮に入れたアプリケーションの開発やアーキテクチャの作り方をしていってほしい。また先述したようにさまざまなインフラのサービスが登場しているので、それを使い分けていくのも面白いと思う。そのためにも、ほかのレイヤーの知識を身につけてほしいですね」（藤井氏）</p>

<h2>ネットワークの知識は欠かせない</h2>

<p>藤井氏の話に付け足す形で宮川氏はジュニパーネットワークスがこの秋に発表したOSSプロジェクト「OpenContrail」を紹介。同プロジェクトではApache License 2.0で利用できる SDNコントローラ、仮想ルータ、オーケストレーションAPI、アナリティクス、管理コンソールなど、データセンターのオーバーレイを実行するのに必要なすべてのコンポーネントを提供している。</p>

<p>また同プロジェクトではXMPPというチャットで使われるプロトコルを採用していることから、「例えば30分だけより大きな帯域を確保したいというと、15分後にそれが実現する、ということもできるようになるかも」と、アプリ側でできることの広がりを示唆した。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/PB304674.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/PB304674.jpg" alt="PB304674" width="700" height="383" class="aligncenter size-full wp-image-4328" srcset="/wp-content/uploads/2014/01/PB304674.jpg 640w, /wp-content/uploads/2014/01/PB304674-300x164.jpg 300w, /wp-content/uploads/2014/01/PB304674-207x113.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<p>アプリ開発者にとってネットワークの知識がこれから大事になることを改めて実感できた同セッション。「HTML5の普及でネットワークへの敷居は下がってきている。Googleなども遅延をなくそうといろんな仕掛けに取り組んでいる。ぜひ、みなさんもネットワークを武器にしてこれからのアプリ開発に生かしてほしい」（湧川氏）、「HTML5だけに小さくまとまってしまうのではなくて、ネットワークとクラウドのところにも興味を広げ、大きな可能性を探ってほしい」（藤井氏）と呼びかけ、セッションは終了した。</p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：中村仁美／撮影：斉藤和佳子）</p>

<p></div></p>

<p>【講演資料・セッション映像】</p>

<iframe width="560" height="315" src="//www.youtube.com/embed/lOQEYrTIaI4" frameborder="0" allowfullscreen></iframe>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>ブラウザとMIDIの出会いが拓くWebとMusicの新しい世界「HTML5 Conference 2013」</title>
		<link>/miyuki-baba/3758/</link>
		<pubDate>Wed, 08 Jan 2014 02:00:43 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[MIDI]]></category>

		<guid isPermaLink="false">/?p=3758</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (20)Web MIDI APIはWeb Audio APIと並ぶ音楽系のAPIです。あまり馴染みのないMIDIですが、Web MIDI APIを使うことであら...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (20)</div><p>Web MIDI APIはWeb Audio APIと並ぶ音楽系のAPIです。あまり馴染みのないMIDIですが、Web MIDI APIを使うことであらゆる電子楽器とブラウザの接続が簡単にでき電子楽器からブラウザ上のアプリケーションを操作、また逆に、ブラウザ上のアプリケーションから電子楽器を操作することが可能です。</p>

<p>「HTML5 Conference 2013」では、MIDIの基礎、Web MIDI APIの概要、また10月末に発表された音声合成技術について、AMEI Web MIDI WG/ヤマハ株式会社の河合良哉氏が紹介。ハードウェアに搭載したLSI「NSX-1」を1ボードに収めた「eVY1 SHIELD」を使ったデモアプリケーションや、WebとMusicの世界について語られました。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/DSC_0188.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/DSC_0188.jpg" alt="DSC_0188" width="700" height="360" class="aligncenter size-full wp-image-4271" srcset="/wp-content/uploads/2014/01/DSC_0188.jpg 640w, /wp-content/uploads/2014/01/DSC_0188-300x154.jpg 300w, /wp-content/uploads/2014/01/DSC_0188-207x106.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>MIDIの基礎と、Web MIDI APIの概要</h2>

<p>現在、MIDI規格の標準化・企画の策定・管理・普及活動（MIDI検定試験）を行っているのは、一般社団法人音楽電子事業協会AMEI（Association of music electronics industry）。2013年9月にWeb MIDI Working Groupを発足させ、W3Cに加盟し、Web MIDI APIの規格策定・普及活動を開始しました。</p>

<p>Web MIDI APIは、あらゆる電子楽器とブラウザの接続が簡単にできる音楽系API。電子楽器からブラウザ上のアプリケーションを操作でき、さらにブラウザ上のアプリケーションから電子楽器を操作することも可能です。</p>

<p>MIDI（Musical Instrument Digital Interface）とは、電子楽器同士を接続するインターフェースであり、31.25Kbpsの非同期方式シリアル通信とデータの単位は8bit（1byte）を用いています。端子はIN、OUT、THRUの3種類があり、端子でつながっている複数の楽器を同時に制御することが可能。また、16チャンネルを持っているので、16個の音色を同時に操ることができます。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/767653c49924bad8d42d808b46d12cc1.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/767653c49924bad8d42d808b46d12cc1.jpg" alt="ブラウサ-とmidiの出会い" width="635" height="454" class="aligncenter size-full wp-image-4273" srcset="/wp-content/uploads/2014/01/767653c49924bad8d42d808b46d12cc1.jpg 635w, /wp-content/uploads/2014/01/767653c49924bad8d42d808b46d12cc1-300x214.jpg 300w, /wp-content/uploads/2014/01/767653c49924bad8d42d808b46d12cc1-207x147.jpg 207w" sizes="(max-width: 635px) 100vw, 635px" /></a></p>

<p>MIDIにはチャンネルメッセージ・システムメッセージの2種類があります。チャンネルメッセージでは、チャンネルごとに独立した演奏情報を伝え、システムメッセージでは全体をコントロールする情報を伝えます。システムメッセージには様々なものがありますが、NoteOn（音を発生）、NoteOff（音を止める）、ProgramChange（音色を変える）、SystemExclusive（複数の機器をコントロール）の4つを使うだけでもMIDIをかなり楽しめるでしょう。これらのメッセージでさまざまな表現の可能性を持つのがMIDIです。</p>

<h2>注目を集めるWeb MIDI API</h2>

<p>MIDIのメリットはいろいろありますが、まず挙げられるのはmp3のようなバイナリデータと違ってデータ量が少ないところ。NoteOn（音を発生）、NoteOff（音を止める）など信号だけをやりとりするため、1分間あたりのデータ量は10kb以下。またMIDIでは接続した機器のON/OFFに強弱がつけられる。さらに「今から1分後にある音を鳴らす」など、シーケンスを書けるところも大きな魅力です。</p>

<p>MIDIのユースケースには音楽用途とそれ以外があります。音楽用途としては、電子機器の複数台コントロール・DAW（Cubase、Gragebandなど）・カラオケ、演奏記録アプリ・遠隔地ライブ配信など。カラオケはmp3配信も増えてきましたが、まだまだMIDIも多い。またヤマハ株式会社では、先日カリフォルニアのホールにいるエルトン・ジョンの歌声を銀座・韓国・ロシア・ブラジルに配信し、遠隔地と同期させる遠隔地ライブ配信を実施したばかり。音楽以外では、Show（MSC：MIDI Show Control）が興味深い。Universal StudioのアトラクションWater WorldやBellagioの噴水のコントロールにMIDIが使われています。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/085831a70d75bce08896a8215121a509.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/085831a70d75bce08896a8215121a509.jpg" alt="ユースケース" width="634" height="463" class="aligncenter size-full wp-image-4275" srcset="/wp-content/uploads/2014/01/085831a70d75bce08896a8215121a509.jpg 634w, /wp-content/uploads/2014/01/085831a70d75bce08896a8215121a509-300x219.jpg 300w, /wp-content/uploads/2014/01/085831a70d75bce08896a8215121a509-207x151.jpg 207w" sizes="(max-width: 634px) 100vw, 634px" /></a></p>

<p>最近ネットワークとの融合で大きな可能性を秘めているMIDIですが、10月末にGoogleと共同でWeb MIDI APIのハッカソンが行われました。優秀賞には、TENORI-ON（16&#215;16のマトリクスボタンで、音楽知識がなくても直感的に音楽を作り奏でられる手のひら大のデバイス）から発生するデータをMIDI信号に解析し、絵を割り当てるアプリVJ（Video Jockey）が選ばれています。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/9e2fe3ec97af60ab66585e96c62d804f1.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/9e2fe3ec97af60ab66585e96c62d804f1.jpg" alt="ハッカソン" width="637" height="462" class="aligncenter size-full wp-image-4279" srcset="/wp-content/uploads/2014/01/9e2fe3ec97af60ab66585e96c62d804f1.jpg 637w, /wp-content/uploads/2014/01/9e2fe3ec97af60ab66585e96c62d804f1-300x217.jpg 300w, /wp-content/uploads/2014/01/9e2fe3ec97af60ab66585e96c62d804f1-207x150.jpg 207w" sizes="(max-width: 637px) 100vw, 637px" /></a></p>

<p>Web MIDI APIでは、他のAPIとのコラボレーションも容易になります。ハッカソン会場では、カメラを使ったGet user mediaとコラボレーションしたアプリもいくつか発表され、注目を集めています。</p>

<p>アプリ作成に関する情報としては、2013年11月末にWeb MIDI APIはアップデートされたばかり。以前より、いく分短いソースコードで表現することが可能になりました。ブラウザは現在Chromeに対応。FireFox、Opera、SafariではWeb MIDI API仕様が容易されています。IEは対応されていませんが、Microsoft connectによると「IE11には載せないが今後は載せたい」と前向きの様子です。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/91d805ddac1df8943af3c0512c7b4579.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/91d805ddac1df8943af3c0512c7b4579.jpg" alt="ソースコード" width="632" height="469" class="aligncenter size-full wp-image-4277" srcset="/wp-content/uploads/2014/01/91d805ddac1df8943af3c0512c7b4579.jpg 632w, /wp-content/uploads/2014/01/91d805ddac1df8943af3c0512c7b4579-300x222.jpg 300w, /wp-content/uploads/2014/01/91d805ddac1df8943af3c0512c7b4579-207x153.jpg 207w" sizes="(max-width: 632px) 100vw, 632px" /></a></p>

<p>Web MIDI APIを使ったアプリに挑戦してみたい人たちのために、Web MIDI API Wrapperが公開されています。現在sendのみですが、これからreceiveも対応する予定とのこと。MIDIでつながる様々なデバイスをコントロールするアプリの楽しさを、多くの人達に楽しんでほしい、と河合氏はセッションを締めくくりました。</p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：畑毛あゆみ／撮影：藤川友子）</p>

<p></div></p>

<p>【講演資料・セッション映像】</p>

<iframe src="http://www.slideshare.net/slideshow/embed_code/28761481?rel=0" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen> </iframe>

<div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/ryoyakawai/midiwebmusic" title="ブラウザとmidiの出会いが拓くwebとmusicの新しい世界" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">ブラウザとmidiの出会いが拓くwebとmusicの新しい世界</a> </strong> from <strong><a href="http://www.slideshare.net/ryoyakawai" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Kawai Ryoya</a></strong> </div>

<iframe width="560" height="315" src="//www.youtube.com/embed/ACM1BAvJYWQ" frameborder="0" allowfullscreen></iframe>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>Spec EditorとContributorが語るWeb標準化と開発者への期待「HTML5 Conference 2013」</title>
		<link>/miyuki-baba/3754/</link>
		<pubDate>Tue, 07 Jan 2014 04:00:50 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[標準化]]></category>

		<guid isPermaLink="false">/?p=3754</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (18)「HTML5 Conference 2013」において行われた「Spec EditorとContributorが語るWeb標準化と開発者への期待」。グー...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (18)</div><p>「HTML5 Conference 2013」において行われた「Spec EditorとContributorが語るWeb標準化と開発者への期待」。グーグル及川卓也氏による総合司会のもと、Web技術の標準化に携わっている楽天の石井宏治氏、グーグル安田絹子氏、NTTコミュニケーションズ小松健作氏、矢倉眞隆氏4名の開発者によるセッションの一部をレポートします。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040843.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040843.jpg" alt="P1040843" width="700" height="485" class="aligncenter size-full wp-image-4284" srcset="/wp-content/uploads/2014/01/P1040843.jpg 640w, /wp-content/uploads/2014/01/P1040843-300x207.jpg 300w, /wp-content/uploads/2014/01/P1040843-207x143.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a>
<br></p>

<h2>Web技術における「標準化」とは何か？</h2>

<p><br>
及川：一般的にWeb技術の標準化の対象になるのは「HTML」「CSS」「JavaScript」「ネットワークプロトコル」「Unicode」といった分野が中心になるかと思います。
まず具体的にどういったテーマの標準化に関わっているのか。またその内容に関して簡潔に教えてください。
<br><br>
矢倉：W3Cにおいて、HTMLやCSS、API等の仕様策定に関わっています。ブラウザに実装される仕様にするために、主にフロントエンド周りの仕様を作ります。ここでは「標準」ではなく「勧告」というレベルにおける仕様。そこで作って決めてから製品を出します。デファクトスタンダードは「使ってなんぼ」という傾向があり、実際に書いて実装してから、よくない部分をフィードバックして仕様を固めてから勧告します。つまり、実装がないと仕様が完成しないということです。
<br><br>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040807.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040807.jpg" alt="P1040807" width="700" height="359" class="aligncenter size-full wp-image-4297" srcset="/wp-content/uploads/2014/01/P1040807.jpg 640w, /wp-content/uploads/2014/01/P1040807-300x153.jpg 300w, /wp-content/uploads/2014/01/P1040807-207x106.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a>
<br>
小松：IETF（Internet Engineering Task Force　通信プロトコル標準化）において、具体的にどういう通信プロトコルでやるか？　IETFで勧めたデータフォーマットを標準化していきます。普段はメーリングリストや年3回のワーキンググループミーティングでメンバー同士議論して実装、その後仕様にフィードバック～レビュー～レコメンデーション、といった流れで標準化が進んでいきます。ステークホルダーの多いW3Cと比べると、IETFの方が一般的に仕様化が早い気がしますね。
<br><br>
石井：私は「Unicode」という文字コードを決める団体に関わっています。例えば「お墓に使う文字」を新たに業界標準文字に指定したり、文字単位で仕様を決める場合「どこで改行したらいいか？」といった規則を全部の文字にプロパティとして決めたり。またCSSで縦書きで書こうとした場合、何が横書きで縦書きにすべきなのか考えたとき、「半角は横書き」といった規定をUnicodeで決めます。
<br><br>
及川：標準化には「デファクト標準」「デジュール標準（国や政府が決める）ものがあり、Unicodeはデファクト標準。政府調達でデジュールじゃないとダメ、という規則もありますよね。</p>

<h2>標準化に関わることの苦労とは？</h2>

<p><br>
及川：実際にWeb標準化に携わることでいろいろ苦労もあると思うのですが、その点はいかがでしょうか？
<br><br>
安田：例えばW3Cのスペックにもいろいろあり、よく議論が紛糾し、調停しないといけないケースもあります。私の場合、主にマイナーな分野を担当しているので、他のブラウザベンダー開発者に担当しているテーマに関する重要性を分かってもらい、実装してもらわないと前に進まず困ることになります。そこでメールや電話、また直接ベンダーとお会いして、「こういうことを考えていますけど、フィードバックいただけませんか」と頼むこともあります。そこで断られることもあるので、結構地道な努力が必要です。
<br><br>
あと、私が実装しているAPIも仕様にフィードバックがあって、慌てて仕様を変えて実装し、改善することもあります。こればかりは実装しないとわからない部分もあるので、実装しながら改善していくスタイルが求められますね。
<br><br>
石井：そもそも標準化する目的は、2つ以上のベンダーがあって、それぞれに対してたくさんのユーザーがいて、その2つが同じように動くことでユーザーや開発者にメリットが生まれることを目指すことにあります。
<br><br>
アイデアを出す部分から、最終的にステークホルダーが全員納得するところまで持っていく苦労がある。そのために、まずは多くの人数が議論する価値があることを、みんなに納得してもらうことが必要。クロームやサファリ、IEなど最低2つが「実装しよう」と言わないと標準化はできない。その機能を要望する声と、実際に使う機能がマッチしているか？そして実装する側のベンダーの合意を全部持っていくことが標準化への大きなカギを握ります。
<br><br>
逆に「こんな中途半端な機能なら日本はいらない」といって突然メールが来ると結構つらいですね。これを俗に「後ろから撃たれる」といいますが（笑）。
<br><br>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040823.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040823.jpg" alt="P1040823" width="700" height="409" class="aligncenter size-full wp-image-4295" srcset="/wp-content/uploads/2014/01/P1040823.jpg 640w, /wp-content/uploads/2014/01/P1040823-300x175.jpg 300w, /wp-content/uploads/2014/01/P1040823-207x120.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>標準化に貢献するメリット・やりがいとは？</h2>

<p><br>
及川：逆にWeb技術の標準化に携わることで得られるメリットややりがいについて、教えてください。
<br><br>
小松：その仕様自体に何らかのリクワイアメントを示すこと自体が「コントリビュート」、つまり標準化に貢献していることになるんですよね。例えば新しいAPIを使ってサンプルを作る。そうすると「これは面白い」とブログで紹介される。そこで「ここの部分に問題がある」というフィードバックを受ける。その大きな流れの中に参加し、コントリビュートしていくこと自体に、大きなやりがいがあると思います。それにこう考えると実はコントリビュートしたことがある人は結構いるんじゃないでしょうか。より強くコントリビュートする意識があるかないかの違いだけで。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040829.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040829.jpg" alt="P1040829" width="700" height="411" class="aligncenter size-full wp-image-4296" srcset="/wp-content/uploads/2014/01/P1040829.jpg 640w, /wp-content/uploads/2014/01/P1040829-300x176.jpg 300w, /wp-content/uploads/2014/01/P1040829-207x121.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a>
<br>
矢倉：例えばW3Cに貢献する場合、「バグをファイルする」「仕様のエラーを報告する」「アルゴリズムを読んでいておかしいところを突く」「HTMLのルビの日本語で、この書き方だとレンダリングしたときにおかしいと伝える」。こうしたことをするだけで、その分野に明るくない人にとってはありがたいことですし、感謝されます。ただ使っただけでは誰にも届かないし、何も変わらない。けれど誰かに伝えるとかなり前進して、2歩も3歩もフィードバックを受ける。それによって仕様に対して一段と深い知識得られるし、その分野のエキスパートになれるメリットはあると思います。
<br><br>
及川：それに実際に自分のアイデアで仕様が策定された時、世界のWeb標準化に自分の名前がクレジットで入るんですよね。これは開発者にとって嬉しい。
<br></p>

<h2>これからどのように標準化に携わったらいい？</h2>

<p><br>
及川：今回のセッションを聞いて、「私も標準化に携わってみよう」と思った場合、具体的にどのような手段で参加したらいいんでしょうか？
<br><br>
石井：基本的にはメーリングリストに自分のアイデアを書いて、メンバーからの賛成を得られれば、仕様を策定することができます。ただしいざ仕様を策定する場合、誰かが主体になってドライブしなければいけないのと、「エディターコード」が必要になります。一方、ワーキンググループ内で「この人の提案したアイデアはとても有用だ」と認められると、それだけで仕様が決めることもあります。
<br><br>
安田：新しいAPIを公開するブログやデモサイトがあるので、そうした場でぜひ意見を書き込んでほしいですね。そこに書かれた内容は、私のようにスペックを書いている人にとって非常にありがたいこと。「こういう使い方もあるんだ」と思うし、有益な情報はサイトシェアされてあっという間に広がります。基本、普段利用しているWebで「何かおかしい」と思ったら、自分たちでよくしていける一番いい方法を周りの方たちと話し合う。そしてその内容を発信していくことが、標準化に携わる第一歩になるのではないでしょうか。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040805.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040805.jpg" alt="P1040805" width="700" height="246" class="aligncenter size-full wp-image-4288" srcset="/wp-content/uploads/2014/01/P1040805.jpg 640w, /wp-content/uploads/2014/01/P1040805-300x105.jpg 300w, /wp-content/uploads/2014/01/P1040805-207x72.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：山田政明／撮影：中川淳子）</p>

<p></div></p>

<p>【講演資料・セッション映像】</p>

<iframe width="560" height="315" src="//www.youtube.com/embed/qIL4QyxlrrA" frameborder="0" allowfullscreen></iframe>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>HTTP/2.0がもたらすWebサービスの進化「HTML5 Conference 2013」</title>
		<link>/miyuki-baba/3756/</link>
		<pubDate>Tue, 07 Jan 2014 04:00:50 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[HTTP/2.0]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[spdy]]></category>

		<guid isPermaLink="false">/?p=3756</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (19)GoogleやTwitterが大規模に導入しているSPDYをベースとして、HTTP/2.0の標準化作業が現在急ピッチで進められている。十数年ぶりに改訂さ...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (19)</div><p>GoogleやTwitterが大規模に導入しているSPDYをベースとして、HTTP/2.0の標準化作業が現在急ピッチで進められている。十数年ぶりに改訂されるこの新プロトコルによってWebサービスが今後どう変わるのか。「HTML5 Conference 2013」では、株式会社インターネットイニシアティブの大津繁樹氏、株式会社林達也 (@lef)氏、W3C中島博敬氏が、レピダムデモを交えてHTTP/2.0の概要について解説した。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/DSC03184.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/DSC03184.jpg" alt="DSC03184" width="700" height="442" class="aligncenter size-full wp-image-4254" srcset="/wp-content/uploads/2014/01/DSC03184.jpg 640w, /wp-content/uploads/2014/01/DSC03184-300x189.jpg 300w, /wp-content/uploads/2014/01/DSC03184-207x130.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>14年ぶりに改訂されるHTTP/2.0標準化作業</h2>

<p>現在、IETF（Internet Engineering Task Force）にて標準化作業が急ピッチで進められているHTTP/2.0。1999年にHTTP 1.1が規定されて以来、14年ぶりに改訂されることになった新プロトコルの概要と、Webサービスが今後どう変わるのかについての最新情報が紹介された。</p>

<p>HTTP/2.0はインターネット技術の標準化を推進する任意団体IETF（Internet Engineering Task Force）のアプリケーションワーキンググループにて標準化が進められている。IETFには、Google、Microsoft、Mozilla、Twitterなどの協賛企業が名を連ねている。今回登壇した林氏、大津氏もIETFのメンバーである。</p>

<h2>SPDYがベースとなるHTTP/2.0</h2>

<p>HTTP/2.0は、Googleが開発したプロトコルSPDY（スピーディ）がベースとなっている。GoogleがSPDYを世に送り出した背景には、インターネット環境の大きな変化があった。ユースケースの大半がPCからモバイルへと変化つつある中で、HTTPというプロトコルをモバイルに最適化し、Webの表示を高速化するという目的で作られたのがSPDYだった。</p>

<p>HTTP/1.1のセマンティクスを維持し互換性を保持した上で、新しいシンタックスを導入しフレーム化することになっているHTTP/2.0は、このSPDYのアイデアをもとに一般公募で仕様提案を決定する。既にデプロイされGoogleサーバで動いているこのSPDYに、相互運用性を持たせたものがHTTP/2.0といえるだろう。</p>

<h2>新たに導入されるHTTP/2.0独自の技術的な特徴</h2>

<p>SPDYをベースにしつつ、今回新たに導入されるHTTP/2.0独自の技術的な特徴にも注目したい。まず挙げたいのは、2段階・3種類の接続方法だ。</p>

<p>第一段階の接続1つ目のTLS＋ALPNは、TLS接続時にALPN拡張フィールドを活用し、HTTP/2.0に接続する。</p>

<p>2つ目は現在議論中のHTTP Upgradeだ。WebSocketと同様の仕組みでHTTP/1.1の接続後、Upgradeヘッダを使いHTTP/2.0に接続をアップグレードする。</p>

<p>3つ目はDirect接続で、DNSレコードやHTTPヘッダによるリダイレクトであらかじめサーバがHTTP/2.0対応とわかっている場合は、直接接続する。</p>

<p>そして第二段階での接続でクライアントから24byteのマジックコードをサーバに送り、初期ウィンドウサイズやストリームの最大同時オープン数などの情報を含む情報（SETTINGフレーム）を交換する。これが完了してからHTTP/2.0の通信が始まることになる。</p>

<p>サーバプッシュ機能の「予約」という概念もSPDYにはない点だ。先読みさせるリクエストヘッダとストリームIDをサーバがクライアントに予約すると、クライアントは予約されたリクエストは新しくリクエストしない。サーバがコンテンツをプッシュしてクライアントにキャッシュするため、無駄なやりとりがなくなる。</p>

<p>またHTTP/2.0ではSPDY にはない新しいヘッダ圧縮仕様（HPACK）も追加された。ここではサーバとクライアントでヘッダ情報とその状態をテーブルとして持ち合い、ヘッダの差分情報を符号化してやり取りする。</p>

<p>最終的にはヘッダ情報を圧縮し、バイナリの文字列として扱う。Cookieやどんどん増えていくユーザーエージェントなど、これまで冗長で大きいものだったクライアントからサーバに送るヘッダ情報が、差分情報として必要なものだけのやりとりになるため、データ量は2～3割削減される。モバイル環境でブラウザを使う場合は、このヘッダ圧縮の効果は非常に大きいだろう。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/DSC03189.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/DSC03189.jpg" alt="DSC03189" width="2692" height="1468" class="aligncenter size-full wp-image-4257" srcset="/wp-content/uploads/2014/01/DSC03189.jpg 640w, /wp-content/uploads/2014/01/DSC03189-300x163.jpg 300w, /wp-content/uploads/2014/01/DSC03189-1024x558.jpg 1024w, /wp-content/uploads/2014/01/DSC03189-207x112.jpg 207w" sizes="(max-width: 2692px) 100vw, 2692px" /></a></p>

<h2>今後HTTP/2.0でwebサービスはどう変わる？</h2>

<p>今後実際にHTTP/2.0でwebサービスがどのように変わるのかというと、昔より表示がスムーズで速くなったと感じる人はいるだろうが、ユーザー視点では一見なにも変わらない。</p>

<p>大きなインパクトを与えると考えられるのは、インフラ視点だ。サーバリソース・ネットワークリソースを効率的に使えるため、大規模サービスほどその効果を享受できるだろう。またサーバプッシュやサーバイニシエイトのフレームを活用し、LINEのようなブラウザ以外での用途での展開も進むと考えられる。</p>

<p>今後の動きとしては、GoogleやFacebookといったInternet GiantsでHTTP/2.0の導入が進むが、HTTP/2.0のメリットが少ない小規模サイトや一般ユーザーはHTTP/1.1という2極化になると予想される。ブラウザ側の対応が進むことで、HTTP/2.0に最適化されたサービスが登場すると考えられる。特にモバイルでの性能改善が大きく期待される。</p>

<p>最近米国のNSAによる盗聴問題（PRIZM）が話題となったが、脆弱性・盗聴への対策としてHTTP/2.0をhttps（SSL）に限定するかどうかは現在議論中だ。IETFの中で賛成、反対に意見は分かれているが、HTTP/2.0がインターネットのセキュリティ動向に大きな影響を与えるのは間違いないといえるだろう。</p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：畑毛あゆみ／撮影：萩原崇之）</p>

<p></div></p>

<p>【講演資料・セッション映像】</p>

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

<iframe src="http://www.slideshare.net/slideshow/embed_code/28796344" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen> </iframe>

<div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/shigeki_ohtsu/html5-conf2013-http2iijohtsu" title="HTTP/2.0がもたらす</a></strong> </div>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>モバイルフロンティア：フロントエンドエンジニアとデザイナーのためのモバイルユーザーエクスペリエンス「HTML5 Conference 2013」</title>
		<link>/miyuki-baba/3750/</link>
		<pubDate>Tue, 07 Jan 2014 04:00:05 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[モバイル]]></category>

		<guid isPermaLink="false">/?p=3750</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (17)「HTML5 Conference 2013」では「モバイルフロンティア よりよいモバイルUXを生み出すためのデザインガイド」を翻訳したメンバーによる、...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (17)</div><p>「HTML5 Conference 2013」では「モバイルフロンティア よりよいモバイルUXを生み出すためのデザインガイド」を翻訳したメンバーによる、ユーザーエクスペリエンス講座「モバイルフロンティア：フロントエンジニアとデザイナーのためのモバイルユーザーエクスペリエンスのセッションが行われた。</p>

<p>2013年4月に発売された「<a href="http://www.amazon.co.jp/dp/4621086553" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">モバイルフロンティア　よりよいモバイルUXを生み出すためのデザインガイド</a>」は、モバイル中心の世界が急速に変化しつつある今、既存のサービスの焼き直しや単なる移植ではない、モバイルならではのユーザー体験を創り出すための指南書だ。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040709.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040709.jpg" alt="P1040709" width="700" height="473" class="aligncenter size-full wp-image-4230" srcset="/wp-content/uploads/2014/01/P1040709.jpg 640w, /wp-content/uploads/2014/01/P1040709-300x202.jpg 300w, /wp-content/uploads/2014/01/P1040709-207x139.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<p>ただ「つくる」だけでなく良い体験をデザインすることが重要な開発フローと認識され始めている近年、ネイティブアプリ・Webアプリ関係なく「体験のデザイン」を考えるテーマとして注目されている。今回のセッションでは、実際に翻訳を担当したメンバーが、内容を構成する1～9章それぞれの中身に関して、簡潔に紹介してもらったので、そのダイジェストをまとめた。</p>

<h2>1章<em>いかりを上げる 2章</em>モバイルNUIパラダイムの登場<br>────────────────────清水かほる氏</h2>

<p>昔の携帯は、機能拡張を繰り返すうちにいわゆる「ガラパゴス携帯」と揶揄されるようになったが、実は開発側にとっても制約が多く発生したり、開発環境が複雑化することで開発しにくいものになっていった。そこに登場したのが「iPhone」などのスマートフォン。必要最小限のアプリや直観的UIといった、ユーザーにとって非常に使いやすい新たなデバイスの登場は、開発側にとっても制約のない理想的な開発環境が出現した。いわば「モバイル黄金時代」が本格的に到来したといえる。事実、デスクトップからモバイルに世の中のトレンドは大きく移行しているのだが、両者の開発環境に関して改めて比較したい。</p>

<ul>
<li>デスクトップ───標準化が進んだ入力手法　学術的研究結果が豊富　開発者やデザイナー</li>
<li>モバイル───まだ上記のような開発環境がない上、デスクトップ環境での開発手法が使えない</li>
</ul>

<p>このようにそれなりの歴史の中で培ってきたノウハウを生かせるデスクトップ環境と比べ、モバイル環境はこれからルールを作っていかなければならない。この状況はとらえ方によっては「苦労」ではなく「チャンス」があるといえる。すなわちそのチャンスこと、本題になっている「モバイルフロンティア」というキーワードに結びついているのだ。</p>

<ul>
<li>モバイルNUIパラダイムの登場───これまでの開発手法は、3つの段階を経ている。</li>
</ul>

<p><strong>＜第1段階＞</strong><br>
●コマンドラインインターフェース（CLI）<br>
●コマンドを覚えて、テキストベースのインターフェースに打ち込む</p>

<p><strong>＜第2段階＞</strong><br>
●グラフィカルユーザーインターフェース（GUI）<br>
●ユーザーにコマンドを見せて選ばせる<br>
●フォルダなどオフィスをまねたメタファーを利用することで親しみやすいUIを実現</p>

<p><strong>＜第3段階＞</strong><br>
●ナチュラルユーザーインターフェース（NUI）<br>
●ユーザーの状況に応じて表示される情報が変化<br>
●タッチパネル操作が可能</p>

<p>現在、第2段階のGUIと第3段階のNUIの間にいるが、その理由としてまだNUIに対応できてないユーザー多いことが挙げられる。スマートフォンやタブレット端末の急速な普及でNUI環境が普及している一方、まだGUI環境に慣れた考え方が多い状況だ。</p>

<h2>3章_デンバーのピーナッツバター<br>────────────────────脇坂善則氏</h2>

<p>モバイルデバイスは、根本的にPCとは利用体験が異なる。トイレや電車の中、はたまた教会など「いつでも、どこでもつながる。つかえる」ことが前提。また何かをしながら使える、つまり「ながらつかえる」ということを前提にデザインする必要がある。それが「モバイルならではの体験にフォーカス」するということ。</p>

<p>例えば、その場で流れる音楽を聞かせて検索することで曲名を調べるといった、音声入力。カメラ機能を利用して撮った画像をその場でアップ、共有。現在地から検索する位置情報入力。一方で、モバイルならではの体験によるデメリットとして、注意が散漫になったり、行動がさえぎられることが挙げられる。</p>

<p>そこでそうした認知的負荷・機会費用を減らすためのデザイン、つまり「モバイルUX」を新たに創っていくことが今、求められている。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040740.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040740.jpg" alt="P1040740" width="700" height="406" class="aligncenter size-full wp-image-4235" srcset="/wp-content/uploads/2014/01/P1040740.jpg 640w, /wp-content/uploads/2014/01/P1040740-300x174.jpg 300w, /wp-content/uploads/2014/01/P1040740-207x119.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>4章_形態の変化<br>────────────────────羽山祥樹氏</h2>

<p>モバイルユーザーは、常に「つながりの中」にいる。これまではこちらが提供するサービスや機能に対して、ユーザーが理解した上で、使いこなす。つまりユーザー側がサービスに合わせてくれていたが、モバイル環境の今、「ユーザーが何かしたいことの途中にあなたのウェブサイトがある」。つまり「コンバージェンス」な状況で、使われている。</p>

<p>また「エコシステム」と呼ばれる様々なものがつながって価値を生むのがモバイル環境の大きな特徴。</p>

<ul>
<li>一人もいないフェイスブック</li>
<li>一人もフォローしていないツイッター</li>
<li>接続できないネット</li>
</ul>

<p>これらはそれがどんなに高機能かつ良質なサービスであったとしても、つながっていなければ意味をなさない。iPhoneが多くのユーザーから支持されたのも、デバイスとしての機能だけではなく「アップルストア」という存在が大きかった。</p>

<p>デバイス・アップルストア・アプリ開発者・ユーザーすべてがつながることで、価値が生まれる。そのため、モバイル環境におけるデザインを考えたとき、誰もが利用しやすい「参加型デザイン」が望まれる。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040750.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040750.jpg" alt="P1040750" width="700" height="405" class="aligncenter size-full wp-image-4238" srcset="/wp-content/uploads/2014/01/P1040750.jpg 640w, /wp-content/uploads/2014/01/P1040750-300x173.jpg 300w, /wp-content/uploads/2014/01/P1040750-207x119.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>5章_モバイルUXパターン<br>────────────────────野澤紘子氏</h2>

<p>モビリティのためのデザインには大きな特徴がある。モバイルは決して「小さなPC」ではない…「PC」は積むデザイン、「モバイル」はデザインパターンを広げることにある。</p>

<ul>
<li>コンテンツがＵＩになる──────NUI（ジェスチャーとスーパーリアル）</li>
</ul>

<p>その上で、モバイルならではの入力方法（カメラ、QR、加速度センサ、GPSなど）を活用するUXが必要。これまでPCなどを利用する目的は、何か作業することがメインだった。しかしモバイルを利用する目的は、「使い続けること」。それによって価値が増えていく。</p>

<p>そこでユーザー視点でついついいじりたくなるような感覚を察し、ユーザーの状況に応じて適切なアウトプットを創り上げていく必要がある。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040767.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040767.jpg" alt="P1040767" width="700" height="394" class="aligncenter size-full wp-image-4240" srcset="/wp-content/uploads/2014/01/P1040767.jpg 640w, /wp-content/uploads/2014/01/P1040767-300x168.jpg 300w, /wp-content/uploads/2014/01/P1040767-207x116.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>6章_モバイルプロトタイピング<br>────────────────────佐藤伸哉氏</h2>

<p>「アイデアが広がる」→「アイデアを実現する」。この間でプロトタイピングが行われる。未知の探求や、ユーザーフィードバックの収集、デザインアイデアやエクスペリエンスの伝達共有、アイデアの微調整等の目的で行われるプロトタイピングには、大きく2つの方法がある。</p>

<ul>
<li>戦術的プロトタイピング──スケッチ　ペーパープロトタイピング、実機上でのインタラクティブプロトタイプ</li>
<li>体験的プロトタイピング──ストーリーボーディング、ボディストーミング、スピードデート法、コンセプトビデオ</li>
</ul>

<p>その中でモバイルプロトタイピングを成功させる条件、それは「適度な忠実度で行う」というもの。</p>

<ul>
<li>完璧主義者にならない　</li>
<li>失敗を受け入れる　</li>
<li>勇気をもって次のアイデアに進む</li>
</ul>

<p>つまりプロトタイピングは万能薬ではないということを認識した上で取り組むことが重要だ。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040774.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040774.jpg" alt="P1040774" width="700" height="363" class="aligncenter size-full wp-image-4243" srcset="/wp-content/uploads/2014/01/P1040774.jpg 640w, /wp-content/uploads/2014/01/P1040774-300x155.jpg 300w, /wp-content/uploads/2014/01/P1040774-207x107.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>7章_モーションとアニメーション<br>────────────────────安藤幸央氏</h2>

<p>世界中の人に愛されるディズニーのアニメーションには、UI UXの向上の観点から、「命を吹き込む魔法」が存在している。</p>

<p>例えばスクロールの動かし方一つとっても、「少しずつ動き出し、徐々に加速。その後少しずつとまる」といったような動かし方。また動かす直前に少しだけ後戻りする「予備動作」をつけることで、感覚的に「これから動くんだ」とユーザーが予測できるので、よりスムーズに操作できる。このような手法は「アンチシペーション」や「ステージング」等現在、主なもので12の手法がある。
　
他にも実際にどういう動きをすると見やすいか？<br>
ディズニーアニメで検証するのは非常に効果的。こうしたアニメの原則をモバイルUI・UXに活かす方法として、以下のようなものがある。</p>

<ul>
<li>いいアプリたくさんさがし、使い込むことで事例の引き出しを増やす</li>
<li>いいものがいいのか？要素分析・分解</li>
<li>常用するアプリが更新されたら、前のバージョンとどこが変わったか比較</li>
</ul>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/P1040782.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/P1040782.jpg" alt="P1040782" width="700" height="356" class="aligncenter size-full wp-image-4250" srcset="/wp-content/uploads/2014/01/P1040782.jpg 640w, /wp-content/uploads/2014/01/P1040782-300x152.jpg 300w, /wp-content/uploads/2014/01/P1040782-207x105.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>8章「感覚の目覚め」／9章「新しいモバイルの形」</h2>

<p>またほかにも「第8章 感覚の目覚め」では、タッチやジェスチャー、音声などこれまで主に利用してきた「視覚」以外の感覚を活用することで「より押しやすい」「タッチしやすい」コンテンツ制作が求められること。</p>

<p>「第9章 新しいモバイルの形」では、腕時計型やペン型などモバイルデバイスの新しい形の登場や、モバイルが銀行の代わりになるなど、「コンピュータと身体・環境との境界」が明らかに変わってきている点が紹介された。</p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：山田政明／撮影：中川淳子）</p>

<p></div></p>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>現場の実例から学ぶ、最新鋭のWebアプリケーション開発フローとアーキテクチャ「HTML5 Conference 2013」</title>
		<link>/miyuki-baba/4118/</link>
		<pubDate>Mon, 06 Jan 2014 02:00:46 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>

		<guid isPermaLink="false">/?p=4118</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (16)「HTML Conference 2013」で行われたセッションから、株式会社サイバーエージェント大谷剛氏と船ヶ山慶氏による「現場の実例から学ぶ、最新鋭...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (16)</div><p>「HTML Conference 2013」で行われたセッションから、株式会社サイバーエージェント大谷剛氏と船ヶ山慶氏による「現場の実例から学ぶ、最新鋭のWebアプリケーション開発フローとアーキテクチャ」の模様をお伝えします。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/DSC_2843.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/DSC_2843.jpg" alt="DSC_2843" width="700" height="435" class="aligncenter size-full wp-image-4173" srcset="/wp-content/uploads/2014/01/DSC_2843.jpg 640w, /wp-content/uploads/2014/01/DSC_2843-300x186.jpg 300w, /wp-content/uploads/2014/01/DSC_2843-207x128.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>「なぞってピグキッチン」とは</h2>

<p>今回作ったWebアプリケーションは、「なぞってピグキッチン」に使っている基本的な技術は、HTML、CSS、JavaScript。これにCanvasなど、他のフレームワークを組み合わせていますが、基本は前者の3つです。これをスマートフォンのブラウザ上で動かし、ネイティブのアプリと近い状態を作り上げたサービスです。</p>

<p>基本的な流れは、例えば（画面上の）ボタンをタップすると、背景色や文字色が変化する。さらに、せっかくCSS3が使えるのだから、角丸やシャドウを付けてみる。さらにアニメを付けてみる。――さらには画面全体を動かして、ぱっと見、ネイティブアプリのようなものを頑張って作りましょう、という流れです。</p>

<p>これが、HTML、CSS、JavaScriptですべて作られている基本の画面です。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_.jpg" alt="Screenshot_" width="640" height="355" class="aligncenter size-full wp-image-4148" srcset="/wp-content/uploads/2014/01/Screenshot_.jpg 640w, /wp-content/uploads/2014/01/Screenshot_-300x166.jpg 300w, /wp-content/uploads/2014/01/Screenshot_-207x114.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>左下に自分のアバタがあり、中央にキッチンがある。キッチンをデコレーションし、レシピを並べ、友達に料理をふるまい、キッチンを核にやっていこうと。それを楽しむゲームです。下のボタンを押せばモジュールが開きますが、モジュールからモジュールへとたどっていくのが基本の動きです。基本のURLは一つで、ページのリロードはせず、hashの部分のみで見た目を切り替える仕組みです。</p>

<p>ゲームの流れとして、パズルをして料理に必要な素材を収穫し、それを使って料理をします。制作チームのメンバーは、プロデューサー、エンジニア、デザイナー、ディベロッパーの大きく4つの職種があり、各職種にリーダー的なの人がいます。</p>

<h2>フレームワークについて</h2>

<p>フレームワークは世の中にたくさんあるのですが、それぞれ特性があります。例えばjQueryなどは有名ですが、スマートフォンで使うには、通信帯域が狭い中でファイルサイズが大きく厳しい。このように、どれがサービスに合っているのか、適性を見極める必要があります。</p>

<p>今回、「なぞってピグキッチン」に使用したフレームワークは「beez」と呼ばれるもの。現在は社内でしか使えませんが、近く社外にも公開する予定なので、その際には試していただければと思います。「スマートフォン開発をスピーディに進めるための、中・大規模クライアントブラウザ向けのフレームワーク（開発ツールキット）」というのが、beezの基本的立ち位置です。</p>

<p>ここで「開発ツールキット」とあるのは、スマホに特化したライブラリ、相性のいいライブラリをまとめてラップしたというのが大きな特徴だからで、そのためbeezを使う場合はbeez専用の言語、書き方ではなく、既存のライブラリの組み合わせで効率よく書けるようになっています。</p>

<p>主に先ほどのライブラリの中から、クライアントが主に触ると思われるものが以下の7つです。</p>

<p><strong>＜１＞ Backbone.js</strong>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_2.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_2.jpg" alt="Screenshot_2" width="640" height="351" class="aligncenter size-full wp-image-4152" srcset="/wp-content/uploads/2014/01/Screenshot_2.jpg 640w, /wp-content/uploads/2014/01/Screenshot_2-300x164.jpg 300w, /wp-content/uploads/2014/01/Screenshot_2-207x113.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p><strong>＜２＞ Underscore.js</strong>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_31.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_31.jpg" alt="Screenshot_3" width="640" height="355" class="aligncenter size-full wp-image-4159" srcset="/wp-content/uploads/2014/01/Screenshot_31.jpg 640w, /wp-content/uploads/2014/01/Screenshot_31-300x166.jpg 300w, /wp-content/uploads/2014/01/Screenshot_31-207x114.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p><strong>＜３＞ Zepto.js</strong>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_4.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_4.jpg" alt="Screenshot_4" width="640" height="354" class="aligncenter size-full wp-image-4161" srcset="/wp-content/uploads/2014/01/Screenshot_4.jpg 640w, /wp-content/uploads/2014/01/Screenshot_4-300x165.jpg 300w, /wp-content/uploads/2014/01/Screenshot_4-207x114.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p><strong>＜４＞ RequireJS</strong>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_5.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_5.jpg" alt="Screenshot_5" width="640" height="352" class="aligncenter size-full wp-image-4162" srcset="/wp-content/uploads/2014/01/Screenshot_5.jpg 640w, /wp-content/uploads/2014/01/Screenshot_5-300x165.jpg 300w, /wp-content/uploads/2014/01/Screenshot_5-207x113.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p><strong>＜５＞ Handlebars</strong>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_6.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_6.jpg" alt="Screenshot_6" width="640" height="351" class="aligncenter size-full wp-image-4163" srcset="/wp-content/uploads/2014/01/Screenshot_6.jpg 640w, /wp-content/uploads/2014/01/Screenshot_6-300x164.jpg 300w, /wp-content/uploads/2014/01/Screenshot_6-207x113.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p><strong>＜６＞ Stylus</strong>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_7.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_7.jpg" alt="Screenshot_7" width="640" height="350" class="aligncenter size-full wp-image-4164" srcset="/wp-content/uploads/2014/01/Screenshot_7.jpg 640w, /wp-content/uploads/2014/01/Screenshot_7-300x164.jpg 300w, /wp-content/uploads/2014/01/Screenshot_7-207x113.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p><strong>＜７＞ bucks.js</strong>
<a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_8.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_8.jpg" alt="Screenshot_8" width="640" height="352" class="aligncenter size-full wp-image-4165" srcset="/wp-content/uploads/2014/01/Screenshot_8.jpg 640w, /wp-content/uploads/2014/01/Screenshot_8-300x165.jpg 300w, /wp-content/uploads/2014/01/Screenshot_8-207x113.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>簡単にまとめると、Backboneがbeezの中では全体のフレームワークを担い、HandlebarsがHTML、StylusがCSS、ZeptoがDOM操作、Underscoreがユーティリティ、Requireがモジュールを担っています。beezは、これら既存のライブラリに追加する形で、Manager、Controllerという概念を持っています。</p>

<p>Managerは、viewに関しては、グローバルに必ず1つしか存在しない、viewを必ず監視している立ち位置にあります。しかもviewが必要なくなったタイミングで、それを全部破棄しメモリ上から消したり、また必要になった場合には再復帰させたりします。特にスマートフォンの場合はメモリ制限が厳しいので、こうしたマネージメントを行うのが、beezの中のManagerの概念です。</p>

<p>beezは、ツリー構造でviewを管理しています。これはBackboneとかではなく、beez独自のものです。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_9.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_9.jpg" alt="Screenshot_9" width="640" height="354" class="aligncenter size-full wp-image-4166" srcset="/wp-content/uploads/2014/01/Screenshot_9.jpg 640w, /wp-content/uploads/2014/01/Screenshot_9-300x165.jpg 300w, /wp-content/uploads/2014/01/Screenshot_9-207x114.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>Controllerの概念は、まずRouterというもの――これはBackboneのものなのですが、hashのフラグメントを常に監視しています。これがモジュール単位で、「クエスト」といったhashに書き換わると、クエストのControllerが呼ばれて、複数のviewとmodelを一気に作成します。そのうえで、クエストが必要としているCSS、i18nのファイルをロードします。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_10.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_10.jpg" alt="Screenshot_10" width="640" height="352" class="aligncenter size-full wp-image-4168" srcset="/wp-content/uploads/2014/01/Screenshot_10.jpg 640w, /wp-content/uploads/2014/01/Screenshot_10-300x165.jpg 300w, /wp-content/uploads/2014/01/Screenshot_10-207x113.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<h2>アーキテクチャ</h2>

<p>M（Model）とV（View）とR（Router）、これにプラスして、beezのM（Manager）、C（Controller）。この5つの構造で、アプリケーションは成り立っています。</p>

<p>全体の流れとしては、Routerが会社に例えれば社長のような立場にあり、hashを常に監視していて、hashが変わったタイミングで、Controllerという部長クラスに指示を出します。Controllerは、その指令に従って、各社員にあたるModelに指令を下ろす。Modelは更に下のViewに指示。こうしてアプリケーションの見た目に反映される。このようなトップダウンの仕組みで、ボトムアップは基本NGですが、ViewからModelへは、ユーザーがタップした際のアラーム的なものは出ます。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_11.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_11.jpg" alt="Screenshot_11" width="640" height="351" class="aligncenter size-full wp-image-4169" srcset="/wp-content/uploads/2014/01/Screenshot_11.jpg 640w, /wp-content/uploads/2014/01/Screenshot_11-300x164.jpg 300w, /wp-content/uploads/2014/01/Screenshot_11-207x113.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>これをまとめると、一番最初にログインした段階で、hashが何であれ、強制的に#mypageに書き換えます。それをRouterが捉え、該当するController（MyPageController）を呼び出します。MyPageControllerはViewとModelを作成。それぞれをひもづけて、いわば社員の“人員配置”をします。ここでユーザーがタップ操作をすると、それがModelに伝わり、Modelが上に伝える。例えば「area」というボタンがタップされたとすると、「#area」というhashに変えてくれというリクエストが行く。#hashに変わってからの流れはまた同様です。</p>

<h2>共通機能群</h2>

<p>最後に共通機能の部分について。先ほどから何度も登場しているアバターはCanvasで描かれていて、好きなところに移動もできますし、好きな服を着せてやることもでき、動作のバリエーションを登録しておけば、好きな動きをさせることも可能です。</p>

<p>服情報は、アバターの動きに合わせて服の位置等も変わるので、それに合わせてシート化されたものが用意されています。下に一見、横線のように見えるものがありますが、これは画像のデータを持っていて、腕の回転中心の座標情報などがここにあります。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_12.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_12.jpg" alt="Screenshot_12" width="640" height="354" class="aligncenter size-full wp-image-4170" srcset="/wp-content/uploads/2014/01/Screenshot_12.jpg 640w, /wp-content/uploads/2014/01/Screenshot_12-300x165.jpg 300w, /wp-content/uploads/2014/01/Screenshot_12-207x114.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p>あとは下から開いて左右に移動するなどといった、いかにもスマートフォンアプリっぽい画面制御。これもカスタマイズすれば、一部を固定し部分だけガリガリ動くといったことも可能です。</p>

<p>ポップアップもよく使いますが、これも基本形を作っておいて、それを適宜カスタマイズ。また、リロードが発生したときにエラーデータをキャッチし、ポップアップを自動で表示させるといったことも可能です。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2014/01/Screenshot_13.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2014/01/Screenshot_13.jpg" alt="Screenshot_13" width="640" height="353" class="aligncenter size-full wp-image-4171" srcset="/wp-content/uploads/2014/01/Screenshot_13.jpg 640w, /wp-content/uploads/2014/01/Screenshot_13-300x165.jpg 300w, /wp-content/uploads/2014/01/Screenshot_13-207x114.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：川畑英毅／撮影：高橋 佳代子）</p>

<p></div></p>

<p>【講演資料・セッション映像】</p>

<iframe width="560" height="315" src="//www.youtube.com/embed/GNpm5vpalbE" frameborder="0" allowfullscreen></iframe>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>組込み+HTML5の持つ可能性は？「HTML5 run anywhere」HTML5 Conference2013</title>
		<link>/miyuki-baba/3746/</link>
		<pubDate>Mon, 30 Dec 2013 04:00:28 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[hybrid]]></category>
		<category><![CDATA[組込み]]></category>

		<guid isPermaLink="false">/?p=3746</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (15)2013年11月30日に開催された「HTML5 Conference2013」において行われた数々のセッション。株式会社ACCESSの長野宏輔氏が「組込...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (15)</div><p>2013年11月30日に開催された「HTML5 Conference2013」において行われた数々のセッション。株式会社ACCESSの長野宏輔氏が「組込み+HTML5」の持つ可能性について語った「HTML5 run anywhere」をレポートする。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2013/12/fc7a3c2e49821798f3ad86ff0cacd991.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/12/fc7a3c2e49821798f3ad86ff0cacd991.jpg" alt="長野さん" width="700" height="602" class="alignnone size-full wp-image-3989" srcset="/wp-content/uploads/2013/12/fc7a3c2e49821798f3ad86ff0cacd991.jpg 640w, /wp-content/uploads/2013/12/fc7a3c2e49821798f3ad86ff0cacd991-300x258.jpg 300w, /wp-content/uploads/2013/12/fc7a3c2e49821798f3ad86ff0cacd991-207x177.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>車載機器、ハイブリッドキャストなど<br>HTML5×組込はすでに実現</h2>

<p>実は、HTML5の技術が利用されるシーンは、PCやスマホ向け以外にも広がってきている。例えば、テレビやカーナビ、ゲーム機、デジタルサイネージ、家電のUIなど。つまり組込向けにもHTML5のコンテンツが開発できる環境が、ここ数年で着実に用意されてきているのだ。</p>

<p>長野氏によると、例えば車載機器からの情報取得に関する技術として、W3Cを中心にwebinos GENIVI LG QNX CAR　Tuzen Webinosなど様々なプレーヤーから組込向けAPIが提供されていることで、仕様の策定を行っている。その結果、ガソリンのタイプやギアの種類、エンジンの回転数、エンジンオイル残量、室内温度、ドライバのIDなどがリアルタイムでナビゲーションのヘルプ画面に、ブラウザによって表示されることもすでに実用化している。</p>

<p>その一方で現状、先ほど紹介したようなプレイヤーが自社の技術を標準化しようとする傾向が強く、現状では各社のAPI仕様には違いが大きいなども問題点も指摘されている。</p>

<p>またテレビにおいても2013年、NHKから「ハイブリッドキャスト」と呼ばれる放送と通信を連携させた新しいテレビサービスがスタート。ニュースや気象など、番組に関連する情報をこれまでのデータ放送より鮮明な画質で提供するというもので、この技術にもHTML5を活用したアプリ開発が行われている。そしてここでも「SmartTV Alliance」として規定された規格が多数、出されている。</p>

<h2>組込向けHTML5開発のメリット＆デメリット</h2>

<p>他にもエアコンや洗濯機、炊飯器など利用対象となる家電製品は多々あるが、問題なのは「本当にこうした機器にも現実的に使えるのか？」という点。</p>

<p>そこで今回、改めて組込向けHTML5開発におけるメリットとデメリットをまとめてみたい。</p>

<h3>メリット</h3>

<ul>
<li>HTML5/CSS/JavaScriptによるコーディングが可能なため、開発者が多く、開発のスピードアップや効率化が可能</li>
<li>各種APIがすでに揃えられているため、開発環境が充実している</li>
</ul>

<h3>デメリット</h3>

<ul>
<li>基本的に低いスペックが多い</li>
<li>対象となる組込製品によってはエフェクト系が苦手な場合もある</li>
<li>HTML5を実行するためには、実行環境に対する要求スペックが非常に高いＨＴＭＬ５実行するためには、実行環境に対する要求スペックが非常に高い点　例：「ROM：27MB　ＲＡＭ：起動7MB+コンテンツサイズ」</li>
</ul>

<p>このように、開発環境が充実しているメリットもある半面、組込製品にHTML5を新規に導入するためのハードルの高さもあるようだ。
そのため、あえて「HTML5を使わない」という選択肢もある。
既存の組込向け製品に対する最適 なプロトコルが存在する（例：ECHONET Lite SEP2.0など）以上、それをもしHTML5に置き換えるとしたら、非常に手間がかかるという懸念点もあるのだ。</p>

<h2>過去の組込技術を生かしつつ、<br>HTML5によってスマートデバイス連携を可能にさせる</h2>

<p>そこで長野氏が提唱するのは、「過去の資産生かしつつ、Web標準技術を活用したUIアプリ開発を可能にしていく」という、より現実的な手法。同氏はこれを「餅は餅屋」ということわざに例えている。</p>

<p>例えば「HTML5+ECHONET Lite」の場合、家にルーター（HTML5ブラウザによるサービス+プロトコル）を設置し、そこから外部へはHTML5経由でクラウド、さらにそこからスマートフォンやタブレット端末に搭載されたHTML5アプリケーションによってエアコン温度の設定や電気のON/OFFを外部から自動操作できるようになる。</p>

<p>またこうした技術を活用して、スマホと家電をつなぐ「スマートデバイス連携」を可能にさせることも可能だ。例えばスマホをコントローラーにしてTVと連携することでゲームをプレイする。さらに「フルミエル」というアプリでは、ゴルフのスイングの軌道を「見える化」したり、電子出版としての活用も可能だ。</p>

<p>このように、いつでもどこからでもスマートデバイス連携を可能にするHTML5は今後、様々な組込機器にも広がっていくことが予想されている。そして、その動きをさらに加速させていくためには、もっと「HTML5×組込」に関する様々なプロモーション活動を活発化させていくことが、成功のカギを握っていると長野氏は指摘している。</p>

<p>本セッション最後に長野氏は、参加者に対して「HTML5と組込」というテーマにおいて、</p>

<ul>
<li>今後、絶対につながってほしいもの</li>
<li>今後、確実につながるもの</li>
<li>今後も絶対につながらないもの</li>
</ul>

<p>という3つのアンケート回答を求めた。</p>

<p>そこにはWeb技術者に対して、Webの仕事はもはやWebブラウザの中だけにあるのではないこと。そしてWeb技術者が持っているスキルをそのまま活かして、これまでとは全く異なる様々な業種で活躍できる時代が、もうすぐそこに来ていること。</p>

<p>その上で、Webブラウザ以外のプラットフォームが備える様々なJavaScript をAPIに触れながら、HTML5/JavaScriptが持つ非常に大きな可能性について今後、Web技術者が中心となって切り拓いてほしい、というメッセージが込められている。</p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：山田政明／撮影：串田幸江）</p>

<p></div></p>

<p>【講演資料・セッション映像】</p>

<iframe width="560" height="315" src="//www.youtube.com/embed/WDmImKw0vf0" frameborder="0" allowfullscreen></iframe>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>いつかきっと日の目を見る！？非モテ系マニアックAPIを紹介！「HTML5 Conference 2013」</title>
		<link>/miyuki-baba/3760/</link>
		<pubDate>Mon, 30 Dec 2013 04:00:25 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[WebRTC]]></category>

		<guid isPermaLink="false">/?p=3760</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (14)「今日は面白いのに話題になっていないよね、というHTML5のマニアックなAPIを紹介しようと思う」。冒頭でこう切り出して始まった羽田野太巳氏のセッション...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (14)</div><p>「今日は面白いのに話題になっていないよね、というHTML5のマニアックなAPIを紹介しようと思う」。冒頭でこう切り出して始まった羽田野太巳氏のセッション。テーマは「ようこそ、HTML裏APIの世界へ」。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2013/12/3825f07b8471ce78786fe9fced64deb1.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/12/3825f07b8471ce78786fe9fced64deb1.jpg" alt="羽田野太巳" width="700" height="456" class="alignnone size-full wp-image-3968" srcset="/wp-content/uploads/2013/12/3825f07b8471ce78786fe9fced64deb1.jpg 640w, /wp-content/uploads/2013/12/3825f07b8471ce78786fe9fced64deb1-300x195.jpg 300w, /wp-content/uploads/2013/12/3825f07b8471ce78786fe9fced64deb1-207x134.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>HTML5のAPIはモテ系だけじゃない。非モテ系にも注目！</h2>

<p>現在、HTML5の世界で世間の注目を集めているのはCanvasやWebGL、WebRTCなどのモテ系APIである。五感に訴えられる、派手で華やかなデモが作れるので仕事に結びつきやすい技術だ。「仕事に結びつきやすい」ことからモテ系と呼ばれているが、羽田野氏が紹介するのは非モテ系のAPI。</p>

<p>「語れる開発者仲間が少ないし、使ってもすごさがわからない。仕事になるかわからない。未熟なので仕様がなくなるかもしれない。でもいつか報われる日がくるんじゃないかと期待できる。そんな今はAPIを紹介する。ただ、さっきもいったようにハッピーエンドは期待をしないでほしい（笑）」</p>

<h2>マニアレベル1「割とモテ系」の4つのAPI</h2>

<p>羽田野氏は非モテ系APIをそのマニアック度から4つのレベルに分けて紹介。最初に取り上げたのはマニアレベル1（割とモテ系）のWebRTC DTMF(Dual-Tone Multi-Frequency)である。</p>

<p>WebRTC DTMFはいわばSkypeをブラウザで実現するためのAPIで、最大の特徴は映像、音声、データをP2Pで接続できること。IP電話の知識が必要になるため、「マニア心を揺さぶられる」（羽田野氏）という。「ダイヤルトーン音を発生させるできるため、自動音声装置（IVR）への応用が期待できる。</p>

<p>また将来的にはブラウザからコールセンターへ通話ができるようになるかも」と、ビジネス的にも注目されているAPIだという。実際にダイヤルトーン発信のデモを実施し、その実力を披露した。</p>

<p>次に紹介したのは「WebAudio API」。「音源の生成や合成ができるAPI。iOSなどで複数音源の同時再生に重宝する。高精度な再生タイミングが設定できるので、ゲーム系コンテンツにいい」と羽田野氏は説明する。</p>

<p>またこのAPIを使えば楽器のチューナーなど精度が求められるものには向いていないが、各種オーディオエフェクトやアナライザーなども作れるという。ただ「これはまだモテ系の機能。非モテ系の機能もある」と語り、非モテ系の機能の中からPannerNodeを使った立体音響のデモを実施。救急車のピーポー音のドップラー効果の例を再現。「仕事になるかどうかはわからないが」と言うものの、参加者の関心を大いにつかんだようだ。</p>

<p>三番目に紹介したのは「Media Souce Extensions（MSE）」で、「Internet Explorer（IE）11にしか実装されていない」APIです（もしかしたらChromeにも入っているかもしれないが試していないとのこと）。IEではMPEG-DASH（Dynamic Adaptive Streaming over HTTP）という国際標準のメディア・ストリーミングのプロトコルをサポートしている。</p>

<p>同APIの特徴は、HTTPアダプティブストリーミング配信。セグメントに分割されたビデオデータをVideo要素に流し込むだけのAPIで、低ビッドレートのストリーミングに途中で切り替えられるというもの。</p>

<p>「ファイルを取りに行くコードを一つ一つプログラマが書かなければならないなど、気が利かないAPI。プレイヤーを作るのは、プログラマの腕にかかっているので要注意。仕事にはならないAPIだが、チャレンジしたい人はぜひ」と羽田野氏と会場の笑いを誘った。さらにマニアレベル1では「Media Capture and Streams」も紹介。</p>

<p>これはChromeのみに実装されているAPIで、全画面がキャプチャーできるというもの。しかし「Windows上で実行するとOSが引きずられ大変なことになるので、今回はMacで紹介」と、Macでデモを実施。いろんなユースケースが考えられると、羽田野氏がその一例としてあげたのが、デジタルサイネージのリモート監視やヘルプデスク。「ビジネスにも応用できそうな面白いAPI」（羽田野氏）</p>

<h2>縁の下の力持ち系。マニアレベル2のAPI</h2>

<p>マニアレベル2（縁の下の力持ち系。目立たないので話題になっていない）で羽田野氏が取り上げたのは、「Encording」「Web Cryptography API」「DOMMatrix」「Transferable objects」という4つのAPI。「Encording」はブラウザに入っているAPIで、文字コードのデコード、エンコードに使えるAPI。</p>

<p>「Web Cryptography API」はIE11に実装されている、暗号論的擬似乱数列の生成やダイジェストの生成、公開鍵と秘密鍵の生成、デジタル署名の生成と照合、データの暗号化と複合化などの機能を持つAPIである。<br>
「将来、ストレージに溜めたデータを暗号化したいというニーズはきっと出てくる。このAPIは単独で使えるのでそのときの有望株になるのでは」</p>

<p>ただ、暗号化の知識がないと使えないので、ハードルは高いAPIだそう。「DOMMatrix」は行列計算やグラフィックスにおける座標変換のためのAPI。元はCSSMatrixという名称だったとのこと。「Transferable objects」はデータ転送の機能を持つAPI。参加者で知っている人はたった一人というかなりマニアックなAPI。「ファイルサイズの大きい動画のリアルタイム処理などをするときに使うと有効だと思う」</p>

<h2>「使い方がわからない」マニアレベル3のAPI</h2>

<p>マニアレベル3とは、「きっとどこかに必要とする人がいるのだろうでも使い方がわからないというAPI。そこで羽田野氏が紹介したのは、「Clipboard API」と「Base64 utility methods」。</p>

<p>前者の「Clipboard API」はどんなものがペーストされたかが、リアルタイムで情報が取れるAPI。すべてのブラウザで実装していますが、「Web上でやる意味がいまひとつわからない。もちろん使ったこともありません」とのこと。</p>

<p>また「Base64 utility methods」はBase64エンコードとデコードの機能を持つAPI。ただ対応しているのはASCII文字だけで、バイナリーどころか日本語もNGとのこと。「利用シーンはまったく思い浮かばない。マニアの皆さんに考えていただきたい」と羽田野氏は参加者に呼びかけていた。</p>

<h2>「きっといつかはモテ系に…」なマニアレベル4のAPI</h2>

<p>マニアレベル4とは「きっといつかはモテ系APIになるだろう。でも利用できるブラウザが……」というレベルのもの。最初に紹介したのは「Screen Orientation」。これはAndroidやFirefox OSのFirefoxにしか実装されていないAPIで、オリエンテーションを固定できる機能を持っています。ただFullScreen APIを使ってフルスクリーンになっている状態でしか、使えません。「脱アップルストアを目指している人には魅力的なAPIでしょう」</p>

<p>「MediaStream Recoding」はFirefox Aurora（現在は音声のみ）しかサポートしていませんが、録画と録音機能を持つAPI。メディアストリームの記録を開始してから停止するまでの間に蓄積されたメディアデータをBlobオブジェクトとして取り出すことができる。
「Webアプリケーションの可能性を開くことが期待できるAPIだ」</p>

<p>最後に羽田野氏が紹介したのが「Web Animations 1.0」というタイムライン制御フレームワーク。連続処理や並列処理ができ、ビデオ再生のように扱えるというのが特徴だ。ただ「欠点は実装しているブラウザがまだ一つもないこと」と羽田野氏（Githubにて公開されているポリフィルがあるので紹介）。</p>

<p>「Githubではポリフィルが公開されており、私はそれを仕事で使っています。パフォーマンスも悪くない。もっと広まってほしいAPIです」
このようにマニア度の高いAPIを15個ほど駆け足で紹介し、羽田野氏のセッションは終了した。</p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：中村仁美／撮影：若狭一正）</p>

<p></div></p>

<p>【講演資料・セッション映像】</p>

<iframe src="http://www.slideshare.net/slideshow/embed_code/28774403" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen> </iframe>

<div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/futomihatano/html5api-28774403" title="ようこそ、HTML5裏APIの世界へ - HTML5 Conference 2013" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">ようこそ、HTML5裏APIの世界へ &#8211; HTML5 Conference 2013</a> </strong> from <strong><a href="http://www.slideshare.net/futomihatano" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Futomi Hatano</a></strong> </div>

<iframe width="560" height="315" src="//www.youtube.com/embed/98MKy-0K8bU" frameborder="0" allowfullscreen></iframe>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>HTML5でWebの世界も変わる。IE11とWindows 8.1が対応する技術「HTML5 Conference2013」</title>
		<link>/miyuki-baba/3762/</link>
		<pubDate>Mon, 30 Dec 2013 01:00:41 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[IE11]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">/?p=3762</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (13)マイクロソフト春日井良隆氏のセッションテーマは「HTML5とIE11とWindows 8.1」。セッション冒頭、春日井氏は日常的に使用しているITデバイ...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (13)</div><p>マイクロソフト春日井良隆氏のセッションテーマは「HTML5とIE11とWindows 8.1」。セッション冒頭、春日井氏は日常的に使用しているITデバイスを披露露。ソニー VAIO Tap 20のほか、iPadmini、Surface、Kindle Paperwhite、そしてiPhoneというデバイスを、用途別に使いこなしているという。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2013/12/27977275ba7be210bcfd94a91401401b.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/12/27977275ba7be210bcfd94a91401401b.jpg" alt="春日井さん" width="700" height="483" class="alignnone size-full wp-image-3958" srcset="/wp-content/uploads/2013/12/27977275ba7be210bcfd94a91401401b.jpg 640w, /wp-content/uploads/2013/12/27977275ba7be210bcfd94a91401401b-300x207.jpg 300w, /wp-content/uploads/2013/12/27977275ba7be210bcfd94a91401401b-207x142.jpg 207w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>

<h2>HTML5とJavaScriptという標準技術にWindowsは対応</h2>

<p>「こういうデバイスの使い方は特別なことではなく、今後一般化する」と春日井氏は語り、今世の中で起こっていることを次のようにまとめた。</p>

<ol>
<li>デバイスの多様化</li>
<li>タッチインターフェイス</li>
<li>ローカルからクラウドへ</li>
</ol>

<p>そして「デバイスの多様化で期待されている技術がHTML5である」という。デバイスはPCとタブレット、スマートフォンと3つに大きく分かれるが、OSもPCはWindows 8やMac、Linux、タブレットはWindows 8とiOSやAndroid、スマートフォンはiOSやAndroid、WindowsPhoneのほか、Tizen、Firefox OSなどのリリースが予定されている。このような状況だからこそ「HTML5の存在感が出てきている。これは特に今日のセッションで強調したいこと」と春日井氏は力強く語った。</p>

<p>このような状況下で、WindowsとHTML5とどのように関係にあるか。HTML5の特徴の3本柱は「セマンティック」と「互換性」「Webアプリ」だが、第二の互換性においては、マイクロソフトは「IE9でSameMarkupというコンセプトを打ち出した。これはブラウザーによって、あるいは、ブラウザーのバージョンによって、異なるマークアップをする必要はないという今の我々の開発姿勢だ」と春日井氏は言う。</p>

<p>第三のWebアプリについても、Windows 8のアプリは、「HTML5とJavaScriptという標準技術で作れるようになっている」と春日井氏。当然、jQueryのようなJavaScriptライブラリーはそのまま使えるのだという。Objective-CとXCodeの知識が必要になるiOSアプリ、JavaとEclipseが必要になるAndoridアプリの開発と較べ、敷居はぐっと下がるだろう。</p>

<p>また最近ではTitaniumやPhoneGap、CreateJSなどのクロスプラットフォームフレームワークが非常に注目を集めている。これらのフレームワークで使う技術はいずれもHTMLとJavaScript。このようにWindowsアプリは特別な知識を身につける必要はないというわけだ。Windows 8では「WinJS.xhr」というというWebコンテンツを呼び出す関数が用意されており、これを使えば簡単にWeb上のコンテンツをダウンロードしてアプリから利用できるようになるという。</p>

<p>とはいえ、これまでJavaやC++などで開発してきた人にとって、JavaScriptと言う言語が持つゆるさが好きではないという人もいるだろう。そんな人にお勧めの技術があるとして春日井氏が紹介したのは、「aulJS」というJavaScriptを生成する中間言語だ。altJSにも複数あり、「TypeScriptはC♯を開発した人が開発した中間言語。同言語を紹介したサイト（http://www.typescriptlang.org/）に行くとJavaScriptとのコーディングの違いを体験でき、サンプルも手に入る」と言う。この際に試してみるものお勧めだ。</p>

<h2>Web系開発ツールとしても有効な「Visual Studio」</h2>

<p>次に春日井氏が取り上げたのが「Visual Studio」である。「Visual StudioはWindowsの開発ツールというイメージが強いが、Webアプリの開発する上で非常に効果的なツールになっている」と春日井氏。</p>

<p>それを証明するためデモを実施。例えば<code>&lt;video&gt;</code>というタグの後では次の設定内容はほぼ決まっている。Visual Studioではタブを2回押すことで、予想変換のように想定されたプログラム内容が勝手に表示されるようになっている。</p>

<p>CSSのカラー設定も「非常に効率的になる」と春日井氏はデモを実施。カラーパレットから指定することはもちろん、スポイトで直接色を抜き取り指定することができる。<br>
「和文フォントが出ないという弱点はあるが、コーディングの作業を効率化する機能がかなり入っている。Visual Studio Expressというフリー版もあるので、ぜひ一度、試してほしい」（春日井氏）</p>

<h2>IE11は「Touch」「WebGL」「MPEG-DASH」「Encripte Media Extension」サポート</h2>

<p>最後に春日井氏が説明したのはIEについて。「IEではJavaScriptの処理のスピードの高速化を図っている。IE10と比べてもIE11では処理時間は高速化されている。他のブラウザと比較しても処理時間は短い」</p>

<p>最新のIE11では「Touch」「WebGL」「MPEG-DASH」「Encripte Media Extension」という4つのWeb標準をサポートしている。これからのデバイスはタッチも使えばマウスやペンも使うため、Pointerという概念でまとめてAPIをつくっている。「pointer events」を使って実装することで、マルチタッチが可能になる。「この仕様を検討するワーキンググループがW3Cに設立された」と春日井氏。</p>

<p>次の「WebGL」とは3Dの表現がブラウザの中でできるという技術だ。「3Dはエンタメのコンテンツだけに必要な技術ではない。例えばCADのデータをブラウザの中で表現することができるようになる。ビジネスの世界でも使える」
残りの2つの技術については、http://ie.microsoft.com/testdrive/HTML5/eme/で紹介されているので、こちらを見てほしい。</p>

<p>WebRTCなど注目技術への対応はどうなっているのかなども気になるところだ。しかし、それは「IEというブラウザが抱えるユーザー層が大きく影響している」という。というのもIEはエンタープライズのお客さまが多いのはもちろん、いわゆるブラウザというと青いeのマークという風に覚えているITにそれほど詳しくない一般ユーザーが多いこと。</p>

<p>そのため、安定している仕様、セキュリティ面で不安のない仕様を実装することに気を配っているというのである。IE9でWebSocketに対応しなかったのもそれが理由だったと春日井氏は明かす。とはいえ「当然、研究、検証はしており、その成果はHTML5LABSで発表している。ここでOKが出ればIEに実装していくことになる」とのこと。新しいHTML5への対応については、HTML5　LABS（http://html5labs.interoperabilitybridges.com/）をで紹介されているので、ぜひチェックしてほしい。</p>

<h2>読み上げ機能や音声認識機能を標準で実装</h2>

<p>そのほかにも最新のIEでは強化・改善された機能がある。第一にアクセスビリティの強化だ。読み上げ機能や音声認識機能を標準で実装。マイクを使えば音声だけで検索することもできるという。第二はF12開発者ツールも用意していること。F12キーを押すだけで日本語化された開発者ツールが起動する。「ここにいる開発者の方にぜひ使って欲しい」と春日井氏。</p>

<p>第三はIE11からドキュメントモードは非推奨となっており、Edgeモードという最新のレンダリングエンジンが優先されるようになったこと。条件付コメントはただのコメントとなる。「ブラウザのバージョンを指定したい場合は、メタタグを使って指定する」こととなると、その指定の仕方を紹介した。</p>

<p>自分の書いたコードに不安がある場合は、正しいかどうか、チェックするサイトをマイクロソフトでは用意しているという。それが「modarn.IE（http://loc.modern.ie/ja）」である。春日井氏は同サイトでも紹介されている「Brouser Stack」という有償のサービスについて説明した。「Brouser Stack」Web上で仮想環境をエミュレートするサービスで、例えばiOS6のSafari6でレンダリングするとどうなる、WindowsXPのIE10でレンダリングするとどうなる、という見え方がわかるというサービスだ。「互換性のチェックなどに使えるので便利。3カ月間は無料で使えるので、試してほしい」</p>

<p>セッションの終了の間際に春日井氏はキネクトのデモを実施。「体のジェスチャーで操作ができる時代ももうすぐ。Webは何かを見るためではなく何かをするためのプラットフォームになる」と春日井氏。デザインはもちろん、使い方も変わっていかざるを得ない。開発者も変わっていくときにきているのかもしれない。</p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：中村仁美／撮影：串田幸江）</p>

<p></div></p>

<p>【講演資料・セッション映像】</p>

<iframe src="http://www.slideshare.net/slideshow/embed_code/28512836?rel=0" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen> </iframe>

<div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/ykasugai/web-28512836" title="HTML5とIE11とWindows 8.1　－最新の Web トレンドとマイクロソフトの関係" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">HTML5とIE11とWindows 8.1　－最新の Web トレンドとマイクロソフトの関係</a> </strong> from <strong><a href="http://www.slideshare.net/ykasugai" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Yoshitaka Kasugai</a></strong> </div>

<iframe width="560" height="315" src="//www.youtube.com/embed/12x-xi0ln20" frameborder="0" allowfullscreen></iframe>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
		<item>
		<title>ネットワークのないところでも使え、サクサク動く。これからのWebゲームアプリが備えるべき機能とは「HTML5 Conference 2013」</title>
		<link>/miyuki-baba/3766/</link>
		<pubDate>Mon, 30 Dec 2013 01:00:23 +0000</pubDate>
		<dc:creator><![CDATA[馬場 美由紀]]></dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[HTML5 Conference 2013]]></category>
		<category><![CDATA[Webアプリ]]></category>

		<guid isPermaLink="false">/?p=3766</guid>
		<description><![CDATA[連載： HTML5 Conference 2013レポート (12)今後モバイルWebアプリはどこを目指すのか──。このヒントが得られたのが、DeNA小原隆郎氏の「地下鉄 x サクサク x これからのWebゲームアプリが...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/html5-conference-2013-2/" class="series-160" title="HTML5 Conference 2013レポート" data-wpel-link="internal">HTML5 Conference 2013レポート</a> (12)</div><p>今後モバイルWebアプリはどこを目指すのか──。このヒントが得られたのが、DeNA小原隆郎氏の「地下鉄 x サクサク x これからのWebゲームアプリが備えるべき8つの機能」というセッション。</p>

<p>小原氏は昨年秋にDeNAに入社。「@uupaaというネームは知っている人もいるかもしれないが、ほとんどこのような場所に出ることがない。今日会えた人はラッキーだと思う」という前置きをしてセッションは始まった。</p>

<p><a href="https://html5experts.jp/wp-content/uploads/2013/12/obara.jpg" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/12/obara.jpg" alt="obara" width="750" height="478" class="alignnone size-full wp-image-3938" srcset="/wp-content/uploads/2013/12/obara.jpg 640w, /wp-content/uploads/2013/12/obara-300x191.jpg 300w, /wp-content/uploads/2013/12/obara-207x131.jpg 207w" sizes="(max-width: 750px) 100vw, 750px" /></a></p>

<h2>SPAでページをまたがった音楽の再生が可能に</h2>

<p>同セッションは検証は必要ながらも、小原氏自身が気になっているWebアプリの技術的なトピックスを紹介するというもの。</p>

<p>まず最初に取り上げたのはネイティブにアプリにできてWebアプリにできないこととは何か。</p>

<ul>
<li>電波のないところでは遊ぶ</li>
<li>たくさんの映像やデータを扱う</li>
<li>音を鳴らす</li>
<li>3Dで動かす</li>
</ul>

<p>このようにWebアプリにはでいないことが結構あるが、これらができなくてもせめて「サクサク感」はほしい、というのは万人の望み。とはいえ、従来のサーバからファイルを都度、ダウンロードするWebアプリには待ち時間という弱点がある。</p>

<p>サクサク感を出そうとしても明確な限界があり、いくら回線が速くなっても端末スペックが上がっても、今後コンテンツがリッチになればなるほど遅く重くなっていく。</p>

<p>これを解決する機能として小原氏が注目しているのが、「Single Page Application（SPA）」である。従来とは違い、SPAは基本となる画面が1つだけ存在し、次々と内容を書き換えていくWebアプリだ。<br>
「開発者にとって何がうれしいかというと、進行に必要なデータをサーバから動的に取得し、アプリ側で情報の先読みを行うなど、これまでブラウザに任せていた部分が自分たちでチューニングできるようになること」</p>

<p>またSPAであれば次のようなことが可能になる。</p>

<ul>
<li>ページをまたがった音楽（BCM）の再生が可能になる。これによりゲームへの没入間が高まる。</li>
<li>電波が来ない環境でWebアプリをある程度動作させられる。ページの読み込み時間は800msから200msになるため、別次元のサクサク感を演出できる。</li>
</ul>

<p>さらに「余計な話」とした上で「サーバサイドにすべてのロジックを置く必要がなくなる」ことも紹介した。しかし、SPAには次のような課題がある。</p>

<ul>
<li>チート対策（結果をバリデーションする仕込が必要）</li>
<li>従来の作り方とは大きく異なるので、現場にノウハウが蓄積されていない</li>
</ul>

<p>だから、「今のところ頑張って移行する理由がない」と小原氏は語る。</p>

<h2>WebAudioでBGMとSEの同時再生が可能になる!?</h2>

<p>次に取り上げたのは「WebAudio」。従来のオーディオタグはストリーミングによるBGMの再生しか期待できなかったが、WebAudioならBGMとSE（Sound Effect：効果音）の同時再生が期待できるというのだ。</p>

<p>現在、WebAudioをサポートしているのはChromeとMobile Safariだが、この両者においては「使えるレベルで実装されている。しかも試したところ負荷も高くない」と小原氏は説明する。</p>

<p>Android2.3やiOS5など、この機能が使えない端末ではaudioタグを使ったSoundSpriteで、擬似的だが再生可能だそうだ。
今後、いずれは音階や音の長さといった情報からブラウザ上でリアルタイムに動的な波形を生成する（いわゆるMIDIファイル）という使われ方が可能になる。<br>
「メモリを潤沢に利用できるようになったら、モバイルブラウザ上でチップチューンをこ流せるようになるかも」と、小原氏は期待を込める。</p>

<p>WebAudioの懸案事項として小原氏は次の4点を挙げた。</p>

<ol>
<li>いきなりフルサウンドのゲーム開発は無理
理由は「Web開発の環境に音に対するノウハウは蓄積されていないから」（小原氏）だそう。したがって最初はSEだけということから始めるのが得策だ。</li>
<li>波形の動的生成はまだ無理（ブラウザがメモリをあまり使えないため）</li>
<li>ボトムラインを設定し、機能をOFFにする対策が必要</li>
</ol>

<p>「ライブラリ側でON/OFFする端末のカタログを持っておくという対策が必要になる」と小原氏。またAndoridの最低スペックはDual Core、1GBRAM、iOSは7、iPhone 4Sがボトムラインだそうだ。<br>
「まだこの分野はほとんど誰もやっていないため、今なら差別化になる。チャレンジャーを募集している」と呼びかけた。</p>

<h2>高解像度化が続くモバイル端末への対応</h2>

<p>モバイル端末は高解像度化の一途をたどっている。端末の65～70％が200dpi以上解像度を持っており、326dpiのローエンド端末が登場する時代となっている。そこでCanvasも高解像度のサポートを開始。従来のCanvasRenderingContext2D#toDataURLは96dpi化されたデータを扱う。</p>

<p>また草案では「High Definitionバージョンがメソッドが追加されている」という。しかしImageDataを使ってライブエフェクトかけるには、数十MBを16ms以内に処理しなければならず、forループで回してもビジーループになってしまい、ブラウザのプチフリーズや過負荷によるシステムアラートが発生してしまうことになる。</p>

<p>その解決法として小原氏が期待しているのが「WebWorker」だ。WebWorkerでCanvasと聞くと「えっ」と感じる人もいるかもしれないが、最新のCanvasの仕様には実装はまだだが以下のようなメソッドが追加されている。</p>

<ul>
<li>canvas.transferContorolToProxy</li>
<li>canvasProxy.setContext</li>
<li>context.commit</li>
</ul>

<p>夢は大きく膨らむが、無理もある、と小原氏は続ける。メモリ関連の改善が必要なこと、任意のタイミングでGC（グラフィックスコンテキスト）を発動できる仕組みがないなど、課題があるからだ。<br>
「High Definitionはモバイルブラウザではまだ実用的ではないが、CanvasProxy+WebWorkerにはかなり期待している」</p>

<h2>CommandPatternで発生頻度の低い不具合の再現も</h2>

<p>第4のトピックスは「CommandPattern（コマンドパターン）」。これはデザインパターンの一つで動作とパラメータを中間言語化（カプセルか）したものである。</p>

<p>例えばゲームをある程度進めると、特定のAndorid端末ブラウザで描画が破綻するという現象があったとする。この不具合を再現するためには、ゲームを進める必要があり、確認するためにその環境を維持することはもちろん、修正後はまた確認しないといけない。「ラスボス登場の場面で現象が出たら、そこまでゲームを進めなければならず、大変」と小原氏。</p>

<p>また最小化コードを見つける作業も大変だ。これを解決するのがコマンドパターンというわけだ。つまり描画コマンドの保存と再生の仕組みが導入されればいつでも現象を再現可能になり、サーバがとまっていても調査を進められる。</p>

<p>そのほかにも、発生頻度の低い不具合の再現が簡単になる、最小化コードを見つける作業を大幅に省力化できる、保存しておいたコマンドはエンバグチェックのテストケースとしても再現できるなどが可能になる。<br>
「AndroidブラウザやChrom for Androidの不具合で悩む時間が大幅に短縮されるかもしれない」（小原氏）</p>

<p>また「DrawCallを減らせるという効能もある」という。細切れで実行されるCanvasAPIは複数回のDrawCallを発生させる可能性が高いが、まとめて実行するとDrawCallを最小化できるというのだ。Chrome Canary版の「Canvas profiler」を使うと、DrawCollやCanvasAPIを可視化してくれる。「ぜひ、使ってほしい」（小原氏）</p>

<p>さらに「ゲーム画面のスナップショットと動画の作成も可能、リモートプレイにも展開できるかもしれない」という。</p>

<h2>機能強化が続けられているWebWorker、その注目の機能</h2>

<p>第5のトピックスは先ほどから登場している「WebWorker」である。「計算だけさせておくのはもったいない」と小原氏。機能強化はひっそりとされ続けており、例えばChromeとSafariでは次のような機能が使えるという。</p>

<ul>
<li>importScript</li>
<li>JSON、BLOB、FileReade、FileRiedeSync</li>
<li>Timer</li>
<li>TipeArray</li>
<li>MessageChannel</li>
<li>WebSQL、WebSWLSync</li>
<li>WebSocket、XML Http Request</li>
</ul>

<p>またChromeでは次のような機能を先行して実装されている</p>

<ul>
<li>HighPerformanceTimer-performance now()</li>
<li>Text Encorder/Text Decorder</li>
<li>IndexdDB</li>
<li>WorkerConsole</li>
<li>ImageBitmap</li>
<li>RequestFilesystem,RequestFilesystemSymc</li>
<li>Crypto,Base64</li>
</ul>

<p>気になるのはPostMessageの通信速度である。「検証は足りないかもしれないが、無負荷状態ならサクサク動く」ことがわかったという。</p>

<p>しかし「荷物が重いと遅くなる」とのこと。1MB程度の負荷ならなんともないが、32MBもの巨大な配列（payroad）を与えると速度が25％程度まで落ちてしまうこともあるというのだ。「巨大なデータの受け渡しはちょっと注意が必要」と小原氏は注意を促す。</p>

<p>WebWorkerは注目に値する技術だが、現在、既存のライブラリやフレームワークで動くものはほぼないという。ただImportScripitがあり、JavaScriptのプロトタイプ拡張をしてもWebWorker上では副作用なく行える。</p>

<p>またWebWorkerが利用できない環境ではiframeでエミュレーションできるという。
「WebWorkerは手つかずのブルーオーシャン。ライブラリを書きたい人には楽しい世界だ」</p>

<h2>「Storage」「Cache」「Offline」</h2>

<p>最後のトピックスとして紹介したのは「Storage」「Cache」「Offline」。
特にApplicationCacheは利用できるシーンが限られており、「開発者からもあれはないよ」といわれている。
そこで小原氏が注目しているのが。「LocalStrage+WebSQL」を使ったキャッシュである。これは画像やバイナリデータはBASe64化した状態でストレージに保存。取り出した後はDataURLで画像化し<img>などに埋め込んで利用するというものだ。</p>

<p>また小原氏は「AssetManifest」という考え方を利用しているとも言う。サーバ上でアセットのリストを作成し、ブラウザ側でリストを元にキャッシュを管理するというもの。これにより「ブラウザ任せにしない高度なキャッシュ管理が可能になる」というわけだ。
マニフェストは以下のパラメータが必要になる。</p>

<ul>
<li>IDまたはURL</li>
<li>ファイルサイズ</li>
<li>MimeType</li>
<li>ファイルのHash値（MD5hashなど）</li>
<li>優先度や保存先などのパラメータ</li>
</ul>

<p>次世代のStrageはどうなるのか。小原氏はIndexedDB+SrverWorker+DiscQouter ManagementAPIにより、「端末の空き容量の10％がストレージとして利用可能になる予定」と話す。これが整備されると現場の苦悩もなくなるかもしれない。
最後に小原氏は無限ストレージのデモを実施し、セッションを終えた。</p>

<p><DIV align=right></p>

<p style="padding-top: 16px; line-height: 1.55; color: #60aa2a;">（レポート：中村仁美／撮影：萩原崇之）</p>

<p></div></p>

<p>【セッション映像】</p>

<iframe width="560" height="315" src="//www.youtube.com/embed/KxejnlIa_9k" frameborder="0" allowfullscreen></iframe>
]]></content:encoded>
		
		<series:name><![CDATA[HTML5 Conference 2013レポート]]></series:name>
	</item>
	</channel>
</rss>
