top of page
Search
  • Writer's pictureShingo Sakamoto

「スマートデバイス化」を支えるGUI開発ツール

今回は、「スマートデバイス化」を支えるGUI開発ツール、というテーマでブログを書いてみます。GUIとは、Graphical User Interfaceの略で、ユーザーがコンピューターに出す指令を、マウスや指によるグラフィカルな操作で実行できるインターフェース画面を指します。


スマートデバイスという単語に明確な定義はないようですが、今回は便宜的に「リッチなUI(User Interface)あるいはUX(User Experience)が可能になったデバイス」と考えます。そう考えると、昨今さまざまなハードウェア製品のスマートデバイス化が進んでいるように思います。例えば、掃除機・空調機・照明等のコントローラーにタッチパネルがつき、ユーザーが容易に複雑な機能にアクセスできるようになりました。スマートフォンも、元をたどるとグラフィカルに操作できるようになった携帯電話と言えますし、今後ますますスマートデバイスは増えていくと考えられます。


一方、各デバイスにおけるグラフィックス動作環境は、搭載されているチップ・OSによってばらつきが大きく、その分、GUI開発の難易度も上がります。そこで、今回は、スマートデバイス化の波を加速させる「GUI開発ツール」に焦点を当て、調査していきたいと思います。

(Source: https://pixabay.com/ja/illustrations/生成されたai-車両-車-8228500/)



スマートデバイス化の進行


スマートデバイス化の進行は、日常生活のあらゆるシーンから感じ取ることができます。


【家電】

実際、私の家庭にある製品の範囲でも、顕著に変化が現れています。


まず、一例としてプリンターを挙げてみます。もちろん以前からGUIベースのプリンターは存在していましたが、安価な家庭用プリンタはパネルレスのものが一般的だったと思います。今では、私の家に置いてあるような低価格帯プリンターでも液晶画面がつき、GUIで操作できるようになりました。


洗濯機も最近はGUIベースのものを使っています。以前は画面がなく、操作名が書かれた物理ボタンを押すスタイルのものを使っていましたが、それほど予算を増やすことなく、モダンな洗濯機を購入できるようになりました。また冷蔵庫にもGUIベースの製品が見られます。こちらのサイトでは、LG製のタッチパネル付き冷蔵庫が紹介されており、ユーザーはスクリーン上で時刻やメッセージを確認したり、冷蔵庫内の温度管理を行ったりすることができます。


【自動車】

自動車分野でGUIというと、真っ先にカーナビが思い浮かぶと思います。昔のカーナビといえば、ボタンでカチカチと地図を動かすスタイルですが、近年のカーナビはほとんどがGUIベースになっています。また、ハンドル越しに見えるメーター類をグラフィカルに表示するケースも増えています。


さらに、Teslaの自動車に搭載されているタッチスクリーンディスプレイは、もはやカーナビの域を出ており、カメラビュー・空調機・メディアプレイヤーの制御も司る基幹デバイスとなっています。ちょうど先日、私もモデルSに乗ってドライブしましたが、物理的なボタンは数えるほどしかありませんでした。今後、Teslaに限らず自動車の物理ボタンは減っていくかもしれません。ちなみに、iPhoneのスクリーンから物理的なホームボタンが消えたのは、2017年に発売されたiPhone Xからです。これによって、認証も指紋から顔に変わり、ユーザーはコンテンツをスクリーンいっぱいに表示できるようになりました。



GUIが優れているポイントはいくつもあると思いますが、まず1つ挙げるとしたら、「デザイン性の向上」ではないでしょうか。TeslaやAppleのようなグローバルメーカーの製品を見ると、モダンさを追求するに従ってシンプルなデザインになっていく傾向があります。スマートフォンも、自動車も、冷蔵庫も、洗濯機も、「クール」なデザインにしようとするほど、物理的なボタンが減り、「シュッとした」雰囲気になっていきます。その変化を支えているのがGUIです。


また、もう1つ重要なポイントとして、「アップデート性」が挙げられます。物理的なボタンは、物理的に交換・修理しなければ、変化を加えることはできません。一方、GUIにすることでソフトウェアによって更新が可能になり、通信環境さえ整備されていれば、遠隔アップデートができます。寝ているうちにiPhoneのアップデートが行われ、より優れた機能を利用できるようになったように、ハードウェア製品のUI/UXも寝ているうちに更新される時代になっていくかもしれません。


もちろん、家電・自動車に限りません。これらと並んで、スマートデバイス化が進んでいるのが医療機器です。医療現場では、さまざまな患者情報をモニター表示し、医療従事者もモニターを参照しながら意思決定していくことがあります。誤認リスクが低い、誰が見ても理解できるようにコンテンツを表示する重要性が非常に高い分野です。今後は、家庭用ロボット、スマートアイウェア、産業機器等、あらゆる電子機器がGUI化し、リッチでモダンなUI/UXが志向されていく可能性があります。



チップ・OSとクロスコンパイル


上記のように、優れたデザイン性とアップデート性を志向して、今後ますます多くのスマートデバイスが生まれていくと思われますが、ここで1つ問題があります。それが、デバイスに搭載されたチップ・OSに最適なGUIプログラムの開発には、高い専門性と手間が必要になるという問題です。


そこで重要な役割を果たすのがGUI開発ツールなのですが、まず本章ではチップ・OSについて整理し、それがどのようにGUI開発に関係してくるのか見ていきたいと思います。


現代において、多くの電子デバイスにはチップが搭載されています。例えば、スマートフォンにはSoC(System on Chip)という、CPU・メモリ・グラフィックス処理機能・通信機能がオールインワンになったチップが入っており、複雑な機能を実現しています。


また、自動車のエンジン・ブレーキ・エアバッグ等の制御には、マイコン・ASICが用いられるケースが多いです。マイコンはマイクロ・コントローラーの略称で、一般的にはCPU・メモリ・入出力ポートから構成される、SoCに比べると機能が限定的なチップです。ASICはApplication Specific Integrated Circuitの略称で、特定用途に最適な設計が施された集積回路です。ASICは、低消費電力・高速処理が求められる自動車・航空宇宙・医療機器・通信機器等の分野で利用されることが一般的です。なお、ASICは単独用途向けに回路が固定されており、汎用的なアプリケーションを搭載することはできません。一方、FPGA(Field Programmable Gate Array)を用いると、ユーザーはハードウェア記述言語を用いて回路をカスタマイズ設計することができます。


ちなみに、SoC・マイコン・ASIC・FPGAの特徴を比較するよう、ChatGPTに依頼すると、以下のように回答しました。

(Source: https://chat.openai.com/?model=gpt-4)


続いて、こうしたチップに、アプリケーションを搭載していくことを考えます。そこで登場するのがOSです。例えば、あるハードウェアをGUI化するためには、基本的には、当該製品に搭載されたチップ・OSを考慮して、GUIプログラムを開発する必要があります。OSが入っていないハードウェア製品の場合、OSが提供している多くの機能とともにGUIプログラムを組み込み開発(ある特定の機能を持つハードウェアに、その機能に特化したソフトウェアを組み合わせたシステムの開発)する必要があります。


そして、チップには多種多様な種類があり、それぞれのチップに搭載可能なOSも異なります。

(Source: https://chat.openai.com/?model=gpt-4)


Windows・macOS等、私たちが日常的に使用するPCに搭載されているOSの他にも、(私には)聞き慣れないOSもたくさん並んでいます。ちなみに、RTOSとはReal-Time Operating Systemの略称で、OSに比べると機能が限定的である一方、処理速度が早くメモリ消費量が小さいのが特徴です。RTOSは、処理速度・リアルタイム性が求められる組み込みシステムで広く利用されています。


あるアプリケーションが正常に動作するかどうかは、ハードウェアにソフトウェアを直接組み込まない限り、OSに依存していることになります。例えば、スマートフォンアプリも、iOS(Appleが開発したモバイルOS)、Android(Googleが開発したオープンソースのモバイルOS)で個別に開発する必要があります。


一方、上記の通り、チップメーカー・チップタイプ・OSの種類、さらにOSのバージョンも加わると、組み合わせのパターンが非常に多くなるため、アプリケーションプログラムもそれぞれ個別に書き換えなければなりません。そこで、クロスコンパイル(cross compile)やポーティング(porting)といったプロセスが必要になります。



動作環境の違いに対応する


クロスコンパイルとは、開発環境とターゲット環境が異なる場合に、開発環境でコンパイル(高水準言語で書かれたプログラムを、低水準のマシン語に変換するプロセス)した実行ファイルを、ターゲット環境で実行できるように変換するプロセスです。また、ポーティングとは、あるアプリケーションを別のターゲット環境で動作するよう変更・修正を加えるプロセスを指します。


スマートデバイスでGUIを正常に動作させるためには、PCで開発したGUIプログラムをターゲットデバイス専用のプログラムに変換する必要があります。一般的なPCの場合、GPUが複雑なグラフィックス処理を行いますが、小型・軽量のエッジデバイスにはGPUのような高機能チップが搭載されていないケースもあり、その場合はターゲットデバイスの動作環境を考慮したプログラムに最適化する必要があります。


なお、クロスコンパイラは、UI/UXに限らずプログラムを開発環境からターゲット環境に最適変換する機能を持つ総称であり、本レポートでピックアップしている「GUI」専用のツールというわけではありません。GUIを含むUI/UXの設計・開発に特化して利用されるものを「GUI開発ツール」、あるいはユーザーとマシンの接点として機能することから「HMI(Human-Machine Interface)開発ツール」と表現されることが多いようです。



世界のGUI開発ツール


まず、ChatGPTに、チェックすべきGUI開発ツールを10個聞いてみようと思います。

(Source: https://chat.openai.com/c/4a94fc0b-944a-44a0-8c6b-e4abdc9ee3b6)



なお、上記10個のうち、個別に検索したところ、i.MX RT Seriesはチップ製品のシリーズ名でしたので、それを除いた9個を中心に調査していきます。また、9個の中には入っていませんが、昨今のトレンドを踏まえると重要と言えるAndroid Studioというツールを調査対象に加えます。


CGI Studioは、オーストリアのCanderaという企業が提供するGUI開発ソフトウェアです。同社のウェブサイトはドイツ語・英語に加えて日本語版も用意されています。

(Source: https://cgistudio.at/ja/)


ホームページで強調されているように、CGI Studioが最も注力する領域は自動車におけるHMI設計ですが、近年のスマートデバイス増加を背景に、自動車以外のユースケースも存在するようです。CGI StudioによるGUI開発プロセスについては、こちらの動画をご覧いただくとイメージが湧きやすいかと思います。


CGI Studioを利用したGUI開発は、(1)まずデザイナーが製作したデザインコンポーネントをインポートし、(2)コンポーネントを組み合わせてシーンを作成、(3)シーンとビジネスロジックをプログラミングで結合(例えば、このボタンを押すとシーンがこう変わる等)し、(4)ターゲットデバイスで動作するプログラムとしてエクスポート、という流れになります。ちなみに、前章でご紹介したクロスコンパイルというのは主に(4)のプロセスを指しています。

(Source: https://cgistudio.at/ja/hmi-design/)


日本市場におけるビジネスパートナーとなっている加賀電子のCGI Studio紹介ページには、CGI Studioの特徴として以下3つが挙げられています。

(Source: https://www.kagafei.com/jp/partners/cgistudio/)



上記1つ目の「開発工程の効率アップ」で挙げられている「Smart Importer」については、ホームページでもう少し詳しく説明されています。GUI開発者はこれまで、Photoshop・3D Studio Max等のデザインファイルをインポートする際に、各デザインコンポーネントを視覚的に判断し(例えば、「このファイルはボタンを描写したファイル」、「このファイルはゲージを描写したファイル」等)、全体の整合性が取れるように手動でマッピングする必要がありました(例えば、ゲージの下にボタンを配置する等)。Smart Importerは、コンポーネントをAIがパターン認識し、全体の整合性が取れるように自動でマッピングしてくれます。


Altia Designは、アメリカのAltiaという会社が提供する組み込みシステム向けGUI開発ツールです。Altiaは、自動車・医療機器・家電・産業機器・防衛装備品等、さまざまな業界の製品に利用されています。


Altia Designの主な機能については、CGI Studioとそれほど違いはなさそうです。参考までに、こちらのプロダクト紹介動画をご覧ください


顧客事例としては、Renault(ルノー)による採用が紹介されています。ルノーが2021年に開発した新型EVのコックピット(従来は飛行機の操縦席を表していましたが、自動車の操縦席を指すこともあるそうです)のGUI開発に、Altia Designが利用されているようです。この事例では、特に3Dグラフィックスを精緻に表現できることが評価されたようです。


Storyboardは、カナダのCrank Softwareという会社が提供する組み込みシステム向けGUI開発ツールです。


Crank Softwareの創業は2007年で、同社は自動車に限らず医療機器・白物家電・産業装置等、幅広い業界向けにStoryboardを提供しています。顧客リストには、Nintendo・Bosch・Coca Cola等のグローバルブランドも並びます。


この開発ツールのユニークな点は、競合との差別化メッセージです。ホームページでは、「優れたGUIを提供してもスマートデバイスの電力効率が良い」という点を強調しています。電力効率を第一メッセージに掲げるツールはStoryboardだけでしたので、興味深く映りました。


Qtは、ノルウェー発のGUI開発ツールです。Windows、macOS、Linux、Android、iOS、各種組み込みシステムに対応しています。


Qtが公開しているこちらの動画は、GUI開発ツールの役割を概念的に理解するうえで非常にわかりやすいため、もしよろしければご参照ください。


Qtは元々、1990年代にTrolltech(トロールテック)というノルウェーの会社の中でWindows用GUI開発ツールとして生まれましたが、2008年に同社を買収したNokiaによって、モバイルデバイス用途に機能拡張されていきました。Qtは2012年にNokiaからDigiaというフィンランドの会社に譲渡され、その後はDigiaの子会社であるThe Qt Companyという会社によってアップデートされていくことになります。


Qtは、開発者コミュニティによって裾野が広げられ、Java・Python・Ruby・C#等のプログラミング言語からQtの機能を利用できるオープンソースのAPIが開発されています。


Qtは、リソース制約のあるマイコン用にQt for MCUsというツールを提供しています。


GL Studio

GL Studioは、DiSTIというアメリカの企業が提供するGUI開発ツールです。特に自動車業界・航空宇宙業界で利用されています。


基本的な機能は他のGUI開発ツールと大差なさそうですが、複雑なグラフィックスの表現に向いているそうです。


こちらのページには、GL Studioが対応するチップ・OSの組み合わせが掲載されていますが、DiSTIは1994年に創業された会社で、実績・アライアンスネットワークが豊富である点が強みです。

(Source: https://disti.com/gl-studio/supported-platforms/)



正確なリリース時期はわかりませんでしたが、同社は、Qt同様に、GL Studioをよりリソース制約の厳しい車載マイコンでも利用できるように改良した「GL Studio Micro」というツールも提供しています。自動車部品のスマートデバイス化が進む中で、コスト的に高価なチップを使うことが難しい部品には安価なマイコンを利用することになりますが、限られたスペックのチップでも、可能な限り高精度・高速なグラフィックス処理が求められます。今後、このようなトレンドは加速していくかもしれません。


TouchGFX

TouchGFXは、汎用マイコン分野で世界的なシェアを誇るスイスの半導体メーカーSTMicroelectronicsが提供するGUI開発ツールです。基本的には、自社のマイコンで動作するGUI開発に特化しており、Arm Cortex-MのCPUコアをベースに設計された32ビットのマイコンシリーズ「STM32」に対応しています。


提供する機能については、他社のGUI開発ツールとほぼ同じです。デザイナーがTouchGFXを用いてUIデザインを製作し、開発者がC++を用いてデザインに動作を加えるプログラムを書きます。デザインと動作が一体となったプログラムはクロスコンパイルされ、STM32に最適な形に変換されます。ターゲットデバイスにプログラムをビルドし、GUIが完成します。


TouchGFXが、これまでにご紹介したツールと大きく異なる点は、チップメーカーが提供しているところにあります。そのため、対応するチップのアーキテクチャは限定的である一方、STM32に最適化されたGUIプログラムの開発には強みを持っているようです。STM32の採用事例はドローン・ウェアラブルデバイス・スマートメーター・3Dプリンター等、非常に幅広いため、電力効率・処理速度等の観点からTouchGFXの採用が志向されることは十分考えられそうです。


STM32に関連して、こちらの記事では1つ重要なトレンドが言及されています。それが、中国において欧米製のチップに代わる国産チップが続々と登場・採用されている、という話です。米中貿易摩擦が加速した2019年頃から特に、中国では基幹部品の内製化が進んでおり、STM32に類似するアーキテクチャのチップがいくつも現れ、実際に中国メーカーに採用されているそうです(記事内では、STM32の本家チップと類似チップを分解して比較し、類似チップは本家チップを参考にしつつも、ゼロベースで設計・開発されている、と考察している)。あくまでSTM32は一例にすぎず、また中国に限らず、チップを内製化するという動きは経済保障上グローバルでますます進んでいく可能性があります。


そういったトレンドの中で、チップのアーキテクチャに最適なGUIプログラムを開発するGUI開発ツールにも、何かしらの影響は及びそうです。


Embedded Wizardは、ドイツのTara Systemsという会社が提供するGUI開発ツールです。特に、組み込みシステム向けの利用が多いようです。

(Source: https://www.embedded-wizard.de/)


Embedded Wizardのホームページには顧客事例がいくつか紹介されています。例えば、Thermokenというドイツ企業は、室内環境操作パネルの開発にEmbedded Wizardを利用しています。Thermokenは今回のパネル開発で初めてEmbedded Wizardを利用したようですが、「Embedded Wizardトレーニングコースという初心者向けの教育プログラムを受講したことで、数週間で開発が終了した」と紹介されています。


他にも、Kenwoodというイギリスのキッチン用品メーカーの事例が紹介されています。こちらの動画では、同社が開発したスマートミキサーが紹介されています。ミキサーの中に材料を追加する際、何グラム投入しているのかリアルタイムにデジタル表示される仕組みになっています。小さな画面ではありますが、デジタル表示されることでミキサーにモダンな雰囲気が加わるのが興味深いです。スマート家電は新興メーカーがつくるもの、というイメージが私の中にはなんとなくありましたが、Kenwoodは70年以上の歴史を持つ伝統的メーカーで、2021年にミキサーを含む「 Kenwood Cooking Chef XL」というスマートキッチン用品ブランドを立ち上げています。こちらの記事では、今後スマートキッチン市場がさらに成長する、と紹介されています


EB GUIDE

EB GUIDEは、Elektrobitというフィンランドの会社が提供する、自動車業界向けGUI開発ツールです。なお、Elektrobitは2015年にドイツの自動車部品メーカーであるContinental AGに買収されています。


EB GUIDEの特徴として、タッチ入力だけでなく音声入力も可能になっている点が挙げられます(マルチモーダルUIと表現されています)。2021年6月には、親会社であるContinentalが開発する車載コックピットにAmazon Alexa Custom Assistantを統合し、より高精度な音声エクスペリエンスを可能にした、というニュースがありました。一般的に、マルチモーダルUIは技術的に難易度が高いと言われています。


また、もう1つの特徴として、同社はツールだけでなくコンサルティング・研修サービスを積極的に提供していることが挙げられます。1988年の創業から一貫して自動車業界向けの組み込みソフトウェア開発を主軸としてきたこともあり、同社はGUI開発ツールの提供者であると同時に自分達が仮想ユーザーでもある点が強みになっているようです。


また、Elektrobitは近年増加するAndroid Automotive OSにも対応しています。Android Automotive OSは、2017年にGoogleが発表した自動車専用OSで、ユーザーは車載デバイスからAndroidスマートフォンと同じような操作でアプリをインストールし、ナビゲーション・通信・音楽ストリーミング等を利用することができます。このAndroid Automotive OSを採用する自動車メーカーは徐々に増加しており、2022年12月には日経メーカーとして初めてホンダが新型「Accord」に採用することを発表しました(最上位車種の「Accort Touring」のみ)。


なお、少し横道に逸れますが、今後車載OSの種類はさらに増えていく可能性があります。有名なところではTesla・VolkswagenがOSを自社開発していることが知られていますが、トヨタも2025年を目処に「Arene(アリーン)」という新型OSの開発を進めており、各社は自社の強みをソフトウェアとして活かす道を模索しているようです。


そう考えると、GUI開発ツールとしては、対応OSの種類をスピーディに増やしていくことが重要になりそうです。Linuxのような歴史あるOSはもちろん、新興OSにも幅広く対応できるようにすることで、顧客の幅も広がるでしょう。


Kanzi

Kanziは、Rightwareというフィンランドの会社によって開発されたGUI開発ツールです。Rightwareは2009年に設立され、一貫して自動車向けのUI/UX開発事業を展開してきました。ヨーロッパの顧客が多かったところから、2016年に中国のThunder Software Technologyによって買収されたことをきっかけに、中国を含むアジア市場に広く展開するようになりました。


同社の最新プラットフォームはKanzi Oneと名付けられたGUI開発ツールで、他社も提供しているようなベース機能に加えて、さまざまなプラグイン機能を提供しているところが特徴的です。例えば、車載モニターとスマートフォンをつなぐKanzi Connect、独自のマップにアクセスできるKanzi Maps、コンテンツをVRデバイスからアクセスできるようにするKanzi VR、裸眼で奥行きのあるコンテンツ製作ができるKanzi Autostereoscopy等があります。

(Source: https://micware-kanzi.jp/)


また、Kanzi OneもAndroid Automotive OSに対応しています。開発者はKanzi Oneを利用すると、Android Automotive OS上でリッチなグラフィックスが表示されるようカスタマイズを加えることができます。


Kanzi Oneは、Mercedes Benzの大型トラック「Actros」、MaseratiのSUV「Grecale」、Fordのピックアップトラック「F-150」等の名だたる自動車のコックピットに利用された例が挙げられています。また、自動車に限らず、Hill Helicopterの「HX50」コックピット画面の開発にも利用されているようです。

(Source: https://rightware.com/references/hill-helicopter-hx50/)


既に他ツールの説明中に登場していましたが、念のために改めてご紹介いたします。Android Studioは、Android OS上で動作するアプリケーション開発のためにGoogleが提供するGUI開発ツールです。Android Automotive OSはAndroid OSがベースとなっているため、Android Studioを使ってAndroid Automotive OS上で動作するGUIプログラムを生成することができます。


すでにGeneral MotorsPolestar、VolvBMWFordがここ数年の間に続々と採用を発表する等、近年、Android Automotive OSを採用する企業が増えてきていますが、Android Automotive OSが支持される理由の1つとしてAndroid開発コミュニティの存在が挙げられると思います。こちらの記事でも言及されていますが、すでにスマートフォン向けOSとして豊富な実績を誇るAndroidは、アプリケーション開発者の層が厚く、ユーザーはスマートフォンでアプリを利用するのと同じ感覚で、自動車の中からAndroidアプリケーションを楽しむことができるようになります。私自身、カーナビに搭載されている地図が使いづらく、スマートフォンにGoogle Mapを表示してカーナビの代わりをさせた経験が何度かありますが、Android Automotive OSを使えば、カーナビから簡単にGoogle Mapを利用できるようになります。


GoogleはAndroid Automotive OSに先んじて、車載スクリーンにスマートフォン画面をミラーリングできる機能「Android Auto」を広めていましたが、自動車メーカーからするとUIが完全にスマートフォン側に寄ってしまうAndroid Autoよりも、メーカー独自のUIの中でAndroidの機能を利用できるAndroid Automotive OSの方が使い勝手が良いのかもしれません。ちなみに、スマートフォンのOSとして、Androidと並んで普及しているiOSを提供するAppleは、スマートフォン画面をミラーリングできる「CarPlay」という機能を自動車メーカー向けに提供していますが、Android Automotive OSに値する車載OSはまだ発表していません。



今回ご紹介した10社は、過去の実績としては自動車向けGUI開発が豊富な企業が多かった印象ですが、今後自動車に限らず、さまざまなデバイスにGUIが搭載され、スマートデバイス化が進んでいくと思われます。さらに、チップの多様化・小型化・安価化は進み、チップ性能を引き出すOSの種類も増えていくかもしれません。チップ・OSのパターンがどんどん増えていく中で、それぞれの動作環境に適したGUIプログラムを生成するGUI開発ツールには、今後ますます注目が集まっていきそうです。


IDATEN Ventures(イダテンベンチャーズ)について

フィジカル世界とデジタル世界の融合が進む昨今、フィジカル世界を実現させている「ものづくり」あるいは「ものはこび」の進化・変革・サステナビリティを支える技術やサービスに特化したスタートアップ投資を展開しているVCファンドです。


お問い合わせは、こちらからお願いします。


今回の記事のようなIDATENブログの更新をタイムリーにお知りになりたい場合は、下記フォームからぜひ IDATEN Letters に登録をいただければ幸いです。


Comments


Commenting has been turned off.
bottom of page