2.2 HarmonyOS试图解决的问题
从操作系统发展史回顾中,我们可以看到,每一个成功的操作系统在其诞生时,都能够解决彼时在某些特定领域困扰使用者的重要问题。这些问题林林总总,有的操作系统解决了高效使用硬件的问题,有的操作系统解决了操作系统碎片化的问题,有的操作系统解决了跟用户高效交互的问题,还有的操作系统通过开源的方式解决了操作系统使用成本过高的问题。
HarmonyOS是面向智能终端的新一代操作系统,智能终端在万物互联时代面临的问题就是HarmonyOS需要解决的问题。在万物互联时代,智能终端将面临各种各样的问题,这些问题并非全然属于操作系统的范畴,而是需要操作系统设计者和生态合作伙伴一起努力才能解决。对于操作系统,我们认为需要解决的主要问题如下。
1. 用户程序生态割裂问题
用户程序生态割裂问题主要表现为用户程序与某类设备进行捆绑,即设备A的用户程序在设备B上无法安装或运行。当前智能终端的用户程序生态基本都是割裂的,手机上的用户程序无法安装或运行在电视或车机上,反之亦然。这种生态割裂严重影响了用户的体验,为了弥补这种体验缺憾,当前的一种解决方案是开发者为不同设备开发不同的App,这浪费了开发人力。更严重的是,非智能终端由于其操作系统的限制,基本无应用生态可言,开发者即使愿意开发多个App也无能为力。这就需要操作系统支持将智能终端生态引入更多的IoT非智能设备,包括将某一类智能终端的生态引入另一类智能终端设备。
2. 用户数据割裂问题
用户数据割裂问题主要表现为用户数据和单台物理设备进行捆绑,即存储在设备A上的数据很难被设备B访问。当前,智能终端的用户数据基本是割裂的,用户手机上的用户程序无法或者很难访问另一台设备上同一用户程序的数据,这里提到的另一台设备可能是智能手机、平板计算机或其他智能设备。为了一定程度地弥补用户数据割裂的缺憾,业界设计了一些支持数据互通的方案。譬如,通过云服务转存的方式支持照片、通讯录等数据在多台端侧设备之间同步;通过数据克隆的方式把一台智能终端的数据恢复到另一台设备上;通过磁盘映射的方式进行访问;还有一些应用级的跨设备同步方案。这些方案可以在一定程度上解决数据互通的问题,但这些方案对用户并不友好,需要用户付出额外的成本,如云侧的存储成本,或者需要用户对计算机技术有一定的了解,而且手动操作步骤烦琐,难以做到让用户无感知地操作。大量的用户数据存储在不同的设备上给用户带来的另一个困扰是,用户需要记录数据和设备的对应关系,否则可能无法获取需要的数据。这就需要在操作系统层面能够彻底解决智能终端间的用户数据割裂问题,用户无须关注数据存储的具体物理位置,系统支持跨设备的数据访问、存储、搜索和权限控制,给用户带来无感的、一致的数据访问体验。
3. 软硬件能力割裂问题
软硬件能力割裂问题主要表现为软硬件能力和单台物理设备绑定,即设备A无法使用设备B的软硬件能力。当前,智能终端操作系统的设计逻辑是仅管理单一设备的软硬件资源,在万物互联时代,这种“只关注个体,不关注整体”的设计理念在个人智能设备越来越多的趋势下将造成用户体验的割裂。小型设备无法容纳更多的硬件,自身能力有限;其他设备的大量硬件资源无法复用,难以达成“以用户为中心”的体验目标。这就需要操作系统能够跨设备管理软硬件资源,用户可以将其中一台设备作为入口,便捷地使用其他设备的软硬件资源,达成“1+1+1+… > N”的效果。
4. 多设备交互割裂问题
多设备交互割裂问题主要表现为试图用单设备的交互逻辑来解决多设备的交互问题,对用户而言,交互逻辑不是统一的、一致的,而是割裂的。这种交互给用户带来更多的是不解和困扰,以及无所适从。传统单设备的交互方式基本满足用户的交互需求,如何让用户像操作单设备一样简单地使用多设备?除了鼠标、触摸屏等传统的交互方式,能否让一台设备作为另一台设备的输入工具,如手机作为空中鼠标,或者设备之间相对位置的变化作为交互的一种输入?如何使用更自然的交互方式?如何减少多设备之间重复的提醒和通知?诸如此类问题,都是要在操作系统层面上解决的问题。
5. 其他需要解决的问题
除了上述提到的4个割裂问题,如何实现设备之间的安全认证和数据保护、如何向用户程序开发者提供一套支持跨设备的开发框架等,都是需要解决的问题。