X86 と ARM の両方で実行されるアプリのサポートについて Apple が学ぶべき教訓があるとすれば、それは、どのアプリがどのプロセッサをサポートしているかをユーザーに伝え、最良のエクスペリエンスが得られるように積極的に誘導することです。
当たり前のことのように聞こえるかもしれない。しかし、AppleがIntel X86 Macから自社製ARMチップを搭載したMacへの移行を進めている今、ARM版Windowsの体験向上のためにMicrosoftとQualcommが取り組んでくれていたら良かったのにと思う点を、私はつい考えてしまう。
それはコミュニケーションから始まります。ASUSがQualcommプロセッサを搭載したNovaGoラップトップを発売した際、私たちはそのアーキテクチャの長所と短所、特に何ができて何ができないのかを説明しました。2年経った今でも、あの記事は今でも必要だと感じています。Microsoftがどのように躓いたのか、そしてAppleもその失敗から学ばなければ、どこで失敗する可能性があるのか、ここで考察します。
マーク・ハッハマン / IDG長いバッテリー寿命と常時接続により、Qualcomm ベースの PC は売れているが、ソフトウェアが常に足かせとなっていた。
開発者とは話しているが消費者とは話していない
製品を買うべき理由、あるいは買うべきでない理由を理解するために、開発者向けドキュメントを隅々まで読み通したい消費者はいない。しかし、Microsoftはまさにそれを消費者に求めている。WindowsがX86プロセッサ用にコード化された命令をARMチップが理解できるコードにエミュレートする方法は、Microsoftのサイトにある簡素なサポートドキュメントにまとめられているだけだ。これでは不十分だ。Microsoftは、ARMプラットフォームが何を意味するのか、どのような制限があるのか、そしてそれらの制限を克服するための選択肢は何なのかを消費者に伝えるための真摯な努力を一切していない。
それら も大きな制限です。例えば、MicrosoftのSurface Pro XにZoomビデオ会議アプリをダウンロードしたいとします。Microsoft Storeでは見つからないため、Zoomのサイトにアクセスする必要があります。
もちろん、Zoomが明言していないのは、ARM版Windows PCでは64ビットアプリをエミュレートモードで実行できないということです。そのため、ユーザーがSurface Pro Xに64ビット版Zoomアプリをダウンロードしようとすると、インストールを阻止する大きなエラーメッセージが表示されることになります。これはユーザーと快適な体験の間にある障壁であり、Windows on ARM PCの売れ行きが芳しくない最大の理由の一つだと私は考えています。
りんごAppleも同じ道を進んでいるようだ。ARM版Windowsと同様に、AppleもX86プロセッサ向けに書かれた命令をARMチップが理解できる命令に変換するコードを使用している。MacではこのコードはRosettaと呼ばれ、AppleがPowerPCからX86への移行を容易にするために使用したのと同じ変換ソフトウェアだ。そして今、Rosetta2(あるいは単にRosetta)は、X86向けに書かれたコードをMacの新しいARMチップで「そのまま動作」させるように設計されている。
「ただ動作する」という表現には、「ただ待つ」という意味も含まれているようです。Appleは、現在自社サイトに掲載されている開発者向けドキュメントで、「翻訳プロセスには時間がかかるため、ユーザーは翻訳されたアプリの起動や動作が遅く感じる場合があります」と述べています。
ユーザーはMacが適切なコードを使用するよう支援する必要もあります。「バイナリに arm64 と の 両方のx86_64 命令が含まれている場合、ユーザーはFinderのアプリの「情報を見る」ウィンドウから、Rosetta翻訳を使ってアプリを起動するようシステムに指示できます」とAppleは述べています。「例えば、ユーザーはRosetta翻訳を有効にすることで、まだ arm64 アーキテクチャをサポートしていない古いプラグインをアプリで実行できるようにすることができます。」
りんごAppleは6月22日のWWDC 2020基調講演で、iPhoneアプリを実行するARMベースのMacを披露した。
ただし、RosettaはX86_64プラットフォームを仮想化するカーネル拡張や仮想マシンアプリを変換できません。また、Intelが2011年に第2世代Intel Core「Sandy Bridge」チップで初めて実装したAVX命令も変換できません。
要約すると、Appleは開発者(ユーザーではなく!)に対し、エミュレートされたアプリはネイティブコードよりも動作が遅くなること、完全な互換性を確保するにはユーザーがアプリをエミュレートモードで実行するように手動で設定する必要がある場合があること、そしてAppleの翻訳ソフトウェアは約9年前から存在する命令を処理できないことを伝えている。これは「ただ動く」というものではなく、消費者はまだそのことを知らない。
互換性のあるアプリを見つけるのが難しくなる
アプリ ストアは消費者が最初にアプリに触れる場所であり、Microsoft のストアは依然として悪いです。
Windowsユーザーなら誰でも、このストアの多くの欠点をよく知っているでしょう。アプリの最終更新日を示す情報は一切なく、変更履歴も見当たりません。これまでのダウンロード数も確認できません。
Microsoftは、アプリがサポートするプロセッサアーキテクチャも隠しています。Windows on ARM(WoA)対応PCを既にお使いの場合、Microsoftは互換性のないアプリを非表示にします。しかし、WoA対応PCを購入する前に 何が利用できるか知りたい場合は 、アプリを一つ一つ確認する必要があります。
マーク・ハッハマン / IDGPC を購入した後で、ARM で実行できないアプリを表示するのは、 ひどい体験です。
数年後には、MacアプリがARM向けかX86向けかという問題はもはや意味をなさなくなるでしょう。AppleがMacを丸ごとARMに移行しているからです。しかし今のところは、WindowsとMacの両方のプラットフォームのユーザーは、2つのプロセッサアーキテクチャのどちらかを選択できるため、両者は同じ陣営に属しています。
確かに、AppleのApple Storeがこうした情報を提供すると期待するのは時期尚早でしょう。主要なサードパーティパートナー、特にAdobeとMicrosoftがAppleのARMへの取り組みを支持していることは分かっています。Appleのゲーム開発者の中でもごく少数のニッチな開発者のうち、どれだけの人がARM向けに再コーディングする気になっているのか、そして他のコンテンツ制作アプリ開発者がどれほど早く参加するのかは疑問です。
どのアプリがどのプロセッサ向けにコーディングされているかを把握することは非常に重要です。「ユニバーサル」なAppleアプリは両方のプラットフォームで動作します。しかし、AppleのARMプロセッサのパフォーマンスがどの程度になるかは未知数であり、特定のアプリが各プラットフォームでどの程度動作するかも未知数です。そのため、AppleとPCの両方のユーザーが、どのアプリが特定のプロセッサ向けにネイティブにコーディングされているか、どのアプリがパフォーマンス最適化されているか、どのアプリがエミュレートされてパフォーマンスが低下するかを把握することが重要です。MacでもWindowsでも、アプリストアがこうした議論の出発点となるべきです。
「ショーケース」アプリの提供に失敗
これまで、私たちはパフォーマンス、互換性、そして通信について懸念してきました。QualcommとMicrosoftがまだ提供できていないもう一つの課題は、ハードウェアだけでなくソフトウェアの観点からも、ショーケースPCです。その答えは、残念ながらブロートウェアです。
レビュー用ラップトップに不要なサードパーティ製アプリが詰め込まれている場合は、通常、評価を下げます。例えばAcerのラップトップには、Collection Sのように、他のアプリを推奨するアプリが含まれています。しかし、ARM版Windows(およびMac)に必要なのはまさにこれです。ARM向けにネイティブにコーディングされ、プラットフォームの魅力を引き立てるアプリのショーケースです。
マイクロソフトMicrosoft の新しいパッケージ マネージャーは、ARM 向けに最適化された Windows ソフトウェアのコレクションを簡単にダウンロードできる手段となる可能性があります。
Windowsに関しては、MicrosoftもQualcommもこの点で積極的な取り組みを行っていません。ユーザーが作成したコレクションではなく、ARM向けに最適化されたアプリを一覧表示(そしてリンクも!)する公式ブランドウェブサイトを用意すべきです。接続されたPCには、ARM向けに最適化されたアプリがプリロードされているか、少なくとも最適化されたエクスペリエンスへの入り口となるべきです。ARM向けに最適化されたWindowsアプリをダウンロードする機能は、Microsoftの新しいパッケージマネージャーユーティリティ「WinGet」の機能になるかもしれません。
Appleは既にこのことを理解していると思うので、AppleのApp Storeの一部に「Appleで最適に動作します」といったタイトルがあっても不思議ではないでしょう。消費者が頻繁に使用するアプリのコレクションを提示し、パフォーマンスが最適化されていることを保証し、さらにアプリを定期的に追加・アップデートすることで、Appleが顧客を気遣っていることを確信させているのです。
現状、顧客はなぜX86から移行し、ARMのような新しく馴染みのない技術を採用すべきなのかをまだ理解できていません。たとえ理解できたとしても、その説明は常にハードウェアの観点から行われます。顧客がソフトウェアをどのように、そしてなぜ移行すべきかという議論は、往々にして議論の的から外され、結局誰もが混乱してしまうのです。AppleがMicrosoftの引き起こした混乱を振り返り、より良い対応をしてくれることを期待しましょう。