AIは、今のところ「ターミネーター」のような世界には至っていませんが、あらゆるものに革命をもたらし、席巻しています。AIは今日、ビジネスプロセスからコンシューマアプリ、宇宙船からトースターに至るまで、あらゆるところに存在します。そして誰もが、クラウドやWebアプリでのAIに関して話題にしています。一方、AIが静かにその力を発揮するのを待っている隠れた至宝があります。デスクトップアプリケーションです。デスクトップアプリケーションには、特にAIを活用したワークフローを管理する際に、大きなメリットがあることが分かっています。
これは、Delphi、C++、さらに近年増加しているRAD StudioでPythonを利用している開発者にとって特に重要です。これらの開発者の皆さんは、デスクトップアプリ構築の呪文を習得していると言っていいでしょう。今日ではデスクトップ アプリを構築する開発者の人口は減少しており、多くの若い開発者はその方法を知りません。しかし幸いなことに、エンバカデロのツールはこれを容易にします。
RAD Studio 12.2以降、エンバカデロでもAIの活用がより一層推進されます。IDEにAI機能をさらに追加していくのに加え、ネイティブ開発を差別化する方法を見い出していくことに注力してまいります。これには皆さんの協力が必要です。AIでコミュニティを活性化し、成長させる素晴らしい機会を、ともに掴み取っていきましょう。
対決!デスクトップアプリ vs. ウェブアプリ
デスクトップアプリとWebアプリの積年の壮大な戦いにおいて、この2つを比較することは、スイスアーミー ナイフとテイクアウトの安物プラスチックフォークを比較するようなものです。確かに、Webアプリは機能的ですが、ブラウザとサーバーへの依存性がこれを制限しています。Webアプリは、まるで「前はよかったけど、さあ、今はこっちに並んでください」と言うように、あらかじめ決められた狭い道へとユーザーを誘導します。
デスクトップアプリは違います。デスクトップアプリは、「どうぞ、ハンドルを握ってください。作業中に5 つのタスクを移動したい?問題ありませんよ。ビデオをレンダリングしながら、Photoshopで20個のタブを開きた?どうぞ、がんばってください」と言ってきます。
デスクトップアプリは、はるかに高い柔軟性とカスタマイズ性を備えています。Webアプリでは対応できないような複雑なワークフローも処理できます。そして、これこそまさに AI に必要なものです。つまり、AI の頭脳的な部分と人間の予測不可能な部分の両方を、難なく処理できる環境です。
なぜデスクトップアプリがAIの相棒になり得るのか
AIは、より多くのアプリケーションで信頼できる副操縦士となってきているだけでなく、ワークフローの新しいレイヤーとしても導入されています。まるで、トニー・スタークのサポートAI「ジャーヴィス」が毒気を抜かれて自分専用になったようなものです。ワークフローのメインには、人間による入力、クリック、Excelの数式を理解しているつもり… といったような作業があります。そして二次的なものとして、AIによるアシスタントワークフローがあり、親切でとても熱心なインターンのようにバックグラウンドで作業します。
AIワークフローには柔軟性が必要です。AIはデータとコンテキストを分析して提案を行い、ときには冗談を言うこともあるでしょう。冗談は言わないかもしれませんが、要点は理解していただけると思います。つまり、AIには息抜きや適応が必要であり、ときには礼儀正しく、さりげなく、ロボットのように間違いをを指摘する余裕が必要なのです。
ブラウザの制約によって制限されたWebアプリは、こうした動的なインタラクションを管理するのに効果的ではありません。これに対しデスクトップアプリは、いつでもぶらり旅に出かけられる友人のように、複雑で並列の処理に対応し、ランダムな方向転換を簡単に扱います。
例えば、AIを搭載したデザインツールを考えてみましょう。ツールを使って、次の作品をスケッチしているとき、AIが突然割り込んで、「あの配色の修正が必要ですか?」とか「またComic Sansフォントを使っていますね。ちょっと休憩を取りますか」などと話しかけます。
ユーザーとAIのリアルタイムコラボレーションには、Webアプリを悩ませるサーバーの遅延やブラウザーの互換性の問題に悩まされることのないワークスペースが必要です。デスクトップアプリでは、2004年頃にビデオのバッファリングで悩まされていたような憂鬱な気分になることはなく、人間側とAI側の両方を実行できる処理能力があります。
ゲーム業界: 最も複雑性の高いデスクトップアプリケーション
デスクトップアプリの優位性を示す証拠で最も明確なものは、複雑なワークフローでハイリスクかつフル稼働し続けるゲーム業界にあります。
クラウドゲームやモバイルプラットフォームの台頭にもかかわらず、デスクトップゲームは依然としてこの分野のキングです。その理由は、デスクトップアプリケーションが大量のリアルタイム処理に対応でき、なおかつスムーズで没入感のあるエクスペリエンスを提供できるからです。
現代の戦略ゲームを考えてみましょう。帝国の経済を管理し、軍隊を配備し、和平交渉(または開戦)を行います。
一方、ゲームに組み込まれた AIは、世界で最も不気味で典型的な悪役のように、プレイヤーのすべての行動を監視し、その動きに反応します。全体のエクスペリエンスはシームレスで応答性が高く、サーバーが追いつくのを待っているような気分にはなりません。
次に、AIを活用した財務ツールやデザインアプリなど、他の分野でもこのような流動的でリアルタイムのAIアシスタントを実現することを想像してみてください。
デスクトップアプリは、こうした複雑なインタラクションを処理できるパフォーマンスと柔軟性を備えているため、AI駆動型ワークフローに最適な環境です。デスクトップアプリは高速で、適応性が高く、負荷がかかりすぎてもクラッシュしません。
デスクトップ アプリケーションにおけるAIの活用例
仮定の話から少し離れて、デスクトップアプリが現実世界でAIとどのように融合しつつあるかを見てみましょう。
- Adobe Photoshop: 誰も完全に使いこなしていないというツールですが、PhotoshopのAIアシスタント「Adobe Sensei」は、オブジェクトの自動選択(木に生えた無数の葉っぱのひとつひとつに細かい線を引く時間など、だれも使いたくないでしょう)から古い写真のカラー化、さらに予測編集まで、あらゆる面でユーザーをサポートします。あなたより賢いけれど功績を横取りしない小さなアーティストがそばに控えているかのようです。
- Autodesk Maya: アニメーションで3Dキャラクターのリギングを行ったことはありますか?それは、背骨を折った状態でヨガをやろうとするようなものです。幸いにも、MayaのAIツールは、モデルの自動リギングなどによって、面倒な作業の一部を処理してくれます。アーティストであるあなたはクリエイティブな作業に専念でき、その間にAIはキャラクターの腕がプレッツェルのように曲がってしまわないようにする方法を考えます。これは最高のチームワークです。そして、想像どおり、デスクトップアプリで処理するのが最適です。
- Microsoft Excel: スプレッドシートのキングもAIの力を借りています。ExcelのAIアシスタント「Ideas」は、混沌とした数字の山を、役に立つ洞察、傾向、視覚化へと変換してくれます。まるでデータサイエンティストがそばにいて、「探している傾向線はこれです」と耳打ちしてくれるようなものです。Excelでは、これらすべてをリアルタイムでVLOOKUPと格闘しながら実行できます。この場合も、ブラウザの遅延やサーバー側の遅延はありません。
AIとデスクトップアプリケーションの未来
AIが私たちの仕事や創作活動でより重要な役割を果たすようになってくると、その無限の可能性に対応できるプラットフォームが必要になりますが、Webアプリの能力ではその要件を満たすことは難しいかもしれません。デスクトップアプリは、その強力さと俊敏性により、複雑なAIワークフローに最適な環境を提供します。次世代製品の設計においても、大規模データの分析でも、仮想世界を征服しようという場合でも、デスクトップアプリケーションは制約を与えることなく、AIの魔法が自由に働くようにしてくれます。
開発者、企業、そしてAIを最大限に活用したいと考えている人にとって、デスクトップアプリケーションは未開発の可能性を秘めた金鉱です。デスクトップアプリを閉じてWebに戻る前に、AIアシスタントにもう少し余裕を持たせることを検討してみてください。
結局のところ、AIを傍らに据えて作業するのであれば、AIが真価を発揮できる環境で行うのがよいでしょう。その過程で、ちょっとした冗談を言い合えるかもしれません。
本ブログ記事は、Atanas Popovの「The Untapped Potential of AI in Desktop Applications: “Power-Charging” Our Delphi Community」の抄訳です。