Apple Engine

Apple, iPhone, iOS, その周辺のことについて

更新終了のお知らせ

はてなブログ Pro の契約が切れる事と、特に書く内容がなくなってしまったので、ここら辺で一区切り。

技術ネタだけ別のところで書くかもしれないけど、書く労力に対してあまり読まれないので、やらない可能性大。

Blog の内容がかなり古くなり書き直すのが面倒なので、非公開にする可能性があり。
必要であれば適当にアーカイブ取っておいた方がよいかも。

Apple M1 とはなにか

f:id:x67x6fx74x6f:20201126022102j:plain

とりあえず、まとめてみる。

どうやら、JIS 的に3文字以上の最後の長音は伸ばし棒を付けない謎ルールが無くなったらしいので今回はカタカタに「ー」を付けることにした。

 

そもそも iPhone / iPad の Apple A シリーズ や Apple M1 で言われる ARM のチップとは

Arm という会社が出す ARM アーキテクチャーで作られたコンピューターの脳味噌となる半導体。主に CPU を指す。
もともとはファミコンや PC エンジンで使用されていたモトローラからスピンアウトしたモステクノロジーの MOS 6502 プロセッサーの置き換えとして始まり、Apple の出資から ARM 6 がつくられ Apple Newton で使用された。
Android も含め、現状、ほとんどのスマートフォン、タブレットは ARM アーキテクチャーのプロセッサーである。

日本では ARM 7 は au の携帯電話、ARM9 から docomo、PDA、ゲームボーイアドバンスから Nintendo Switch、PlayStation Vita など小型のガジェットで昔から使用されている。

ちなみに Arm という会社はチップを売って儲けているわけではなく、設計書や Apple M1 のように改良する権利を売って会社が成り立っている。モバイル用 GPU の仕様も売っているが・・・。
実は設計書を売る会社なのでめちゃめちゃ儲かっているわけではない。

 

ARM アーキテクチャーとは

CPU としては大きく分けると Intel (AMD) のアーキテクチャと ARM アーキテクチャーがある。

めっちゃざっくり書くと Intel は CISC で時間はかかるが大きな処理ができ、ARM は RISC で小さい処理を速くできるとされている。
この特徴から ARM は省電力に有利になるが、マルチスレッド処理では不利な面がある。

大きな範囲ではこれらを命令セットアーキテクチャー (instruction set architecture / ISA) とか言ったりもする。

 

イベントや記事で言われている SoC と SiP とは

SoC は System-On-a-chip の略でひとつのチップ上に、プロセッサーやマイクロコントローラーなどを入れ連携をして動かす。
Apple で言うと、現状 アクセサリー製品、一部 Intel Mac 以外には必ず入っている。

SiP は複数のチップひとつにまとめたもの。
Apple M1 では SoC とメモリーがセットになっている。(Apple A シリーズも近い状態ではあるが)
Apple 製品では M1 がはじめてと言う感じがするが、Apple Watch の S シリーズや AirPods Pro のイヤフォン部分のチップはそれにあたる。
例えば AirPods Pro のイヤフォンの方のチップはオーディオ関連と Apple H1 でひとつの SiP となっている。

 

Apple M1 の SoC チップが持つ機能とは

f:id:x67x6fx74x6f:20201126004102j:plain

Apple A14 Bionic ではイベントでは以下の機能が書かれていた

  • 高効率、省電力 GPU
  • 高性能な内臓 GPU
  • 広帯域のキャッシュ
  • 高速な暗号化(多分 CPU などを使用しない)と Secure Enclave
  • 高性能なユニファイドメモリー
  • 高速な機械学習と Neural Engine
  • ポートレートモードなどに深度情報に使う Depth Engine
  • プロ仕様のビデオエンコード/デコード
  • HDR Imaging や HDR Video プロセッサー
  • Camera Fusion
  • 常時端末稼働を行う Always-on プロセッサ デスクトップ級のストレージ(コントローラー)
  • 高度なディスプレイ用エンジン
  • パフォーマンスコントローラー(電源周り)
  • 高効率なオーディオプロセッサー
  • 省電力設計
  • 高度な半導体のパッケージ

 

f:id:x67x6fx74x6f:20201126004128j:plain

