「Qt World Summit 2019」「Qt Contributors' Summit 2019」参加レポート

#001 Qt活用の最前線に触れる―「Qt World Summit 2019」レポート

この記事を読むのに必要な時間:およそ 9 分

キーノート

11/5,6のカンファレンスデーは,両日とも午前中に合わせて9つのキーノートが行われました。午後は6つのトラックに分かれて全部で73のセッションが行われました。ここでは,⁠Welcome to QtWS2019⁠⁠,⁠Qt Keynote⁠⁠,およびこれら以外のキーノートについて紹介します。また,セッションについては後述します。

Welcome to QtWS2019

ウェルカムスピーチは,The Qt Company社のCEOであるJuha Varelius氏が話しました。オープニングイベントでは,以下の写真のような数名のダンサーが踊りからスタートしました。

画像

ウェルカムスピーチの中で,Qtのパートナーであり,トレーニングデーのほとんどのトレーニングを担当したKDAB社が20周年を迎えたこともあり,CEOであるKalle Dalheimer氏からスピーチがありました。また,KDAB社の20周年を記念したパーティーがその日に開かれることを話していました。

Kalle Dalheimer氏のスピーチの後,Juha Varelius氏からQtについて考えていることについて説明がありました。具体的な内容としては,今日,私たちはさまざまなサービスやソフトウェアを利用していますが,その価値を決めることで,これらのサービスやソフトウェアに対してさまざまなデバイスやますます多くのソフトウェアが関与するようになっています。こうしたサービスやソフトウェアの価値を決める重要な要素として,最高のユーザエクスペリエンスを持つことは非常に重要だと述べました。さらに,そこから学べるもう1つのことはソフトウェアがどこにでも行き渡り,1つのサービスを複数のデバイスで同時に使用する必要があるため,クロスプラットフォームツールが必要であるということです。

このスピーチでは,UIの重要性について語っており今までのUIのみならず3Dや音声認識技術を利用したUIが登場しますが,デバイスが何であってもユーザエクスペリエンスがシームレスでなければならないと考えているようです。また,日本で開かれるQtWSでは実際にQtを使用している日本企業のセッションがあるという話もありました。

The Qt Company社のビジネスとしては,新しいオフィスを,インドやイスラエルに開設しているようです。最初は,販売とマーケティングから始めていきながら,多くの技術的な人たちと共に研究,開発,コンサルティングに関わるビジネスも進めていくようです。

最後に,この後のキーノート,セッションで,Qt 6についてのセッションがあるという話がありました。

Qt Keynote

このキーノートはQtWSでもお馴染みのキーノートで,The Qt Company社のCTOであるLars Knoll氏から,Qtの最新情報や今後の方向性について説明がありました。

セッションのメインの話となっていたのは,Qt 6 の方向性の紹介についてです。セッションの序盤では,年々,Qtのダウンロード数は増えているという点,ホストとなるプラットフォームではWindows,macOS,Linuxの全てで使われている中で,Windowsが66%と,半分以上を占めているという話をされていました。

その後,Qt 6についてロードマップの説明があり現行のQt 5は Qt 5.15でLTSがリリースされ,開発はQt 6に移行することが説明されました。セッションではQt 6 についてだけでなく,Qt 5.14の新機能についての説明もありました。新機能として,以下の7点が挙げられました。

  1. QCalendarによるさまざまなカレンダーシステムのサポート
  2. 更新された High DPI,非整数スケーリングサポート係数
  3. 画像の色空間のサポート
  4. Qt 3Dのパフォーマンスの改善
  5. Qt WebEngineをChromium 77に更新
  6. リッチテキストをインポートするためのMarkdown記法のサポート
  7. 多くの小さな改善とバグ修正

Qt 5.14の新機能に関する話の後で,Qt 6に関する話が始まりました。ここでは新しいグラフィックアーキテクチャが採用される点について紹介されました。また,Qt Quick 3Dを使用することでQt Quickで作成するユーザインタフェースに3Dコンテンツを統合できるようになることにも触れました。

セッションの終盤にはQt for MCUsについて話がありました。Qt for MCUsは,QMLやQt Quick Controlsを利用してマイクロコントローラなどのリソースに制約のある環境において最適なアプリケーションが開発できるようになるツールキットです。これによって,リソースの少ない機器向けに直感的なユーザインタフェースがQMLを使って比較的簡単に作成できるとしていました。

The Psychology Behind Great User Experience

その他のキーノートについても紹介します。

Web Psychologist and AuthorのNathalie Nahai氏は,優れたユーザエクスペリエンスの背後にある心理学というテーマで話しました。

どのようなインタフェースを設計する場合でも,使用するユーザにアプリケーションやサービスに対して好感やロイヤリティを得てもらう必要があります。アプリケーション提供者が,ユーザに期待するアクションにつなげるためには,ユーザの行動を形作る心理的動機,バイアス,原則を理解している必要があり,またユーザビリティを良くするためには,インタラクションコスト(探している情報を見つけるためにユーザにかかる負担)が低くあるべきだと話しました。そのためにFacebookなどのWebアプリケーションの例を交えながら,より良いユーザエクスペリエンスを作成するために使用できる原則についても紹介しました。

GUIアプリケーションを簡単に作成できるQtだからこそ,使い手のことを考えて操作性,見た目といった内部の機能やパフォーマンス以外の部分にも,時間をかけていくべきなのだと意識させられる内容でした。

Trend Micro

画像

