[event] de:code 2016
2016年5月24日 - 25日、東京・芝公園のザ・プリンス パークタワー東京で開催された日本マイクロソフトの開発者向けイベント "de:code 2016" に参加してきました。
3月末に米サンフランシスコで開催された同様の開発者カンファレンス Microsoft Build の講演内容が最近では動画配信で日本にいながら視聴することができるため、de:code 2016では目新しい発表内容はなかったのですが、Microsoftが現在どの方向の技術分野へ注力しているのかが分かりやすくデモンストレーションされていました。
米Microsoft本社のCEO Satya Nadella 氏が来日して基調講演を行ったことも象徴的だったかもしれません。最近の技術カンファレンスは北京や上海に行ってしまい東京はスキップされることも儘あるのですが、日本マイクロソフトによるde:code開催3回目にして日本の開発コミュニティーも一定の存在感を認められたことに安心しました。Satya Nadella氏の来日で話題性が高まったのか、プレス席も昨年よりもひと回り増えた感じでした。Channel 9 (MicrosoftのUSTREAM, YouTube)の特設スタジオも会場に設置され、地方ケーブルテレビ局なんぞ吹き飛んでしまいそうな本格的な照明機材や撮影機材で2日間の会期中、ネット中継で会場の様子が放送されていました。
今年の発表で目立っていたのは Xamarin でした。2日間のカンファレンスで計3件のセッションがあり、私も1件を聴講しました。Xamarinは iOS, Android, Windows mobile とマルチプラットフォームのアプリケーション開発を行うことができるフレームワークです。Xamarin社とMicrosoft社は2013年にパートナー提携を発表しMicrosoft社製品であるVisual StudioをつかってXamarinアプリを開発するプラグインがすでに提供されていましたが、今年(2016年)2月24日にMicrosoft社がXamarin社を買収すると発表。立て続けにこれまで年間数十万円したライセンス料の無料化、Xamarin製品のオープンソース化が発表されて、にわかに活気付いていました。セッションも大好評で二日目9:30スタートの朝一のセッションに5分ほど遅れて到着したら、満員御礼で入場規制がかかり聴講することができませんでした。キーノート(基調講演)を除くと一番集客のあったセッションだったそうです。
一方でWindows 10 mobile (phone) 関連のセッションは低調でした。Windows 10 mobile 向けのアプリはUWP(Universal Windows Platform)アプリとして開発環境が統合されたため、あえて Windows 10 mobile (phone) に特化した開発情報の必要が少なくなくなったこともありますが、"Bridge for Android(Project Astoria)"の開発中止、"Bridge for iOS (Project Islandwood)"のSwift対応の不透明感とちょっと停滞感が漂っていました。
1日目 (5/24)
Channel 9 de:code2016 会場生放送では、まつもとゆきひろさんの名前も早速上がっていますが、プレゼンソフトは何をつかうのだろう? ウサギとカメに会場じゅうからハテナのTweetが飛び交うのかな? ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
@chihayafuru ウサギとカメは確定ですね。
— Yukihiro Matsumoto (@yukihiro_matz) 2016年5月24日
キーノート
HoloLensのVR技術を使った日本航空の機体整備マニュアルへの応用や"Xamarin"アプリとAzuruプラットフォームを組み合わせた「電子」自動車整備簿などビジネスソリューションの紹介が目立ちました。ロボット(Papper)とAzuruの組み合わせやMicrosoftの人工知能「りんな」など、一見、アミューズメント色の強いデモンストレーションもMicrosoftの基礎研究開発力のアピールとビジネスへの応用の自信が色濃く反映されていました。
Satya Nadellaさんの基調講演は数分間さらっと話してすぐに引っ込むのかと思ったら前後半合せて30分以上ガッツリと話していました。はっきりとゆっくりと話して日本人にも分かりやすい英語を心掛けたのだと思いますが、全て暗記してリハーサル済みの予定原稿を一字一句間違いなしに立て板に水で息継ぎなしと思えるテンポで話していたので聞いている側は疲れました。キーノート(基調講演)の録画は全編ネットで閲覧できますのでご興味があればご覧ください。
池澤あやかさんが大好きな拡張子 rb が基調講演の大画面に大写しになっています。UbuntuのコンソールがWindowsで動作すると発表されて拍手喝采だったBUILD2016。 #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
「MacBook上のシミュレーターではできない、タッチ操作のデバッグできます。」 凄いぞ!Xamarin iOSシミュレーター on Windows ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
凄い! Visual Studio Code が Windows 上で走っているのを初めて見ました。 ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
"Be Lazy" 素敵な標語でしたね。ツールやシステムに任せられるところは全て任せて人は楽をする。楽をして創造的な仕事に専念する。 #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
DevOpsのデモンストレーション。八島作戦みたいに電力消費量がグイグイと立ち上がって、データセンターから湯気が立ち上がった映像がみれたら面白かったかも。 ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
Developing on the Edge. 〜 WebプラットフォームとCordova 〜
V8 JavaScript Engine を超えるパフォーマンスを Microsoft Edge がご提供します!とアピールするセッションでした。ただし、オープンソース(例えばPhoneGap/Cordova)の共通プラットフォームたらんことを目指しており、Microsoftが独自に拡張したり改変することはありません、互換性については安心してください、といった感じでした。
"Why Japanese people ?" Webプラットフォーム(Edge)に文章の読み上げをさせている。Webブラウザって魔法のプラットフォーム。無人島になにか一つ持っていくなら Microsoft Edge ! ひとつじゃ済まないじゃん! ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
No Thins No Life - モノ、IoTの達人集合、何ができるか聞いてみよう!
コンパニオン型ロボットやドローンを開発している開発者、スタートアップ起業家の座談会。Microsoftの技術が前面にアピールされることはありませんでしたが、現在のMicrosoftは技術者コミュニティーと密接に協力して大きな組織から小さな組織まで分け隔てなく幅広く協業します、というアピールだったように思えます。
Windows 10 デバイスとUWP完全解説
UWP(Universal Windows Platform)の解説。Desktop, Mobile IoT と複数のWindowsファミリー(デバイス)が登場しましたが、基本的に共通に開発できますよ、という説明と、一方でデバイス依存のUIの使い分けるの注意点の解説でした。リアクティブ・デザインを駆使して1つのデザインで頑張るよりも、Desktop向けとMobile(Phone)向けの2タイプの画面サイズに対して各々のデザインを用意したほうが簡単です、というような話もありました。
マイクロソフト最新テクノロジと魅力あふれる未来像
DroneやPapper, Tesla(電気自動車)の実物が登場した楽しいセッション。
凄い、凄い。「寄りかからないでください」と貼り紙がしてあった衝立の向こうからTESLAが出現! #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
かしこーい。すごーい。パルミにお願いした飲み物の注文(数量)がクラウド上のEXCELシートに記録されている。 #decode16 #spl001
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
「机の上にパソコンとリンゴが置かれています」 MacBookをちゃんと認識した?ペッパーくん。 ^_^; #decode16 #spl001
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
Microsoft Azuruで閉塞回路を構成するNゲージのデモンストレーション。 #decode16 #spl001
— Takehiko YOSHIDA (@chihayafuru) 2016年5月24日
2日目 (5/25)
エンジニアは朝が弱い。ウェルカムパーティーの次の日はのんびりしていても大丈夫だよね。と言い訳しながら遅刻してきたら #roomB が入場規制でがっかりしているアカウントがこちらです。 ~_~; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
HoloLens概要 〜 世界を見る新しい方法 〜
HoloLensの実物のデモはありませんでしたが、紹介ビデオを使って、VR技術を仕事や生活にどういうふうに組み入れて使っていくか、というようなデモがありました。
「ボディー・ロック」、「ワールド・ロック」、「排他的表現」 HoloLensのホログラフィック表示形式3種類。厨二感あふれていていいなぁ〜 ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
HoloLensは排気ファンがないので静か。そうなんだ。逆に高性能で静音性の高いコンピューターを頭に巻いているということになるのですね。 #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
HoloLensで自宅警備員。拡張現実で自宅の壁をすりぬけて来襲するロボットを撃退するシューティングゲーム。家族に見られたら結構やばいかも。 ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
TypeScript 〜 Any browser, Any host, Any OS, Open Source 〜
技術者向けカンファレンスらしい、ライブタイピングによるソースコードがビシバシ登場するセッションでした。プロジェクターに映写されるコードを見ているだけならば、すぐに明日からTypeScriptの開発者になれそうな簡単な操作感でした。また Visual Studio Code との親和性も非常に高いと感じました。Webアプリの開発にLinuxやMacを使っている開発者であっても Visual Studio CodeとTypeScriptの組み合わせで開発効率が明日からすぐにグンとあがりそうな気分になりました。
「JavaScriptはWebの世界のアセンブリ言語」 by Scot Hanselman #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
「TypeScriptのコンパイラはTypeScriptで実装されている。」 へぇ〜、そうなんだ。なんか懐かしい構造ですが、コンパイラがTypeScriptの言語仕様のDog foodingになっているんですね。 #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
CEO が Employee クラスの派生だとおかしいよね。と設計に難癖をつけています。でも、ライブコーディングを見ているのはたのしい!コード大好き! ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
VS/Xamarin/UIコンポーネントで効率的な全方位対応のアプリ開発を実現
スポンサーセッション(お弁当付き)ということでXamarinの有償ミドルウェアの紹介でした。グラフや帳票作成に便利なXamarin向けミドルウェアです。Xamarin本体は無償化されましたが、こういうミドルウェアをビジネスの種としているようです。
オープンソースエディタ Visual Studio Codeの極意
ver 1.0 が正式公開されて機能が整ったVisual Studio Codeの説明でした。拡張機能で各言語向けの機能を提供するようです。またこれらの拡張機能を提供する "VS Code Marketplace" をMicrosoftがサービスを開始していました。AppleのAppStoreやGoogleのPlayストアの開発者向けサービスといったところでしょうか。
MicrosoftのエバンジェリストさんとGitHubの担当者さんが並んで Visual Studio Code 1.0 のセッション開始。たのしみ! #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
GitHub登場以前のオープンソース活動をアイコンを繋いだフロー図で図示しているのが面白い。これはこれで複雑で冗長だけれども、絵を見るだけであれば楽しげですね。 ^_^ #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
GitHubはオープンソース開発者が愛を交わし合うプラットフォームだ! (で実はバトルフィールドだったような…) ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
AtomとVisual Studio CodeはElectronアプリの中で競合しているようで、MicrosoftとGitHubで仲良く協業しているのですね。すてき! ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
Live coding は、時たま拝見することがありますが、Live pull-requestは、はじめて。GitHubを介在させて面白いデモですね。こんど、どこかで真似しようかな? ^_^; #decode16 #RoomB
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
りんなを徹底解剖。"Rinna Conversation Services" を支える自然言語処理アルゴリズム
SeriやCortanaと違って人工知能との会話を楽しむことを目的としてる。適切な答えを返すというよりも会話が続くことを目指している。ということで会話を続ける一つの遊びとしてりんなと「しりとり」。日本に開発チームがある。もとは中国の開発拠点で開発したアルゴリズムを日本にもってきて日本向けにカスタマイズしている。りんなの発する文章はあらかじめ登録していあるのではなく、一から文法を考えて文章を組み立てている。また、りんなには画像解析の機能もあるので、りんなに写真を送るとその写真に写っているものを解析して返事を返してくれる。セッションの後で50名限定のTwitter連携サービス提供が行わました。
アカウント権(連携サービス使用権)を得た、あるユーザーさんの体験記事はこちら
ITmedia ニュース - 太田智美がなんかやる
"女子高生AI"が私を乗っ取る マイクロソフト「Rinna」にTwitterをジャックされた
女子高生AI「Rinna」を改造してみた 「ビール」「お酒」などにもれなくリプライする仕様に
#RoomD は満員御礼につき入場規制かな? 壁際に立ち見の方も大勢います。「これって人工無脳?」というおじさんが「りんな」の自然言語処理アルゴリズムのセッションを拝聴させてもらいます。 ^_^; #decode16
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
文章の類似度をDSSM + GRU, Word2vec, TFIDF, Deep Learning などの技術を使って判定。ユーザーがりんなに投げかける問いかけが、バックエンドで「口説き文句」としてひとまとめ。 ^_^; #decode16 #RoomD
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
「愛している」と「愛していた」 似ているようで、ニュアンスが違う二つの文章もDSSM, RNN-GRU, 再帰的ニューラルネットワーク, Deep Learningで類似性を計算。類似性の計算は、違いの計算と裏表なんですね。 #decode16 #RoomD
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
チェスなどのゲームアルゴリズムでは「評価関数」が登場しますが、りんなでは「目的関数」というのが登場して、これを最大化することがシステムのゴールなのですね。 #decode16 #RoomD
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
Rinna Conversation Service 「りんな」は、これからも誰のものにもならない。でも ”Rinna" は、みなさんのビジネス展開にも、ビジネス展開にも、ビジネス展開にもご提供。 ^_^; #decode16 #RoomD
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
Rinna conversation service からTwitterを利用するためのAPI。 REST API と Streaming API (Public API, User Streams, Firehose)。 #decode16 #RoomD
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
Botを開発するときは「話しかけられたら答える」を守ってね。一人で黙々と呟くとすぐに炎上!!! ^_^; #decode16 #RoomD
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
音声を活用したUWPアプリの拡張 〜 Cortana、音声合成、音声認識 〜
日本語に対応してユーザーアプリへの組み込みもより簡単になったCortanaや音声合成、音声認識の説明。英語に比べると日本語の音声合成や音声認識は今一歩の感じは受けましたが、一方で英語であれば十分に実用に供することができるレベルだと思われました。開発のペースが速く、日本語やその他の言語も英語と同レベルに達するのにそう時間はかからないだろうと思われました。
どのセッションもライブコーディング花盛りですね。音声合成のサンプルアプリをVisual Studio 2015で実装中。いかにも開発者向けイベントという感じで楽しいですね。僕らの共通言語はC# ! #decode16 #RoomC
— Takehiko YOSHIDA (@chihayafuru) 2016年5月25日
DMM.makeのコミュニケーション・ロボット "Palmi (パルミー)" とMicrosoft製品を連携させたデモ。
パルミーにドリンクの注文を話しかけると、音声認識されたデータがAzuruのクラウドに飛んでExcelシートに注文数が入力されるというデモ。インターフェースにロボット(お人形?)をつかうだけで、Excel入力も一気にエンターテイメント感が増しますね。
会場のホテルが東京タワーのすぐ脇にあるため、ちょっと休憩の合間に外に出て東京タワーを眺めました。