M1 では追加して書かれているもの

  • 高性能な NVMe ストレージ
  • 省電力なビデオ再生
  • 高性能なビデオ編集
  • Thunderbolt / USB 4 コントローラー
  • Gen 4 PCI Express

 

NVMe ストレージは多分ストレージ扱うためのコントローラーのことだろうか。
ビデオに関してはビデオプロセッサーや Image Signal Processor (ISP) と呼ばれるものやハードウェアエンコード・デコードを指しているのだと思われる。
iFixit の MacBook Pro / Air の分解によると Thunderbolt / USB 4 コントローラーは SoC とは別で Intel 製のチップを使用しており、ここで書かれている理由は不明。

あと iPhone は iPod の派生端末なのでメインのオーディオ関連のプロセッサーは SoC とは別で存在しているはずで、Apple M1 端末も同様だと思われる。
むかしは Audio subsystem と書かれていた気がする。

どこかの記事がインタビューで、クレイグ・フェデリギ氏が Apple M1 ではジャイロが使えないと言っていたため、もしかしたらモーションセンサーがない、または使わせない状態にあるのかもしれない。

 

なぜ、省電力かつ最速のシングスレッド、デスクトップ級のマルチスレッドの CPU ができたか

f:id:x67x6fx74x6f:20201126005213j:plain

ハードウェアのしっかりとした技術があり、 ARM のチップがおもちゃだった頃から、優秀な企業を買収してきたから。

創業するチップ企業が幾度と大手に買収される社長とチップ界の天才ジム・ケラーの P.A. Semi。
当時、サムスンとも協力してチップつくっていた高速、省電力の ARM チップの Intrinsity を買収している。

と書きつつ、単純に命令デコードやALU(演算装置)が他より多い。

 

Apple Silicon の CPU で言われている big.LITTLE や ARM の DynamIQ とはなにか

いくら省電力な ARM チップでも常に高い能力の CPU を使い続ければバッテリーの消耗が激しくなってしまう。
そのため、Apple M1 ではチップ構成を処理を速く行うがバッテリーの消費が高い高効率の CPU を 4 つ、処理は低いがバッテリーの消費が低い省電力の CPU を 4 つの計 8 つの CPU コアを持っている。

処理を多く捌きたい場合は高効率(big)、 通常時あまり処理をしないくてよい場合は省電力(LITTLE)など状態に応じて適したコアに切り替える処理とそのチップの構成を big.LITTLE と呼んでいる。
big.LITTLE ではいくつかの方式があるが、現状ほとんどが高効率と省電力が同じコア数となっており、ペアとして切り替えるようになっている。

Apple M1 の Mac の発表で言っていたように、ほとんどのケースで省電力の CPU が使用されており、他社製の ARM チップと比べかなりの最適化がされていると思われる。

また、Arm 社の設計では DynamIQ という仕様があり、高効率と省電力が同じコア数という構成である必要がなくなった。
最近の Qualcomm 社の ARM チップはプライムコアという速いコアをひとつだけ持つという構成があるため DynamIQ の仕様を使っているのかもしれない。

DynamIQ に近しいものとして、Apple Silicon に関してはいつからだったか忘れたが、高負荷時に全ての高効率、省電力のコアを動かすことができるようになっていたはず。

 

Apple M1 のコアはなぜ 8 コアなのか

一応、ARM の仕様上 1 クラスタに対して8コアまでであるため。

ARM では最大の8個を繋ぎ合わせて最大96コアにする構成例もあったし、
富岳は 13 コア * 4の 52 コア構成になっていたはずなので、のび代はありそう。

 

ユニファイドメモリーのなにがよいか

Apple A12X Apple M1
f:id:x67x6fx74x6f:20201126005550j:plain f:id:x67x6fx74x6f:20201126005148j:plain

 

一応、最近の iPhone / iPad の A11 からユニファイドメモリではあり、今まではチップの上に載っていたが、どうやら Apple M1 はチップ右横に配置されている。

何がユニファイドなのかと言うと CPU、GPU、Neural Engine、Image Signal Processor など詰められた SoC からメモリーに接続されており、各プロセッサから同じメモリーにアクセスできる。
例えば、各プロセッサで処理しメモリーに保存し、他のプロセッサから同じデータにアクセスできるため効率化できる。