Trend Micro社のRik Ferguson氏は,現在のIoTの脅威とそれに対する保護について語りました。現在,IoTデバイスはその45%が製造業で使われており,製造業はIoTの最大の市場になると予測,今後,世界中にIoTデバイスが普及していくといいます。このセッションでは,講演者がセキュリティに関して気になっている部分として,以下の6点について話しました。

  • ソフトウェア定義のネットワークと揮発性
  • M2M/Massive IoTのソリューションに対するIAM(アイデンティティ情報の管理)
  • 膨大な量のデータ
  • 急勾配な学習曲線
  • 指数関数的に増えていく攻撃対象
  • 使われているスキルに対する技術的なギャップ

セッションの最後には,セキュリティ対応に対して決して忘れてはいけないこととして,誤用を常に考慮に入れながら,たとえ失敗する場合でも,安全に失敗するべきであり,セキュリティ対策が目的ではなくプロセスになっていなければならないと注意を促しました。

このセッションでは,直接的にQtに関わる部分の話ではなく,クロスプラットフォームツールとして,組込み,IoT分野に,これからさらに使われていくであろうQtの技術に対して,ユーザや開発者が,セキュリティ対策をどのように講じていくべきか考えさせられる内容でした。

unu – How to Build an Automotive Company From Scratch

ここから,カスタマーキーノートの概要を挙げていきます。

unu社のMathieu Caudal氏は,ゼロから自動車会社を設立しモビリティソリューションを提供する方法について話をしました。

このセッションでは,都市生活の可能性を最大限に活用できるようにするために作られたソリューションであるunuについて紹介があり,そのソリューションではQtで電動スクーターのディスプレイで表示するUI部分を構築しています。unuは,デジタルキーやナビゲーションに4G経由で接続が可能で,更新可能なUIを備えたスマートディスプレイを使用しており,無線による更新可能性を持った電動スクーターを利用したソリューションです。このソリューションでQtを使用することで実現できた特徴として以下の2点を紹介していました。

  • 速度メーターとバッテリー切れの表示を滑らかに切り替えられる
  • 走行中のナビゲーション機能

メータ表示部分は画面の中央部分ほとんどを円形のメータが占めており実際の速度を画面下部に数値として表示しつつ,メータ部分に色をつけていました。また,バッテリーが切れかかってくると画面に通知ダイアログを出し,完全に切れるとメータ表示からバッテリーが切れていることを知らせる画面に切り替わるようになっていました。

ナビゲーション機能では,実際の地図を簡略表示したような地図を表示し自分がどこを走っているのかどのルートに進むのかをナビゲートしている画面になっていました。ナビゲーションの内容自体はカーナビの表示に近いですがunuでは画面下部に速度表示をしていました。スクーターに搭載できるサイズの小さい画面の中で,多くの情報を表示しながらも見やすい表示になっている部分はQtの良さがでているように感じました。

上記の2点の実現によって,unuはQtによって開発されたナビゲーションシステムが組み込まれた最初のスクーターになったといいます。さらに,スクーターで比類のないデジタルUXを配信できるようになると語りました。Qtによってターンバイターンナビゲーションによる高速で滑らかな動作を可能にすることができるとのことです。

Caliatys – Qt & Hydrogen Mobility: Feedback on Mobile Application Design

Caliatys社のNicolas Louis氏は,生産,輸送,駅などのエコシステムを開発するための投資をしています。エコシステムの投資によって,輸送に必要なネットワークは改善されてき,ました。しかし,クリティカルマスにはまだ到達していないため,⁠デジタル」が重要な役割を果たすといいます。

その中で,同氏は水素が新しいモビリティのエネルギーになると考えており,iOSとAndroidの両方のモバイルアプリケーションを開発することで,世界中のドライバーに対し,最寄りの水素ステーションを見つける手助けができると紹介しました。このアプリケーションはベクトル地図で道順を取得し,アラートなどのリアルタイムの可用性を特徴にしたアプリケーションとのこと。

さらに,このアプリケーションの設計・構成部分を見せながら,アプリケーション内でQtが画面側の表示,操作に使用されていることや,内部の処理で使用しているAPIなどについて説明しました。このアプリケーションでは,スマートフォンで地図アプリのような地図を表示しながらナビゲーションを行います。また,トグル機能を使って表示画面をいくつかのルートとそれぞれの到着時刻を表示するような画面を切り替えていました。スマートフォン向けということもありスワイプ,タッチ操作を前提とした作りになっており,QMLの特徴,強みを生かしたアプリケーションになっているようでした。

セッションではこのアプリケーションを開発するためにQtを評価しているポイントを5つ挙げていました。比較対象となったのはQt,Native,Xamarin,Cordovaの4つのツールです。

  • 開発者のストリーム
  • UI開発
  • アニメーション
  • ベクトル地図
  • パフォーマンス

しかし,クラウド接続の点では,Qtより他のツールの方が優れていると言います。

また,このアプリケーションを開発する上で時間を費やした部分は以下の4点とのこと。

  1. 特定のプラットフォーム/画面密度の微調整(QML)
  2. 安全なスレッド設計(C++)
  3. QMLとC++間のデータの粒度と通信(QMLとC++の連携)
  4. プラットフォームとツールチェーンの両方の設定のための特定のコード開発(Android,iOS)

中でも時間を費やした部分に,ツールチェーン設定の複雑さを挙げていました。セッションの最後で今後必要なスキルについて紹介し,その中でもQtのコンセプトやデザイン,アーキテクチャに関する知識が必要だと騙りました。

著者プロフィール

田中智史(たなかさとし)

株式会社SRAのエンジニア。2018年からQtチームに配属され,Qtのアプリケーション開発を担当している。