Experts.jp日本に、もっとエキスパートを。(14)「今日は面白いのに話題になっていないよね、というHTML5のマニアックなAPIを紹介しようと思う」。冒頭でこう切り出して始まった羽田野太巳氏のセッション。テーマは「ようこそ、HTML裏APIの世界へ」。HTML5のAPIはモテ系だけじゃない。非モテ系にも注目!現在、HTML5の世界で世間の注目を集めているのはCanvasやWebGL、WebRTCなどのモテ系APIである。五感に訴えられる、派手で華やかなデモが作れるので仕事に結びつきやすい技術だ。「仕事に結びつきやすい」ことからモテ系と呼ばれているが、羽田野氏が紹介するのは非モテ系のAPI。「語れる開発者仲間が少ないし、使ってもすごさがわからない。仕事になるかわからない。未熟なので仕様がなくなるかもしれない。いつか報われる日がくるんじゃないかと期待できる。そんな今はAPIを紹介する。さっきもいったようにハッピーエンドは期待をしないでほしい(笑)」マニアレベル1「割とモテ系」の4つのAPI羽田野氏は非モテ系APIをそのマニアック度から4つのレベルに分けて紹介。Multi-Frequency)である。DTMFはいわばSkypeをブラウザで実現するためのAPIで、最大の特徴は映像、音声、データをP2Pで接続できること。IP電話の知識が必要になるため、「マニア心を揺さぶられる」(羽田野氏)という。「ダイヤルトーン音を発生させるできるため、自動音声装置(IVR)への応用が期待できる。将来的にはブラウザからコールセンターへ通話ができるようになるかも」と、ビジネス的にも注目されているAPIだという。実際にダイヤルトーン発信のデモを実施し、その実力を披露した。「音源の生成や合成ができるAPI。iOSなどで複数音源の同時再生に重宝する。高精度な再生タイミングが設定できるので、ゲーム系コンテンツにいい」と羽田野氏は説明する。このAPIを使えば楽器のチューナーなど精度が求められるものには向いていないが、各種オーディオエフェクトやアナライザーなども作れるという。「これはまだモテ系の機能。非モテ系の機能もある」と語り、非モテ系の機能の中からPannerNodeを使った立体音響のデモを実施。救急車のピーポー音のドップラー効果の例を再現。「仕事になるかどうかはわからないが」と言うものの、参加者の関心を大いにつかんだようだ。Explorer(IE)11にしか実装されていない」APIです(もしかしたらChromeにも入っているかもしれないが試していないとのこと)。HTTP)という国際標準のメディア・ストリーミングのプロトコルをサポートしている。同APIの特徴は、HTTPアダプティブストリーミング配信。セグメントに分割されたビデオデータをVideo要素に流し込むだけのAPIで、低ビッドレートのストリーミングに途中で切り替えられるというもの。「ファイルを取りに行くコードを一つ一つプログラマが書かなければならないなど、気が利かないAPI。プレイヤーを作るのは、プログラマの腕にかかっているので要注意。仕事にはならないAPIだが、チャレンジしたい人はぜひ」と羽田野氏と会場の笑いを誘った。Streams」も紹介。これはChromeのみに実装されているAPIで、全画面がキャプチャーできるというもの。「Windows上で実行するとOSが引きずられ大変なことになるので、今回はMacで紹介」と、Macでデモを実施。いろんなユースケースが考えられると、羽田野氏がその一例としてあげたのが、デジタルサイネージのリモート監視やヘルプデスク。「ビジネスにも応用できそうな面白いAPI」(羽田野氏)縁の下の力持ち系。マニアレベル2のAPIマニアレベル2(縁の下の力持ち系。objects」という4つのAPI。「Encording」はブラウザに入っているAPIで、文字コードのデコード、エンコードに使えるAPI。生成やダイジェストの生成、公開鍵と秘密鍵の生成、デジタル署名の生成と照合、データの暗号化と複合化などの機能を持つAPIである。「将来、ストレージに溜めたデータを暗号化したいというニーズはきっと出てくる。このAPIは単独で使えるのでそのときの有望株になるのでは」ただ、暗号化の知識がないと使えないので、ハードルは高いAPIだそう。「DOMMatrix」は行列計算やグラフィックスにおける座標変換のためのAPI。元はCSSMatrixという名称だったとのこと。objects」はデータ転送の機能を持つAPI。参加者で知っている人はたった一人というかなりマニアックなAPI。「使い方がわからない」マニアレベル3のAPIマニアレベル3とは、「きっとどこかに必要とする人がいるのだろうでも使い方がわからないというAPI。API」はどんなものがペーストされたかが、リアルタイムで情報が取れるAPI。すべてのブラウザで実装していますが、「Web上でやる意味がいまひとつわからない。使ったこともありません」とのこと。methods」はBase64エンコードとデコードの機能を持つAPI。対応しているのはASCII文字だけで、バイナリーどころか日本語もNGとのこと。「利用シーンはまったく思い浮かばない。マニアの皆さんに考えていただきたい」と羽田野氏は参加者に呼びかけていた。「きっといつかはモテ系に...」なマニアレベル4のAPIマニアレベル4とは「きっといつかはモテ系APIになるだろう。利用できるブラウザが......」というレベルのもの。Orientation」。OSのFirefoxにしか実装されていないAPIで、オリエンテーションを固定できる機能を持っています。APIを使ってフルスクリーンになっている状態でしか、使えません。Aurora(現在は音声のみ)しかサポートしていませんが、録画と録音機能を持つAPI。メディアストリームの記録を開始してから停止するまでの間に蓄積されたメディアデータをBlobオブジェクトとして取り出すことができる。1.0」というタイムライン制御フレームワーク。連続処理や並列処理ができ、ビデオ再生のように扱えるというのが特徴だ。「欠点は実装しているブラウザがまだ一つもないこと」と羽田野氏(Githubにて公開されているポリフィルがあるので紹介)。「Githubではポリフィルが公開されており、私はそれを仕事で使っています。パフォーマンスも悪くない。このようにマニア度の高いAPIを15個ほど駆け足で紹介し、羽田野氏のセッションは終了した。