ただ、ユニファイドにはデメリットがあり、 同じメモリを使用するためプロセッサの処理に待ち時間ができてしまう可能性があり、
Apple Silicon ではそれらの問題を対処するための施策が行われている。

また、GPU からのメモリーへのアクセスは多くなるためメモリバンド幅が広い可能性がある。 そのため、Apple M1 では CPU なども広い帯域を使用している可能性もある。

 

ファブリックとキャッシュとはなにか

f:id:x67x6fx74x6f:20201126004348j:plain

アプリ開発者側でも詳細な説明がないため不明だが、
一般的に考えるとファブリックとは各プロセッサや機器などを操作するマイクロコントローラーを繋ぎそれらとメモリーのデータをやり取りする線というかネットワークのようなもの。
キャッシュは一時的にデータを蓄える場所で、CPU の L1, L2 キャッシュとは別のものと想定される。

現行の Apple Silicon には PC や Android にある L3 キャッシュと呼ばれるものは存在しない。
ここで言うキャッシュなのか、もしくはメモリーの方がアクセススピードが速いか何か無駄があるからだとは思われる。

 

Apple Silicon の Apple GPU はなにがすごいのか

f:id:x67x6fx74x6f:20201126010101j:plain

Apple GPU や Android などのスマートフォンは PC とは異なり Tile-Based Deferred Rendering という方法で画面の表示をしている。
画面全体を一度に描画するのではなく、画面をある程度のピクセルごとに矩形で分割し表示する。
そのため分割した領域内の表示が更新されなければ、そこを再描画しなくて済み、省電力に貢献する。

  f:id:x67x6fx74x6f:20201128012205j:plain

A11 から Apple 謹製の GPU になり、Memoryless Rendering という機能が使用できる。

Apple GPU と Apple のグラフィックライブラリ Metal には Tile Memory という GPU が保存できるデータの保存領域とシステムがある。
この機能を使用することにより、一部機能はメインメモリーに問い合わせ CPU を使用することなく GPU だけで処理することができる。

Tile Memory が何なんのか開発者には知らされてはいないが、メインメモリーではなくキャッシュを使用している可能性がある。

現状、Apple GPU の Metal の機能では既存の Intel 統合 GPU や AMD と同等かつ、少し使える機能が増えている状態である。
まだパワーは弱いが dGPU と同じ機能は使えると思って良いと思う。

また、今年出た Apple Silicon の世代の GPU でも新機能が増えている。

 

リアアルタイム レイトレース は可能なのか

f:id:x67x6fx74x6f:20201126015318p:plain

そもそも現状のリアアルタイム レイトレースは誤魔化しと力技であるため、かなり前から Metal で再現可能。
ただ、現状 iPhone 12 Pro の Apple A14 Bionic でもかなり荷が重い。

 

f:id:x67x6fx74x6f:20201126015313p:plain

オフラインレンダリングだが Metal でもこのような映像を作ることができる。

 

Arm のチップとなって機械学習はどうなるか

CPU / GPU を使用する ML Compute、
GPU を使用する Metal Performance Shaders Graph が存在し、一応は使用できる。
Apple M1 の TensorFlow は ML Compute を使用する模様。

Neural Engine に関してはアプリ開発者側からは触ることはできず、使用する必要がある際に使用されるとのこと。
現状、推測するに GPU に近しいものではないかと言うところ。
CPU で得意な分野では動作していないため。

ちなみに ML Compute は画像を CSV にしたもの使い MNIST を試したが 1 分以内で全て終わり手書きの数字を認識できた。

 

ビデオ編集について

ハードウェアデコード/エンコードでは、
h264、h265 / HEVC (8 bit)、h265 / HEVC (10 bit)、VP8、VP9。

ハードウェアデコードのみは AV1、VC-1、AVC。

前からではあるが、10Bit の HEVC がハードウェアで処理できるし、ハードウェアデコードのみではあるが、AV1 などでき、今後の動画編集も期待できそう。

iPhone 12 Pro / Pro Max で Apple ProRAW が使えるとなると、メモリーだけではなくハードウェア側で多量のデータを処理する謎な機能がありそうな予感はする。

 

iPhone / iPad とのパフォーマンスのちがい

