どうも、バスケです。サンフランシスコの近くでエンジニアをやってます。2000年代の初め、Mac OS Xが出た頃から5年ほど、MacPower誌において「バスケの言い分」というコラムを書かせてもらってました。
久々に文章を書きませんか?という依頼をいただきまして、それではあのときの続きということでこのタイトルとなりました。今回は僕がハマっていることについて広く書いて良いということなので、Appleのことだけでなく3Dプリンタとか他のエンジニアリングトピックも拾っていければと思います。よろしくお願いします。
さて僕は古くからのMac周辺のエンジニアでして、かれこれ35年ほどAppleテクノロジーと共に生きてきました。
しばらくアプリとか作ってなくて熱もすっかり覚めたなーと思っていた2023年の6月、WWDCで発表されたApple Vision Proにいたく衝撃を受けてまして、そこからVision Pro発売日である2月2日(日本時間では3日)に向けてアプリをゼロから作り始め、半年間頑張った結果、先週ようやくアプリ「Cube Real」をApp Storeにサブミットすることができました。
明日(これを書いている時点で米国時間の2月1日、つまり発売日前日)Apple Storeに行ってデバイスを手に入れてくるので、ダウンロードして試すのが楽しみです。
▲2月2日に米国で発売
▲Apple Vision Proアプリ「Cube Real」
僕をそこまで突き動かしたのは何か。Vision Proというプロダクトにも惹かれたのはもちろんなんですが、エンジニアとしての興味はVision Proを支える下回りであるvisionOSと、Appleが提唱する新しいコンセプトである空間コンピューティングという考え方のほうでした。今回はこの辺りを開発者視線で追ってみたいと思います。
「単なるVRヘッドセット」なのか
アメリカのメディアにはVision Proの発売日を前にしてデバイスが配られているようで、発売前のこのタイミングで大手のメディアからはレビュー記事が一斉に出てました。
それらレビューを読んで内容自体よりも気になったことが「Appleはそう呼ぶなと言ってるけど、結局はVision Proは単なるVRヘッドセットなんだから」というような主張をしているレビューが結構多かったことです。そうなんでしょうか?
例えばこれが、テスラのレビューだったとしたらどうでしょう。「いろいろ装備は新しいし電気自動車だしかっこいいけど、結局は車なんだから」という主張をする人がいたとしても、それはもっともだなぁと思います。先進性、段違いの使い勝手、それら全てが別次元のものであっても結局は車、空を飛ばそうとか車に住もうとか新しい概念が生み出されているわけではありません。
例えが古くて申し訳ないのですが、もし初代のMacintoshが発売されたときに、これを評して「単なるパソコンでしょ、IBM PCと変わんないじゃん」などと言ってる人がいたらどうでしょう?
確かにMacintoshはパソコンの筐体でした。コンパクトでデザインもよい、素敵なパソコンです。でもそれまでのパソコンとは明らかに違った。新しいものがそこで生まれていたのは歴史を見れば明らかでしょう。
さてVision Proはどうなんでしょう? Appleの主張を見れば、これは空間コンピューティングというものを実現するデバイスで、単なるVRヘッドセットではない、と言っています。
まずはこの主張を正面から受け取って、どの程度の妥当性があるのか真摯にレビューしてみたいと思います。レビューする側が、最初から「空間コンピューティング」は単なるマーケティング用語にすぎないと先入観に囚われないようにする必要があると思うのです。
もしレビューの論調が「空間コンピューティングを目指していると言っているが、現時点では所詮VRヘッドセットと違いないよね」という指摘であれば納得できます。言いたいのは空間コンピューティングという概念を単にマーケティング用語としてしかとらえる前に、もうちょっと考えてみましょうよ、ということなのです。
空間コンピューティングとはなんなのか
そうなると本当の主役は空間コンピューティングを実現するvisionOSです。そしてOSというのが大事で、それは単にVR/MR環境のアプリが作れる基盤を提供するというだけでなく、そこで動くアプリをオーガナイズし、共通の決まりごとを守らせて、統一したユーザー体験を提供し、さらにはアプリ同士が協調してユーザーの助けになるというような役割を持っているはずです。
「はずです」というのは、そこで語られるはずの空間コンピューティングのもたらすメリットというものが、残念ながらまだちゃんとした説明はAppleからはなく、なんかふわっとしてるからです。なので単にマーケティング用語と捉えてしまう気持ちもわかります。
ですが、開発者としてアプリを作るために膨大な量のドキュメントやビデオに目を通したものとして言わせてもらうと、少なくともAppleは生活のなかに調和のとれた心地よい空間を実現するOS、そしてデバイスを作ろうと本気なんだな、ということは感じられます。
例えば視線の使い方。視線だけでポインティングするため、ユーザーの目の疲労を最小限に抑えるための配慮が細かくなされてます。オブジェクトの配置、大きさの設定、色の使い方、ウィンドウの重ね方、こうした細かいことを丁寧に定義しているのです。
さらにプライバシーへの配慮も忘れていません。どこを見ているのは、というのはプライベートな情報でそれを勝手にアプリに使わせるということはしません。アプリが勝手にこうした情報を使ってしまうことを防ぐために、わざわざ別にハイライト専用の描画に特化した別のプロセスを立ち上げてセキュリティを確保する、ということをやってます。
この辺は他のVRの先駆者たちが歩み生み出してきた成果を、綺麗に取り込んでいる感じがします。さすがApple、容赦ないなと感じます。
ジェスチャーもそうです。VRヘッドセットなら当然用意されているハンドトラッキングですが、通常のウィンドウモードではあえて使わせないという判断をしてます。これは標準のジェスチャーを邪魔してしまいかねないからだと想像します。
ハンドトラッキングが使えるのはイマーシブ環境(これが空間全体を使えるVR環境)に入ってから、しかもユーザーの許諾を得てからとしていて、他のアプリに迷惑のかからないための線引きを行なっているように思います。
visionOSが既存のVR OSから一歩先へ行こうとしているのは、ガイドラインに従ったアプリが空間に共存して統一感ある操作体験を維持しつつ新しいアプリを導入していけることだと思います。
それこそ80年代、アプリがそれぞれ好き勝手に画面をデザインして使っていたそれまでのパソコンの時代から、共通のUIという概念を導入して操作感を統一してユーザーの操作感に秩序を与えた初代Macintoshの革新に近いことなんだと思います。
まずは2Dのウィンドウが空間上に開く、既存のUIフレームワークを使って画面を定義する、そこから徐々に3D空間を使いこなしていき、なんなら全空間を自分の自由にできる。
こうしたシナリオを用意してくれているのはデベロッパーにとって大きな取っ掛かりになり、何もないところからアプリを作り始めなくてはいけなかった既存プラットフォームに比べて大きなアドバンテージとなってます。
空間にアプリを作るのだから全て3Dでなくてはいけないという先入観を取り除いてくれる効果もあり、僕みたいにこの分野に未経験だったものがなんとかゼロからアプリを完成させることができたのも、このOSのサポートのおかげであり、それは機能にとどまらずガイドラインなどデザインの指針も大きく貢献してます。
白紙とオーガナイザ
よく使われる比喩ですが、パソコンとスマホの情報の扱い方の違いを白紙とオーガナイザとして例えることができます。どういうことか。
白紙とはその名の通り一枚の紙です。鉛筆でメモも取れます、クレヨンで絵も描けます。折りたたんで立体物を作ってもいいですし、燃やして焚き火の種火にすることだってできます。どう使われるか紙は知りませんし、なんの期待もしてません。
白紙に書いたものは他の形に使いまわせます。まず白紙に鉛筆で秘密のメモをかき、クレヨンで装飾して、きれいに折りたたんで相手に渡す。もらった人は開いて読んで、冷蔵庫の扉に貼り付けたり、秘密を守るために暖炉に放り込んで燃やしたり。自由度は無限大です。
一方でオーガナイザ。このスマホ時代に使っている人を見つけるのは難しくなってしまいましたが、要はバインダに挟まった手帳です。そこにリフィルと呼ばれる様々な用途の紙を差し込んで、使用目的を固めていきます。
リフィルには、カレンダーもTo Doリストも将来計画ノートもあり、白紙でさえ用意されてます。自由にアレンジはできますが、バインダに挟んで手帳の形で持ち歩くというスタイルは変えられません。
▲オーガナイザの代表格Filofax
パソコンの使われ方を考えてみると、ファイルが中心になってます。情報はファイルの形をとっている。アプリもファイルもわりかし並列に存在している環境であり、データを何のアプリで開くのかの判断はユーザーに大きくゆだねられています。
その意味では白紙の使われ方に近いのです。情報をどう調理するかは、どのアプリを開くかによって決まる感じ。その結果もファイルとして残る。
一方で、スマホやタブレットではファイルの扱いは低いです。まずアプリを開き、そこでデータを作る。他のアプリで加工したいのでデータをエクスポートして、そっちのアプリでデータを受け取り更なる加工をほどこす、などなど。
とてもデータ中心のワークフローで便利なんですが、決められた枠から外れるのは難しく、全体の使用感としてはオーガナイザに近い感じ。
さらにスマホ・タブレットには画面の大きさという制約があって、いろいろなことができて便利なんだけど、アプリの切り替えが必要で狭い画面を取り合いながら頑張って使っているというのが現状ではないかと思います。ここ数年のiPadOSの進化の方向は、いかに限られた画面面積を有効に使えるのかという試行錯誤に見えます。
ここでVision Proに話を戻して、この新しいデバイスは白紙なのかオーガナイザなのかどっちなのかというと、当然ながらオーガナイザに属しているとみて間違い無いでしょう。スマホやタブレット側の存在といえます。
そう考えると、よく言われているVision Proとパソコン環境との比較というのは実はちょっと的がずれていて、Vision Proが実現する空間コンピューティングというのはタブレットで実現したかったマルチウィンドウの進化系と考える方が自然でしょう。オーガナイザで言えばバインダから飛び出して壁一面にリフィルを貼り付けられるようになった自由度でしょうか。
それはそれで嬉しい進化なんですが、正直なところちょっと物足りないんです。開いているアプリ同士は連携しているのか?と言われれば、これまでのiOSのアプリ同士が連携している程度には繋がっています。でもそれまでです。新しいつながりというのはありません。
新しい繋がりって何?と聞かれると思いますがそんなものは知りません(笑)。ただこれまで平面の有限の世界に閉じ込められていたウィンドウが3D空間に飛び出し自由になるのですから、ここにはなにか新しい仕組み、仕掛け、もっといえばキャッチーなギミックがあっても良かったのではないかなぁ、と感じます。
確実に足りてないなと思うのはウィンドウのマネージメント機能ですね。ウィンドウを開くこと、場所を指定することというのが、まったくアプリケーションの自由にならない。
誤解しないでいただきたいのですが、ユーザーから見ると完全に自由なんです。アプリケーション側からコントロールすることができないということです。ウィンドウが開くのは完全にシステムが決める。せめて自分のウィンドウから新しく開くウィンドウについては相対的な位置ぐらいは決めさせて欲しいところなんですが。
上で述べたことの続きなのですが、ユーザーに完全のコントロールがあるということは、全部ユーザーが管理しないといけないわけです。ウィンドウをたくさん開いたらもうすぐに面倒くさくなります。
Macならここでウィンドウ管理用のエクステンションを導入することでしょう。でもvisionOSにはまだそういう用意は全くありません。しばらくはユーザーが自分で管理しないといけない。ここは優先度を上げて解決していって欲しい部分です。
スタート地点に立った空間コンピューティング
というわけで現状のvisionOSに不満はありますが、まずは基本を固める、VRヘッドセットができることはそのままに、その周辺環境を作り込みアプリとアプリが共存する環境を提供し、ユーザーが困ることのないように下回りを徹底的に安定させるという部分に関しては余裕の合格点をつけることができるでしょう。進化はここからに期待したいです。というか期待しかないです。
拡張性と安定という相反するテーマに挑み続けたMacとiOSの進化の歴史がここで生きてくると思います。Macはもともとオープンな世界だった。白紙なので好きに使える、カーネル機能拡張もツッコミ放題、システムの大事な部分にも比較的簡単に変更を加えることができていました。
それが20年の歳月をかけて拡張できることを絞りに絞って安定化とセキュリティを高めてきました。逆にiOSは全くのクローズドな環境から始まり徐々にエクステンション、拡張できるけど管理された穴をシステムに開け始めて、一定の制限下ではあるけど少しは拡張していける環境になってきました。
visionOSがiOSのモデルをベースに始めるのは、今の時代には当たり前のことでしょう。セキュリティを意識しないシステムは、この時代には生き残ることはできません。ここから徐々にAPIやフレームワークを拡張していき、開けるところには拡張できる穴を安全性を保ったまま開けていく、という数年が続くものだと思います。
その歩みはiOSの経験を活かして随分と早いのではないかと期待しています。これから数年は楽しみが尽きなさそうで、また毎年のWWDCが楽しみになってきました。
最後に。ティム・クックの作り上げたジョブズ後のAppleに僕は絶対的な信頼を寄せてて、やることなすこと突っ込む隙もなく安心してみていられるのですが、ちょっとだけ贅沢な愚痴を言わせてもらうと少し面白みというか遊び心に欠けるところはあるなと。
いや、遊び心も十分あるんですよ!楽しませてもらってますけどね、ちょっとね。たまには、オイやりすぎだよ!って突っ込ませてもらいたい、そんな気持ち。
そう思うとジョブズは上手かったなぁと思い出すのがMac OS Xの登場当初、ウィンドウがドックに引っ込む時に変形しながら収まるジニーエフェクトを自慢げにデモしてて、あの時の自分は「そんな派手な機能をつけてないで基本的な部分をもっとしっかりやってくれ!」って怒ってたんですが、ユーザーの気持ちを掴むためにはああいうのも必要だったんだなぁと今になっては思ってます。なんて僕も歳をとったんですね。丸くなってます。
まぁ、あの当時のMac OS Xは本当に下回りがボロボロで明らかに僕の意見は正しかったんですけどね(笑)。