皆さん、こんにちは。草のみきです。
宮崎哲郎です。
Off Topicは、アメリカを中心に最新テックニュースやスタートアップ、ビジネス情報を威力深掘りしながらご紹介する番組です。
今回のトピックは、互換性のあるソフトウェアについて話していきたいと思います。
はい、これは先週に引き続きですね、やっているというところなんですけど、
先週がAI Wearable、例えばAIデバイスについて話し始めて、
そこでハードウェア側としてはコンテクスト認識がハードウェア側では必要ですと、
周りの情報をしっかり収集して、それで認識するのが大事ですという話をして、
少しだけ多分終わりの方で、ソフトウェア側で互換性が必要みたいな話をし始めたと思うんですけど、
今日はその続きで、今後AIのイノベーションが発展するためには、
ソフトウェア側では互換性というサービス化をどんどんしていかないといけないのかなという話をしていくのと、
先週話したハードウェアの話と、今週話したソフトウェアの組み合わせがあることによって、
次世代のAIファーストのデバイスができるんじゃないかなと思っているので、
そこについていろいろ話していきたいと思うんですけど、まずは互換性の話からしていきますと。
互換性の重要性を知るためには、まずブラウザのところから話していきたいと思うんですけど、
ブラウザでいうと、昔ですとMosaicとかNetscapeとかいろいろあったと思うんですけど、
当時ブラウザを最初に開発してた人たちの中で何を最適化するかというのを結構悩んでたんですよね。
主に2つの方向性がありまして、1つはパフォーマンス、より早くサイトがロードするとか、
いろいろそこのパフォーマンスの最適化。
もう1つはより簡単に作れるようにする、サイトを作れるようにするのを最適化するという2つの軸で考えていて、
結構初期ユーザーとかブラウザ業界の人たち、どちらかというとパフォーマンスを最適化したかったんですよね。
当時はやっぱりネットワーク環境とかもそこまで、もちろん今ほど早くないので、通信も限られた状況なので、
できるだけパフォーマンスを上げてくれという話をしていて、それに対して逆の方向を行ったのが、
NetscapeとMark Andresenさんだったんですよね。
かなり良かった判断をいくつかしてまして、それが結果的によりサイトを作りやすくした判断だったんですけど、
一つは全てのプロトコルとフォーマットをテキストベースにしたんですよね。
もう一つのオプションとしてはバイナリー、いわゆる0と1。
裏方のプロトコルとかできたんですけど、テキストにすることによってHTTPという概念とHTMLという概念が生まれたんですよね。
当時は実は結構多くのエンジニアがそれを見て、なぜバイナリーにしないのかと。
どうしてですか?
バイナリーにすると、いわゆる限られた通信の中でテキストだとより多くの情報量を送らないといけないんですよね。
うーん。
であればバイナリーのほうがパフォーマンス的にはそっちのほうが絶対いいので、
そっちを選ぶべきなんじゃないかというのがまず一つ目でありまして、
二つ目の大きな判断は、ソースコードを見れるようにしたと。
未だにそうじゃないですか、サイトでソースコードって見れると思うんですけど、
これも結構批判があって、コピーされちゃいますと。
頑張って作ったものをコピーされるのはあまり好きではないですという人が多かったので、
ただこの二つの判断がインターネットをより拡散させた大きなきっかけとなって、
この二つの判断っていうのは実は一つのデザイン的な考え方、思考の中で生まれた判断だったと思うんですけど、
それが英語で言うとEmit Cautiously, Interpret Liberallyなんですよ。
これって慎重に排出してフレキシブルに読み取るっていう、
多分日本語で直訳するとそんな感じになるんですけど、
意味合いとしては、例えばウェブ上でサイトを開発している人であれば、
できるだけクリーンなコードを書くべきだと。それで慎重に排出しましょうと。
ただ、同時に間違いをしてもokな環境にしたかったので、
なのでブラウザー側は読み取るのをフレキシブルにするべきだと。
これは後々、例えばアプリとかPythonとかC++とか、そこと大きく違いがここにあると思うんですけど、
このデザイン思考の中であると思うんですけど、
例えばなんですけど、子供がいろんなサイトに行ってソースコードを見て、
いろんなパーツを自分のサイトにコピペして、それでそのサイトを出そうとすると、
一応なんとなくうまくいくんですよ。もちろん完璧ではないですし、見た目ボロボロかもしれないですけど、
一応ワークはするようになっていて、例えばそのスラッシュとかブラケットとか、
そういうのを入れなくても何とか読み取ってくれるんですよ。
いまだに例えばCSSのスタイルシートがなくても、ブラウザーは何かしら出してくれるんですよね。
そうですね。
でも例えばPythonとかPerlとかC++とか見ますと、基本的に全部が完璧じゃないといけないんですよね。
一つでもスラッシュがずれてたりすると、そもそも読み取れませんみたいな。
なのでそのウェブの中ですと、HTMLっていうものは汚くてもいいっていう。
これってある意味生物学的な考えでもあるんですけど、
人間の中身の中も完璧ではないので、いろんな間違いがあるんですけど、それでもうまくワークすると。
なので完璧を求めすぎますと何が起こるかというと、それができる人が限られてしまう。
そうすると普及されない、普及スピードが落ちてしまう。
だからこそシステムを構築するときにはウェブの場合ですと、より耐久性があるもの、いろんなエラーとか耐久性があるものを作るのが大事だと。
そういう意味での互換性っていうのをブラウザーの中だと元々の考えとしてあって、
これってなぜ重要なのかというと、今のアプリ開発とかですと、
どちらかというと先ほどの話、PythonとかPerlとかそういう系のものなので基本的に完璧が求められる。
それに対してもちろんAIコーディングツールとかCopilotとか使ってより開発とか、
開発スピードを上げたりするっていうのはできると思うんですけど、
そもそも全然違う形でAIの活用って考えられるのかなと思っていて。
例えばなんですけど、デバイスごとに結構アプリを変えないといけなかったりするじゃないですか。
例えばiOSのアプリとAndroidのアプリって別々で開発しないといけないじゃないですか。
それをやらなくていいような時代ってくるんじゃないかなっていう。
iOSのアプリを作ると別にどっちでもいいんですけど、
それをAndroidで表示しようとすると、
AIが勝手にそこでAndroid携帯用に表示してくれる。
結局今ほとんどの人ってiOSから始まるじゃないですか。
すべてブラウザの中で生きていて、ブラウザ自体がOSになると。
これも過去に例えばStripeの戦略の中で薄いレイヤーになるっていう話をしたと思うんですけど、
これってすごい似たような話だなと思っていて、
一つの薄いインターフェースによってすべてのアプリとコンテンツをどのデバイスでもアクセスできるようになると。
でもここで多分めちゃくちゃ重要なポイントって互換性のポイントで、
アプリにアクセスできるできないところって、
例えばiOSのものだとAndroidのものにアクセスできなかったりするので、
なんですけどブラウザのレイヤーですと基本的にできるんですよね。
そこってやっぱりすごい大きなことだなっていうところですし、
そもそも未だにまだ他のいろんなスタンダードとかプロトコルってあるんですけど、
ある程度イノベーションが可能なプロトコルでいうと、
やっぱりHTTPとかはまだあり得るんじゃないかなと思うので、
そのトレードオフっていうか、イノベーションとプロトコルのトレードオフの部分でいきますと、
HTTPって多分一番バランスが良くて、オープンなのでいわゆる全世界にリーチができる。
どうしてもiOSの場合ですとAppleユーザーにしかアクセスできないので、
そういう意味ですとそれ以上のタム、市場規模があるっていうところは大きいなっていうところですね。
その分難しそうですね。
そうですね。そこはありますよね。
ただ一応AppleのデバイスでもAndroidのデバイスでも、
多くのデバイスの中ですとブラウザにアクセスするっていうのって可能だったりするので、
インターネットにアクセスするっていうのは結構ベースとしてあったりするので、
そういう意味ですといろいろ可能性はあるのかなと思ってますし、
最近、去年末にMetaのCTOでリアリティラボのトップのBozさんという方がいるんですけど、
彼が話してた中ですとQuest 3でやっぱりより人気になっているアプリって何かって聞かれた時に、
やっぱブラウザって話してるんですよね。
使われてるんですね。
使われてるっぽいですね。
多分Vision Proも結構ブラウザが初期、最初に結構重要になってくるんじゃないかなと思っていて、
なぜかというとやっぱりアプリ数が足りないので、
どうしてもブラウザにアクセスしないといけないっていうところ。
そこをうまく活用、こういうアークとか活用できれば結構大きいのかなと思いますし、
その本が欲しいので。
なるほど。
逆に気にするのであれば、AIはそれを加味してくれると思うので。
でも多分そこを結局どこまで気にするのかっていう部分でもあると思うんですけど、
気にしない人に関しては、
AIに関してはそこを一つのインターフェースで成立させられる。
もちろんその中で選ぶこともできるようにすると思うんですけど、
それこそ例えばメッセージアプリでも同じだと思うんですよね。
今結構いろんな人とコミュニケーションを取るので、
LINEを使ったり、メッセンジャーを使ったり、
WhatsAppを使ったり、テレグラムを使ったりするんですけど、
それこそそれを統一させるアプリとかってよくあるじゃないですか。
それと同じようなものをいろんなカテゴリーでAIが勝手に行ってくれると。
なので一つのフィードなんですけど、裏方でAIが全部サービスを裏方で動かしてくれてる。
そういうようなインターフェースができるんじゃないかなっていうふうに思いましたね。
そこで例えばショッピングっていうボタンが欲しいのか、
靴のショッピングと家電のショッピングって分けたいのか、
そこら辺に関してはユーザーに合わせてどんどん変えてくれるっていうところなんですけど、
場合によっては本当にNetflixが好きとか、本当にNikeが好きな場合とかですと、
それ専用のアプリとかも勝手にユーザー側が作れる。
今までアプリ開発者がアプリを作ってそれをユーザーが使うっていう概念だったんですけど、
逆にユーザー側がアプリを作って、
それに合わせてAIがそこに適した情報を集めてくれる。
そういう世界観っていうのが見えてくるのかなっていうのを思いましたね。
Apple TVプラスのAmazonプライムなんか遷移させてますよね。
そうなんですか。
Apple TVプラスのアプリ上でAmazonにある映画が検索では出るようになってて、
いろんなサイトが出るようになってて、結局はAmazonのアプリに遷移しちゃうんですけど、
そこの中で見れるっていうのはちょっと近いのかなとは思いました。
確かに。でも複数のアプリをバンドル化するみたいな概念っていうのはすごい似てるかなと思うので、
いろんな領域を超えて、例えば動画だけではなくてエンタメ全般ボタンも作れるようになる。