予想ではあるがタッチパネルがない分、同じディスプレイ解像度でも電力消費が Apple M1 端末の方が少ないのではないかと思っている。

 

Android で使用されている Qualcomm Snapdragon との違いはなにか

Snapdragon のハイエンドはチップに全部入りである。
そのため、通信モデムも入っていたりする。 (最近は 5G モデムが別になっているものもある)

また、最大の違いは汎用的に使用する DSP と呼ばれるものが Apple Silicon には存在せず、Neural Engine や ISP など専用のプロセッサーとして入っている。
(厳密にいうと違うが謳い文句としては発言されたことがない)

 

Apple Silicon の今後

現在、世界最速のスーパーコンピューターである富士通の富岳は Intel でもなく、AMD でもなく、GPU でもなく、ARM プロセッサーをカスタマイズしたチップを頭脳としている。

スマートウォッチやスマートスピーカーなど小型なものから、スマートフォンやタブレット、ラップトップ、デスクトップ、そしてスーパーコンピューターまで CISC チップから RISC チップへ大きな流れの変化となり、コンピューターの歴史でも大きな転換期となるだろう。

ARM のアーキテクチャーでは Split-Lock というものがあり Split モードでは Intel の Hyper-Threading のように 1 サイクルで 2 つのスレッドを同時実行できる。
もし、Apple M1 なら 16 コアで動くということになる。

富士通と Arm が富岳用に開発した Scalable Vector Extension (SVE / Scalable Vector Length) という NEON、他で言う SIMD をチップ開発者が 128 bit ~ 2048 bit 幅で拡張できる。
(容量は少ないがめっちゃ速いメモリのようなもの)
富岳は 512 bit で、初期の Apple Silicon では 256 bit である。
(増やせば高速に演算ができるようになるが、その分デメリットもある)

今後、数年の間に Apple Silicon は iMac や MacBook Pro の上位版、iMac Pro や Mac Pro 向けの CPU。
デスクトップ級の GPU がリリースされるのではないかと予想される。

また、Arm 社の特許的な問題もあるのでどうなるかわからないが、
これから10年後の Apple は ARM アーキテクチャーから離れオープンソースの ISA である RISC-V へと移り変わるかもしれない。

Xcode 12.2 の SceneKit の Game テンプレートでビルドすると上下に黒い枠が出る

条件は iPhone の一部機種のみだが、Xcode 12.2 の SceneKit の Game テンプレートを新規作成し、ビルドすると上下に黒い枠が出る。
(ランドスケープは左右にでる)

 

 

UIWindowScene のデフォルトサイズなので、なんかなと思っていたら、LaunchScreen.storyboard が設定されていない模様。

プロジェクトにファイルを追加して、設定すれば、今までのように全画面で動く。

f:id:x67x6fx74x6f:20201113221804p:plain

 

以上。

一応、Feedback Assistant で報告済みなのでそのうち治ると思う。

第4世代 iPad Air - A14 Bionic ベンチマークのリーク

GeekBench で A14 ベンチマークのリークと思しきものがあったので掲載。
Metal のスコアは怪しいもの、CPU は妥当な感じではある。

 

CPU / GPU

browser.geekbench.com

Metal

browser.geekbench.com

 

比較

iOS

SoC Single Multi Metal
A14 Bionic 1583 4198 12571
A13 Bionic
(iPhone 11 Pro)
1327 3286 7309
A12Z Bionic 1119 4645 11669
A12 Bionic
(iPhone XS)
1108 2496 5206

 

A14 を A13 のシングルコアで比べると 1.192 倍で約 20% アップ
マルチコアで比べると 1.277 倍で約 28% アップ
Metal は怪しいけど A13 比べると 1.719 倍で約 72% アップといったところ。

A12Z Bionic とはシングルコア、Metal で凌駕。
マルチコアでは 8コア の A12Z Bionic と 10% 差である。

 

macOS

SoC Single Multi
iMac Core-i9
(Mid 2020)
1252 9069
MacBook Pro 16-inch
(Late 2019)
1099 6889
MacBook Pro 13-inch
(Mid 2020)
1241 4527
A14 Bionic 1583 4198

 

