Qt World Summit 2016に参加してきたよ(本編)

 The Qt Companyの主催で「Qt World Summit 2016」が10/18~20にサンフランシスコで行われましたので、参加してきました。
 雰囲気など様子を紹介したいと思います(英語が不自由なので)。
 今回は、一応去年Qt Championということで、参加費を無料にしていただきました。ありがとうございます。

 当初、The Qt Companyの鈴木さんと「一緒に行きましょー」と話していたのですが、鈴木さんは(たぶん)大人の事情で行けなくなってしまったので、基本ぼっちで行ってきました。
 幸いにもSRAさんから参加するお二方と現地でご一緒することができたので、完全ぼっちは回避できたので助かりました。ありがとうございます。

/// 会場 ///

 会場は、サンフランシスコの第27埠頭にある「James R. Herman Cruise Terminal」で行われました。  IMG_5050.JPG  フィッシャーマンズワーフやお買い物で有名なピア39から海沿いを歩いて10分くらいのところです。  地図的にはココです。  

 2階建ての建物で、1階は「企業の製品展示」「打ち合わせブース」「休憩所」で、2階が「セッション部屋」でした。
 1階の休憩所では3日間の開催期間中、朝食や軽食が用意されていました。
 
 セッション部屋は、広い部屋(というか建物のほとんどがずどーんと広い感じ)をカーテンで仕切って小部屋を作ってました。
 セッション部屋はそれぞれにThe Qt Companyの支店のある都市の名前が付けられていました。
 中サイズ部屋はこんな感じ(看板に部屋名とスケジュールがありました)。
 IMAG0405.jpg IMAG0406.jpg
 小サイズ部屋はこんな感じ。
 IMAG0415.jpg
 一番でかくてキーノートが行われたHelsinki部屋はこんな感じ(パノラマ)。
 IMAG0398-PANO.jpg

 カーテンで仕切られているだけなので、ぶっちゃけ隣の部屋の声が聞こえました。
 自分の部屋のスピーカーさんの声が小さめで隣の人が大きめだと、ちょっと聞き取りにくいこともあったのかもしれません。


/// トレーニングデー(0日目) ///


 10/18は、トレーニングデーとして8種類のテーマでQtについて学ぶことができる日でした。
 自分は、参加していないので詳細は不明ですが、グループでディスカッションして発表する形式だったところもあったようです。


