鸿蒙(HarmonyOS)人机交互规范

在全场景的数字体验中,越来越多类型的智能终端设备分布在用户的日常生活中,可交互用户界面广泛存在于智能手机、平板、PC、智能穿戴、电视、车机、虚拟现实(VR)和增强现实(AR)等设备上。应用可能在多种设备上运行或在单一设备上被用户通过多种输入方式操控,这需要其用户界面能够自动识别和支持不同的输入方式,以便用户以习惯的、舒适的方法与其进行交互。

mockup

在全场景的人机交互上,HarmonyOS 的核心思想是「根据用户的状态,提供符合当前状态的交互方式,保证用户交互体验的一致性」。例如,当应用运行在触屏设备上时,用户可以通过手指长按打开上下文菜单;当应用运行在 PC 上时,用户则可以通过单击鼠标右键打开该菜单。典型的输入方式包括但不限于触屏上手指 / 手写笔等直接交互、鼠标 / 触摸板 / 键盘 / 表冠 / 遥控器 / 车机摇杆 / 旋钮 / 手柄 / 隔空手势等间接交互、语音交互。

设计和开发应用时,设计师和开发者应考虑到应用具有使用多种输入方式的可能性,保证在当前输入方式下应用能够以正确的、符合用户习惯的方式进行响应。我们的目标是在全场景用户体验中,实现「一次开发 多端部署」,并最终提升用户体验的一致性。

Role

项目负责人:定义 HarmonyOS 各类交互模态和输入方式的人机交互规范;牵引 OS 在输入子系统和控件层的能力构建;推动一方和三方应用开发者的优化和适配,提高用户体验的一致性。

人机交互规范

输入方式

首先,我们定义各类交互模态和输入设备的特征、功能和交互行为,并对于每种交互任务,梳理使用不同输入设备时标准的交互规则。具体内容请见官方设计规范

mockup

交互事件归一

在上述交互设计规范的基础之上,我们提出了交互归一的思想。提炼出基础的原子交互事件,并将各种输入方式统一映射原子交互事件上,并在系统层面上实现这种能力。这样的好处是设计师和开发者开发应用时,无需针对每种功能和交互方式进行重复的适配,减少工作成本的同时又提高了用户体验的一致性。

例如,对于“缩放对象”这一原子交互事件,不同输入方式定义的规则是:

输入方式 交互行为
触屏 两个手指在屏幕上向外扩展以放大内容,向内收拢以缩小内容
鼠标
按下 Ctrl 键同时滚动鼠标滚轮,可按照光标位置放大或缩小内容:
  • 鼠标滚轮上滚,每滚动1个刻痕,以光标位置作为中心对象放大 N 倍
  • 鼠标滚轮下滚,没滚动1个刻痕,对象缩小到当前大小的 1/N 倍
触摸板
触摸板上双指捏合行为与触屏上双指捏合行为一致,当光标移动到对象上后:
  • 触摸板双指向外扩展以放大内容。
  • 触摸板双指向内收拢以缩小内容。
需注意优化显控比,以使用户能够轻松、快速、准确地调节到目标尺寸
键盘
Ctrl+加号键:以对象的中心点使对象放大 N 倍
Ctrl+减号键:以对象的中心点使对象缩小到 1/N 倍

我们将打开/切换对象、显示菜单、选择对象、滑动对象、缩放对象、旋转对象、拖拽对象、刷新页面等作为原子交互事件,梳理和定义了不同输入方式下正确的交互规则。具体内容请见官方设计规范

构建 OS 输入子系统

为了实现上述设计规范和“一次开发 多端部署”的愿景,技术上我们在两个层面开展了工作。一是在 framework input 子系统中对很多已有的交互事件做归一化的映射,这能解决大部分的交互体验问题。二是对系统全量的控件进行归一化能力的改造,这对于新实现的应用能从根本上支持统一交互。而这两方面也是根植于原生鸿蒙操作系统(HarmonyOS)的基础能力和特征。

mockup

适配和应用

对内,我参与开发了上述鸿蒙系统的实现,编写了相关开发指南;对外,统一交互框架作为鸿蒙OS的特征能力,连续在华为开发者大会(HDC)上宣讲,也成为官方课程之一。

在应用方面,统一交互框架支持了所有自研应用,尤其在多设备协同场景,提升了用户体验。同时,统一交互的能力也使新场景、新输入方式的实现变得更加容易,例如下面展示了华为 MateBook 创新的触摸板手势交互。

© 2024 Eknus