実際の Apple Silicon 版の macOS のベンチマークは Intel より速いらしいが、
GeekBench 5 では Intel Core i7-1068NG7 の MacBook Pro 13-inch とほぼ互角。

シングルコアでは Core i9 を超え、
マルチコアではモバイル版 Core i9 が +60 % 速く、 デスクトップ版では +116 % 速い。

6 コア 2.9 Ghz の A14 Bionic と 10 コア 3.6 GHz であるデスクトップ版の Core i9-10910 との差が倍ぐらいと言うのは面白いかもしれない。

 

A14X の予想

A12 と A12Z との差が マルチコア 1.86 倍、Metal 2.24 倍とのことなので、 次の iPad Pro は以下の様になるかもしれない。
Metal の数値はかなり怪しいが。

SoC Multi Metal
A14X Bionic ? 7808 28159
A14 Bionic 4198 12571

 

まとめ

今後の Apple Silicon の予想として、
iPhone 12 Pro と思しきものは少しスペックが上がり、
iPad Pro で倍ぐらい。

さらに Mac 用では 1.5 倍以上スペックが上がるのではないかと思っている。

Windows は Surface Pro X の Microsoft SQ 2 プロセッサが割と残念かつ Office の抱き合わせもあり端末が高いので、
Apple には頑張って欲しいところではある。

Apple Silicon とこれから

自分は何気に今後そのバージョンの Apple Silicon のラインナップはかなり増えるのではないかと思っている。

通常の A14 Bionic と iPhone 12 Pro に載せるもの、iPad Pro 用とメモリ容量、周波数、コア数で差別化する可能性があり、
現状でも細かな差はあるのだが、マーケティング用に A14 と A14X(Z) の間に新しい名前をつけそうな感はある。

とりあえず、iPad Air の A14 Bionic の A12 Bionic と比べた際に A13 から A14 への伸び率が低いため、Air より iPhone 12 Pro の GPU コアが増えたりするかもしれない。

 

GPU

自分の予想では GPU は AMD など外部の GPU を使用するケースは減り、A シリーズで使用している Apple GPU を使っていくのではないかと。

1つは、現状の モバイル向けの AMD Vega のスペックを見るに、Apple GPU もコア数を増やせばデスクトップ向けもできる可能性があるため。

もう1つは端末の表示と Metal の機能が他社の GPU より最適化できるから。

端末の表示と Metal の機能について具体的に言うと、
iPhone など Apple GPU を使用している端末は画面を一気に描画することなく、タイル状にブロック分けして部分的な描画を繰り返しているしている。
全体を1回で描画するより低コストで省電力となる。

また、Apple A シリーズは intel の内蔵 GPU と同じようにメモリーを共有しており、別で付けるディスクリートの GPU のようなビデオメモリは存在していない。

その代わりに Apple GPU では Tile Memory という高速にアクセスできるレジスタが存在しており、そこそこの処理をメインメモリにアクセスせずに終わらせる機能が A11 Bionic と Metal 2 から実装されている。

Tile Memory よって CPU の処理の待ち時間や GPU とメインメモリーの行き来を減らすことでメモリー帯域を減らし、高速なアクセスによるで電力消費低減と処理の高速化など GPU 性能を高めようとしている。

これらをわざわざ他社の GPU に合わせてちゃんとチューニングする必要はない気はする。

 

Neural Engine

現状、何ものなのか不明。

そもそもアプリ開発者側から Neural Engine へアクセスする方法がなく、iOS 14 で新しく追加された機械学習のフレームワークの MLCompute でも操作はできない。

初期の説明では Neural Engine は必要なときに処理されると言われていたが、 もしかすると OpenCL のようにほぼ OS 上でしか使われていないのかもしれない。

ただ、A14 Bionic でも強化されたということは iOS や macOS で使用する何らかの意味を持っているのだろうと予想される。

 

macOS の Apple Silicon について

Apple A12Z の入った開発者移行キットである Developer Transition Kit のネイティブアプリでベンチを測ると MacBook Pro 16inch の Core i9 を上回るという話なので、ラップトップとエントリーモデルのデスクトップ Mac ではその力で十分だろう。

ただ、上位モデルでは力が足りないため、馬力のある A14 をつくるか、複数のせ、もしくは複数重ねたり、基板を間に 2 つ A14 で挟むかもしれない。

