如何看待小米于10月26日发布搭载澎湃OS 的小米14 系列?有什么亮点和不足?
“以人为中心,打造人车家全生态操作系统”,当看到这句宣传词的时候,我还是有点儿感慨的。
宝秋叔在 2019 年时就明确喊出了“以人为中心,互联互通,多模态交互”。说真的,这块还是得佩服宝秋叔的技术眼光,在研究了鸿蒙的宣传之后,他马上就抓住了本质,并且结合小米的实际情况提出了发展方向。
然而在那个时间点,小米不少人对操作系统的认知还停留在 90 年代 Linus 搞 Linux 的时候,所以操作系统=Kernel。一个 Kernel 当然不可能分布式的跑在多个设备上,所以大家也没有太多信心在那个时间点就直接喊出类似现在 HyperOS 的概念,还是低调一点儿先做更看的见摸得着的 IoT 操作系统,也就是后来的 Vela。宝秋叔也只能从 AI 和小爱这个角度,去讲“以人为中心,互联互通,多模态交互”。
但实际上在近些年的发展中,操作系统早就不仅仅是 Kernel 这么一点儿了,安卓用的也是 Linux Kernel,但谷歌为什么得养那么大的团队来开发安卓?因为上层的各种库、GUI、各种开发框架、编译器、IDE、Toolchain,这些都是现代操作系统必不可少的组件,而且做起来极其消耗人力。
另外,考虑到互联互通和多设备协同,如今操作系统的概念还在继续延伸。
我在多个设备上分别跑各自本地的操作系统,可以是安卓,可以是 Linux,也可以是某个 RTOS,当把这些设备可以联合起来一起做一些事情,那这些设备集合起来的整体在某种意义上来说也算是一个操作系统了。而这其实就是一个全新的领域了,各家也都是在探索的,目前也确实没有什么现成的东西可以抄。
在我看来,鸿蒙亦或者澎湃最重要的其实就是“以人为中心”,这里面也蕴含了一个范式转换。至于其他的所谓各种自研,掏空安卓,统一各端的开发框架,不能说没用,但并不是最重要的。
这里可以举一个偏技术一点儿例子,因为我不是嵌入式工程师,所以细节难免有些不准确的地方,理解精神就好。
对于 Vela 使用的 NuttX,实际上有三种内存模型:
一种是不分内核态和用户态,大家都同一个地址空间也没有保护;
一种是分内核态和用户态,但用户态多个进程之间的地址空间也是一样的,可以互相访问到;
最后一种就是标准的 MMU 模式,内核态和用户态分开,同时用户态每个进程都是自己的地址空间,互相看不到,OS解决内存地址映射的问题。
为啥需要支持三种模式?
本质原因就是 IoT 设备的能力差距巨大。
简单举几个例子,就拿一个灯泡来说,它最多也就是收个指令开还是关,这要什么内核态、用户态区分?即便你真的想搞,处理器压根都不支持保护模式,你能怎么办?而对于冰箱、洗衣机这样操作复杂一些的,这种可能就要分用户态内核态了,但也不需要啥多进程,因为也没啥应用可装。再复杂一点儿的,摄像头、智能音箱,大概率得上标准的 MMU 模式了。对于更复杂的带屏音箱、智能手表,NuttX 或者说 Vela 来支持都有些吃力了,因为 GUI 的比重非常大了。
在这种情况下,你说我非要开发一个适配多平台的“统一”开发框架,真的有必要吗?灯泡上能跑起来什么框架?
当然非要杠的话,也可以说做一个可裁剪的框架,然后根据设备的能力装不同的部分上去,是不是也算统一框架?技术上说当然可以,但实际上再仔细往深入想一层,就发现这种思路其实还是被束缚了,还是“以设备为中心”。
假设我现在基于所谓统一的开发框架写一个应用,它一次写完能跑在不同的设备上,然后安装的时候根据不同设备的能力和需求对系统功能进行裁剪,但真的就行吗?
比如在电视上装微信,我们需要电视上的微信干什么?难道就是根据电视的能力把手机微信上的功能进行裁剪然后把可以支持的功能从手机完全镜像一下?但问题是所有人大部分时候手机都不离手,那电视上那个微信有什么用?
发现问题在哪了吗?在真正的场景里,设备与设备之间不是孤立的,关键要看场景里的人期望这个设备做什么,也就是上面提到的“以人为中心”。
对于这个微信的场景,你把自身代入进去,稍微一想就能明白,其最大的应用场景就是视频通话,直接投到电视上展示,然后用电视的声音输出,如果电视有摄像头有麦克风,就更方便了。并且还有一点,大家都知道电视上用遥控器也能输入,但不会真的有人想在电视上用遥控器控制那个虚拟的键盘一个字一个字输入,然后和人微信聊天吧?
所以这么看就很清晰了。
统一开发框架,然后多端跑,不是说它没有用,关键在于它要符合实际,要“以人为中心”。
因此,将各类应用以及需求针对各种场景重新做设计,让不同的设备做不同的事情,相互辅助打造一个统一的体验,这才是一个“系统”应该有的样子,而不是简单的把应用 port 到不同的设备上。
但是这个事情在技术上到底该怎么做,或者说到底该怎么抽象出各种开发接口,把所谓的“支持分布式架构的开发框架”具象化,其实现在也没有人知道。
鸿蒙很早就提分布式总线,后面又提原子化能力,其实就是在不停的做尝试。这块我觉得小米是很有优势的,因为小米的设备最全,有手机,有平板,有手表,有手环,有电脑,有电视,有音箱,有路由器,有门锁,有摄像头,有智能插座,还有一大堆一大堆的设备,以及即将到来的汽车,他们能发掘出无数的场景。
事情永远是做出来的,不是坐在办公室里想出来的,只要小米真的下功夫做多设备协同以及优化他们的体验,然后再一个场景一个场景的做深、做透,那这个所谓的抽象层到底应该是什么样子,自然而然就出来了。
所以这次小米提出这个 HyperOS 的概念,我是非常看好的。
最后再说一些实际上并不重要,但这几天口水最多的话题,就是那些自研、兼容安卓,为什么不用鸿蒙之类的。
实际前面我已经说了,如今 OS 的概念早就已经超出单一设备的范畴了,还在纠结单个设备上是啥,是不是自研,其实是舍本逐末。当然非要聊的话,我可以确定,小米手机上跑的澎湃 OS 和原来的 MIUI 不会有太大的差别,并且一定是会兼容安卓的。
只要理解了整个安卓生态的运行模式,做出这个判断其实非常简单。当年谷歌所谓的“断供”,是断供的安卓吗?并不是,AOSP 就是个开源项目,没法断供,断供的其实是 GMS。
GMS是海外整个安卓生态的核心,如果没有 GMS,手机在海外基本等于一块砖,主流的大应用一个都装不了。谷歌为了确保安卓生态不分裂,跟所有使用安卓的厂商都会签 ACC 和 MADA,也就是 Android Compatibility Commitment 和 Mobile Application Distribution Agreement。这两个协议基本上禁止了相关厂商基于安卓来改出一个不兼容安卓的系统,如果违反协议,后果就是被禁掉 GMS,手机直接变砖。
如今小米、OV 甚至是传音基于安卓搞一个不兼容安卓的系统,那代价就是海外被禁掉 GMS 然后几乎丢掉整个海外市场。换句话说,如果他们用了鸿蒙,那必然就是这个下场。
国家现在提倡的也是国内国外双循环,我们需要有公司能彰显国家的顶尖科技实力,也需要有公司能打开海外市场,给国家赚取外汇。都是利国利民的好事,为什么非要捧一踩一搞对立呢?
另外,在雷总的预告里只提了“基于深度进化的Android以及自研的Vela系统融合”,没有明确提后面上市的车会用什么系统,这里我还是希望小米能上一个自研的系统的,为什么呢?
第一,ACC 协议是不分设备类型的,意思就是说,你在非手机的设备上通过定制安卓做了一个和安卓不兼容的 OS 出来,谷歌可以按照违反 ACC 协议给你的手机断供 GMS。手机已经是既成事实了没有办法,但是汽车上谷歌也没干啥,大伙儿没必要把谷歌在车机上的地位想象成谷歌在手机上的地位,说的不好听一些,就是没必要在车机上硬捧谷歌;
第二,Vela 想搞定车载系统还是比较吃力的,因为 GUI 太重,和一般的 IoT 设备不是一个难度。所以直接用 Vela 也不太现实,最好还是自己研发一个基于 Linux Kernel 的 OS 比较好;
第三,小米自研过一个电视的 OS,代号 Mina。这个Mina OS是脱离谷歌,基于 Linux Kernel 从头自己搞的。如果以Mina OS 为基础,做一个车载 OS 出来还是很有希望的,汽车是一个比手机还大的产业,完全是值得多投入一些的。
总之,对于小米这个新的 HyperOS,我还是很看好的。希望小米后续不要只停留在宣传上,而是真的增加投入,深耕各类场景,真正把多设备协同的体验做好,前途是光明的!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
挟好物
校验提示文案
挟好物
校验提示文案
挟好物
校验提示文案
挟好物
校验提示文案