/// カンファレンスデー(1日目) ///


 10/19は、 キーノートの各種セッションの日です(スケジュール)。
 キーノートで印象に残っている内容をいくつか紹介します。
 - How the OneDrive Mobile Team uses Qt
  Microsoftの人のお話。事前にタイトルは出ていなかった(と思う)ですがキーノートで話すってことが公表されている時点で気づく事のできる内容ではあるのですが、Qt使われてたんだーと思いました。
  ありがちな要求ですが、UIはそれぞれのプラットフォーム(WindowsMobile/Android/iOS)のネイティブを使ってコアになる部分は共通化したい、かつライブラリが抱負であるというところでQtが選ばれたようです。

 - Multi Screen Sharing on LG Displays using Qt
  LG製品のお話。特にテレビ(サイネージ)とか時計とかwebOSを使っている製品や車の表示系製品についての紹介でした。
  どれも、複数のモニターを連動させて動かせる製品で、サイネージについては16x16のパネルをシンクロさせて動かせるそうです。製品としては「VIDEO WALLS」この辺りとかでしょうか。

 - Rimac Automobili Ltd.の車
  EVの車を作っている会社で、過去にコンセプトカーを作ってモーターショーにも出していたそうです。
  BMW M3 E30をEV化してゼロヨン(11.850秒)でFiA公認記録を取ったそうです(2015年にTesla Model S P85Dが11.6秒でEVの中で世界記録らしいので凄いですね)。
  キーノートではサラッとでしたけど、同じ人が別セッション(Qt Inside the World's First Fully Electric Supercar)でパイクスピーク(山を登るレース)で有名なモンスター田嶋さんの車も作ったよと紹介されてました(レースレポート)。紹介の中でレーシングカーのテレメトリーの画面を少し見せてくれてました。オンボード映像と4輪のトラクション(とブレーキ)のかかり具合も見れて「ほら、曲がるときに右側のタイヤにしかブレーキかかってないときあるでしょ?これで上手に曲がるんだよ」ってQt関係ない話しもありました(そのセッションは車の紹介でほぼ関係ない話しだった気がするけど)。

 各セッションは、以下の分類がされていました。
 - Built with Qt(11件)
 - 0 to 1(5件)
 - Automotive(8件)
 - Future proof(6件)
 - Advanced(4件)
 事例ベースのお話だったり、今後の話しだったり、盛りだくさんでした。
 「Built with Qt」はある意味「その他」的な分類と思われるので数が多いのは当然として、件数を見てもらうと分かりますが「Automotive(自動車関係)」が多めでした。他にはVR系のセッションも人気があったそうです。

 車関係だと「Qt Automotive Suite」は良いぞってのもありました。車のメーターとかセンターコンソールとか作るときに便利よって感じでQMLを使うとこんな感じでアプリケーションを起動できるとか紹介してました。
 他の車系のセッションでは、メーターのアナログ計(スピードとか回転)は60fpsないと滑らかに表示できないし3D表示もあるから低コストに使用とすると大変だったよって話しもありました(i.MX6DL・DDR3(32bit)・LCD(1920x720)でメモリバスの転送が大変だったそうです)。で、60fpsで描画するところと逐次で更新するところを分けて工夫したりで何とかしたそうです。あとは、起動速度の話とかいろいろ。
 いろいろなツールを使って効率化をしているよって話とか。

 昼食は、裏の海沿いの場所に屋台的な車(市内でもときどき見かける)が4台くらい来ていて好きなのを食べてねって感じでした。
 休憩中にSRAの方と話していたら凄い流暢な日本語でベトナム人の方に話しかけられました。7年くらい日本に居て、今は同じ会社のアメリカの支店にいるらしいです。
 
 夜は1階の軽食を出していたところを使って、立食パーティーでした。
 建物の裏というか海側が解放されていて、結構寒いのですが、外でずっと話している人たちもいました。日本人は朝晩は寒くて上着を着ているのに西洋人すごいよ(笑。
 パーティー中に、東京で働いているというパキスタンの人に話しかけられFacebookで友達になったり、日本に興味があるという中国の人と話したりとミラクルがありました。というか、日本語で積極的に話しかけてくるの凄いです。
 
 会場裏から見えるサンフランシスコ-オークランドベイブリッジの夜景
 IMAG0425-PANO.jpg


/// カンファレンスデー(2日目) ///


 10/20は、1日目に引き続いてキーノートとセッションの日です(スケジュール)。
 
 二日目のキーノートはThe Qt CampanyのCTOのLars Knoll氏が最初でした。
 特に気になったところをピックアップです。
 - オープンソース版・商用版のどっちでも動く製品への対応(ChartとかオープンソースになったのもあるけどGPLだから気をつけて)(これはちょっと誤解があるかも)
 - C++の新しいバージョンにも対応していくよ(現在はC++11で14/17と続いていく)
 - OSサポート(macOSやiOSの最新版、tvOS/watchOSへの対応)
 - 通信系の対応強化
   HTTP/2をQt Networkで対応
   Qt Serial BusでCAN
   Qt Network Autentication module(TP)でOAuth 1&2に対応(これ嬉しい)
 - QMLのJIT on WinRTと64bit ARM対応
 - Qt Quick COntrols 2でパフォーマンスアップ(これは前から言われてるけどね)
  MaterialとUniversalスタイルに対応して個別のデスクトップスタイルは無しになった
 - Qt Webengine(印刷、ドラッグ&ドロップ、DRMメディア用プラグイン(widevine plugin)対応)
 - Qt Liteの目標(小さいフットプリント、速い起動、OpenGL無しなど)
 - Web関連(C++コードをブラウザで動くようにコンパイルできるようになるらしい。開発中で今、alpha版くらい)(この辺りの話しかと「Qt for Native Client (and emscripten)」)
 - リモートディスプレイ関連(Qt 5.8でVNC対応)

 2日目の各セッションは以下のように分類わけされてました。
 - Success(10件)
 - Performance Optimizations(5件)
 - Qt Roadmap Today(6件)
 - Qt Roadmap Tomorrow(5件)
 - Qt Tips & Tricks(5件)

 
 通常セッションでQt Liteについて2コマで概要とツール関連がありました。
 こちらも気になったところを箇条書きにします。
 - 冒頭の振り返り的なところでEmbeddedで使われたQtとしてZaurusの写真が!(箇条書きの中にNokia N9もあったけど)
 - これくらいのスペックで~という話し(ARMv7 ~300MHzとか、QMLでモダンなUXだけどOpenGLなしとか)。
 - 容量を60%は小さくするよ
 - Qt Liteの設定ツールの目標(自由度を上げる・管理を簡単にするなど)
 - qmakeを使う
 - 設定にJSONの対応
 - 新しくGUIツール作る
 - QML Samegameを例にすると
   5.6 dynamic 25MB弱
   5.6 static 14MBくらい
   5.8 dynamic 25MB弱
   5.8 static 10MB弱
   5.8 Lite 5MB

 Qt Quickの描画エンジンでDirect 3D 12の対応もしている話もあり。Vulkanの対応?まだよ。もしかしたらQVulkanWindowとかかなって話題とか。
 Qt Creatorの導入ってセッションもあったので、某氏が本を書いているのでネタを少しくらい拾えるかなーと思って参加してみました。主に便利なショートカット覚えようぜがメインだったのですが、セッション機能とか、Q_PROPERTY(~)からメンバ各種を生成できる機能を初めてしって衝撃を受けてました。
 WindowsのUWP関連の話としては、前半は「Status Update on Qt for WinRT / UWP」に書いてある内容なのかなーと思いつつ、(ちゃんと読んでなかったので)Hololensやxboxも対応するんだーと見てました。5.8の対応としてD3D12バックエンド対応などと、5.9での対応として印刷やFile I/O v2(ってなんだ)など上げられてました)。あとは、ストアについてとか。アプリへSDKバージョンを設定方法(Windows 10の細かいバージョンの違いに合わせて適切に設定する方法)とか。
 Qt Quick Control 2の紹介してくれているセッションはスライドの字が小さすぎてツラかった。でも、スライドの中に動くUIが埋まってました(どうやって実現しているのかはサラッとしゃべってたのか・・・・・・)。


/// 展示など ///


 展示は、こんな感じでした。
 この写真の反対側(という左の方)に自動車関係が多くメーターパネルを展示しているところがずらっとありました。
 IMAG0452.jpg
 一角では、LTスペースもありました。 
 IMAG0451.jpg

 日本から来て展示している企業さんもいました。「sdtech」さんで唯一まともに話ができました(そりゃそうなんですが)。
 デザイナーさんと技術屋さんとの橋渡しとして、Illustratorで作ったモックをQMLに変換して、Photoshopで取り込んで画像を作って再出力、そしてQt Creatorで読み込んで実行という流れができるAdobe系のプラグインをデモされてました。凄いなーと思いましたよ。


/// まとめ ///


 基本的に画面関係はQt Quick前提でした。そーいう流れだってのは聞いてましたが、実感できました。
 特に車関係のところでQMLで画面を作って~って感じの話が聞けたので、UIは実際にQMLへ移行していってるんだなーという印象です。
 日本で話していると、なかなか移行できずにいるのを感じていた(耳に入る範囲なのでごく一部ですが)ので、最先端は違うなと思いました。
 それでも、ここ最近は徐々にQML使ってるよって話しも増えているので、皆さん恐れず使って欲しいですね。

 もっとちゃんと英語で説明されている内容を聞いてまとめられると良いのですけど、雰囲気だけでも感じていただければと思います。
 (その割に、以外と写真を撮り忘れてて、ダメダメですね。書いていて受付の写真忘れたーとか色々です)