いずれにせよ、A14 を大きくするか、複数を互いに高速で通信し合うか、なんらかの対処するのだろう。

個人的に Apple Silicon を含む主要部品をモジュール式にして、Mac mini、iMac、iMac Pro、Mac Pro へ抜き差しできたら面白いとは思う。

(もしくは、iPhone / iPad 差し込むと Mac になる PowerBook Duo 的なものとか)

 

その他

今後、Apple Silicon による Mac と iOS の融合があるとしたら、Mac のメニューバーは無くなるのではないかと思ったりはしている。

TouchBar がほぼメニューバーの機能を持っているので、TouchBar 付きの Magic Keyboard が出たらその予兆かもしれない。

例えば、外やリビングで iPhone / iPad を使用し、自室では Mac など操作の切り替えがあるのであれば、できるだけ OS 間の操作の違いが少なくなった方が扱いやすくなると思われる。

 

今後

Apple Silicon によって Apple は心臓部となる部分を自社製で掌握することになるわけだが、CPU や GPU の事業の本丸はサーバー向けであり、最終的にはそこに行き着くのではと予想する。

Mac Pro のラック型が出ているので、
Apple Silicon を使用した Mac Pro のサーバーというか、Xserve をまた復活させたら面白いとは思う。

Apple に行って欲しいこと 2020

iOS 13 がパブリックベータみたいな完成度で消費者はデバッガなのかなと思うぐらいの状態で、
OS の完成度が下がるくらいなら新しい機能を入れるなという感想がのこった 2019 年。

そして、バグ報告は Bug Report から Feedback へ変更され、いくつか報告してはいるが Bug Report には反応があったものが Feedback でなくなった。
そのため、もう自分は報告をやめてしまった。

また、iOS では多くの仕様変更により以前できていたことができなくなった点は厳しさがある。
現状修正されたものもあるが、日本語テンキー配列のキーぐい押しからのカーソル移動が空白(スペースキー)しかできなくなったためかなり使いづらいし、macOS の日本語環境で重大なバグがあるがいまだに修正されていない。

多くの日本人は英語でバグの報告をするのはハードルが高いし、Apple 関連の Tier1 的な著名人が訴えかけてくれるとは思えない。

とりあえず、次のバージョンでは OS 上の安定度をあげるべきで、
Android と差異が少なくなり利便性が増しているため、
Android へ乗り換える層が増える可能性もだろう。

 

環境 / サービス

このブログでいつも書いている気はするが、早い段階でバーチャルアシスタント Siri や HomeKit などを組み込んだものの、さほど生かされていない。

日本語の Siri は微妙かつ米国と比べ機能が少ないので頑張れとしか言えなく、英語やフランス語などと比べたらかなり機械音だ。
Siri での有用な機能として Apple News の読み上げがあるが、日本語対応がされていないため機械音的なものですらも読み上げることはできない。
HomePod の重要な機能が潰されているため、スマートスピーカーとしての価値を使う側もどう上げるか方法がわからない。

音の面で言ったら、AirPlay や Amazon Alexa が使える SONOS のスピーカーでも良いし、HomePod を日本の環境で売るのは至難の業だと思われる。

あと、Siri で微妙な点と言えば、
天気アプリからの天気予報は The Weather Channel からデータを引っ張ってきているが、日本での予報と比べるとあまり正確ではない。
何回か iPhone の天気予報に騙された人もいるだろう。

 

HomeKit 関連の製品では スイッチやライトなどあるが、日本のリビングではリモコンで制御する製品が多いため、あまり使い物にならない。

HomeKit 対応製品をつくる場合は MFi 加入かつ専用チップが必要であるため障壁が高いわけだが、
とりあえず、Panasonic に土下座して壁スイッチなど家の設備やメーカー各社に営業し家電に対応していただきたいところ。

iPhone を持つ層は割とリッチな人も多いので、家や家電にいくらかお金を払っても便利さを取る人たちがいるだろうし、家電との連携を制したら日本において iPhone / iPad は安泰だろう。

 

Apple Card が日本で対応するかは謎で、
日本では Apple 的に利点が少ないだろうし、Suica などがあるため利用される可能性が少ないが、
ひとまず Google StreetView 的な Apple Maps の Look Around は早く対応してもらいたい。

オリンピックに向けて Apple Maps の車も走っていたので StreetView 的な写真は撮っているだろうし、
わりと Apple Maps がまともになってきたので。

 

Apple TV+ は日本向けのコンテンツがなく、Apple Arcade もほぼないため、正直日本で売り上げに貢献できるか謎ではある。

Netflix や Amazon Prime や他の動画サービスも日本向けのものを提供したりしており、
Apple TV+ は1年無料の権利を失った際、新しい商品を買って継続して無料にならない場合は、
かなり解約される可能性がある。

Apple Arcade に関しては SNS 上で遊んでるユーザーはあまり見られず、そもそもローカライズされていないゲームもあり遊ぶという体験をするハードルが高い。
また、CAPCOM の潜水探検アクションゲーム「深世海 Into the Depths」は Apple Arcade で先行配信されたが Nintendo Switch の方での知名度の方が高いという悲しい状態になってしまっている。

 

開発

UI

アプリは OS やハードにとっての要なので OS で既に実装されている機能はできるだけ簡単に開発できるようになってほしい。
とりあえず、開発に関してはまずハーフモーダルを開発者向けに開放してほしく、アプリ毎に似た様なものを実装するのは無駄でしかない。

似た様なものを実装するという点で言えば、SwiftUI で各プラットフォームで同一の UI がある場合は実装してほしい。
サーチの UI、Map、動画再生などなど。

あと、macOS 以外でも標準のカラーピッカーを実装してほしい。
アプリ毎に違うものが実装されていて無駄だし操作間違いを起こしてしまう問題もある。

 

Pages、Numbers、Keynote

もういい加減に Pages、Numbers、Keynote などの iWork のファイルを開発者のアプリから作成できるようにしてほしい。
iWork の Microsoft Office 系のファイルのインポートは不十分なできだし、csv やプレーンテキスト的なものからインポートしてから編集するのはどう考えても無駄だ。
iWork のファイルはプロトコルバッファを使用しているため自前で構造を調べて作るのは明らかに面倒だし、開発者のアプリから iWork のファイルを書き出すことができれば影の薄い Pages、Numbers の使用率が増えるはずだ。

ついでにメモアプリへの書き込みとかも。
テキストだけでも自前アプリから書き込みできれば結構便利なると思われる。

 

Apple TV

tvOS でのブラウザを使用できる様にして欲しい。
メジャーなアプリがネイティブ UI で実装していないため、もう UI にこだわる意味がなくなってしまったし、現状アプリの撤退が激しい。

既に iPadOS でポインティングデバイスが使えるので、
tvOS もポインティングデバイスを対応し、iPadOS 並みの機能を持ち、
閲覧だけのデバイスから卒業した方が良いと思われる。

 

AirPods Pro

AirPods Pro の環境音用のマイク、ノイズキャンセリングの機能へのアクセスが欲しい。
環境音用のマイクに関してはイヤフォンを通して自分の頭付近の遮蔽物や風向きが取れそうな気がするので。

 

クリエイティブ向け

噂されているが Apple A チップシリーズで Logic Pro X, Final Cut Pro X, Motion, Compressor, Xcode などのプロ向けのアプリを出すべき。
このままでは iPad が微妙なプロユース向けのままで何も変わらない。

また、iPad をプロ向けで使わせたいのであれば、ホーム画面をデスクトップ代わりにする必要性があると思っている。
少なくとも、ホーム画面にファイルアプリでアクセスできるファイルのショートカットを置きアプリを起動できるようにすれは、アプリからファイルへのアクセスが1段回少なくなる。

 

ファイルアプリのファイル同期

ファイルアプリの同期的なボタンや機能を追加すべきだ。
自動同期であるためファイル同期がなかなかされない問題がたまに発生する。

 

ファイル共有

Pages、Numbers、Keynote のように各ユーザーでのファイルの編集共有を手軽に行える API を用意して欲しい。
自前で編集しているファイルの管理は面倒すぎる割に多くのユーザへの恩恵が少ないため。

 

CloudKit

他社の mBaas のような機能が欲しい。
ちょっとしたことでも他のクラウドサービスを使用する必要があるため、CloudKit Dashboard で Firebase にあるような機能が実装されて欲しい。

 

フォント

iOS / iPadOS の欧文フォントのフォントウェイト関しては 9 種類のバリエーションがあるのだが、和文フォントに関しては 3 種類しかない。

また macOS にあって iOS / iPadOS にない和文フォントがあるため、文章ファイルなどを開いた際に正しいフォントが適応されない。

Apple の Web ページで AXIS フォントを使用しているので、導入してほしい感じはする。

 

ハード

もう Apple A チップが intel チップ並みになってきてしまっているので、エントリーレベルの Mac をなくせば良いのではないだろうかと思っている。
正直、サイズのでかい MacBook Pro、iMac、iMac Pro、Mac Pro 以外もう必要価値はない気はする。
特に MacBook Air と MacBook Pro 13 inch は現状でもコスパが悪すぎる。

Apple TV がちゃんと iOS / iPadOS レベルの機能がつけば、Mac mini も殺せるだろうし、
ARM 版の macOS を出すより iPad を使わせるよう製品ラインナップにして誘導した方が良さそう。
(ARM 版の macOS に関してはアプリが揃わなかったり、Bootcamp 使用できなくなりそうなので、TouchBar 並みにユーザーへの利点が少ない感じがする)

 

その他

個人的な希望だが、
SwiftUI から HTML / CSS / JavaScript な Web アプリや Android アプリが作成できるようになったら、
WWDC 2020 でどっと世間が湧くのではないかと思われる。

Xcode などプロ向けのツールが iOS / iPadOS で使えるようになるのか

もうそろそろ iPad を低価格 Mac の置き換えをしてもらいたく思うが、本当のところどうなるだろうか。

ここ最近、有名な発信者からの情報で、iPad でアプリの開発環境である Xcode が発表されるのではと噂されている。

 

もし Xcode が iPad で動いた際に、多分使用する言語は Swift となると思われるが、Swift でアプリを作成する場合はいにしえの Objective-C よりもかなりマシンパワーを使うと予想される。

その代わりに、その端末であればシミュレータが必要なくなるため、シミュレータ部分のマシンパワーを取られずに済むのだが、
iPad は iPhone ではないため iPhone アプリを動かすことができず、初期の iPad の様にシミュレーションすることになるだろう。

もしかすると、Swift Playground の強化版程度で、ストアにアプリを申請する場合は Mac が必要になる形をとるかもしれない。

 

個人的な意見だが、iPad でコードを書いて、Apple がサーバーを用意しサーバー上でアプリの生成をするのであれば、自分のマシンを酷使しなくても済むとよくなるし、
認証関連の手続きも楽になるだろう。
まぁ、まずないと思うが。

 

では、もし iPad で Xcode が使用できる様になると何が困るかと、
iPad 自体にファイルアプリのアクセスできる Terminal がないため、
CocoaPods、Carthage の様なものが使用できない。

多分、他のファイルにアクセスできる Terminal が許されないような気はしていて、Swift Packeage を使えという尊い教えなんだと思われる。

 

一応、Final Cut Pro X も出るのではという噂だが、
こちらはこちらでアプリのプラグインが Intel の CPU で動く様につくられているので、
プラグインを動かそうと思った場合にはつくりなおす必要があるだろう。
(動画編集ではプラグインがかなり大事だったりする)

それ以前に、動画をエンコードするために処理しまくって iPad が使えなくなる状況を Apple が許すかどうかわからない。

こちらもネット越しにサーバーでエンコードするなどあれば、何とかなるだろうが、動画や画像などフッテージをアップロードするのも大変な気はする。

 

まとめ

Geekbench のスコアを見るだけでも、最新の Apple A チップはモバイル並みのスペックを持っているのが確認できる。

そのため、少なくともモバイルでは Apple A チップなど ARM 系の方が利点が多いと思われるので、
近い将来 Apple プラットフォームのモバイル端末は Apple A チップになるだろうと予想され、プロ向けのツールがどんどん iPad 向けに導入されるかもしれない。

iPadOS のアプリが macOS で使える Mac Catalyst なども考えるとその未来は近いのかも。

 

個人的には、以前も書いたが、
家にある使用していない端末の Apple A チップへ命令を送り、
余力を使って何らかの事前計算とかさせられないかなとは思っている。