点一下能解决的事就别长按:Android 应用快捷方式面面观
2023-9-24 21:18:17 Author: sspai.com(查看原文) 阅读量:22 收藏

避免创建仅启动 App 的小组件。小组件应显示有意义的内容,并提供实用操作和前往 App 中关键区域的深度链接。与 App 图标作用类似的小组件没有任何额外价值,这意味着用户可能会将其从屏幕上移除。

——Apple HIG 设计指南之小组件最佳实践

你可能已经开始好奇了:为什么一篇讲 Android 应用快捷方式的文章要从 Apple 的小组件设计指南说起?因为小组件和应用快捷方式本质上都是「无需点击图标进入应用主界面就能达成目的」的途径,并且在 Android 和 iOS 系统中都能找到相近甚至完全一致的交互体验。近期 iOS 引入可交互小组件支持后,小组件在这两个平台之间更是只剩下了设计和生态体验上的差别(当然可以说是天壤之别)。

所以当我们聊起应用快捷方式这个话题时,也免不了先想起 iOS——在同样的功能上,后者曾给出过一个更具话题性、也让不少 iPhone 用户怀念的实现路径。

识别长按:用算法打败更高维度的对手

2019 年 9 月,Apple 如期发布三款新 iPhone。作为步入「全面屏」时代的第二代产品,iPhone Xs/Xs Max 在外观设计上的变化没有其难写且拗口的命名和突破万元的定价来得有话题性,相反在定位中端、价格相对便宜的机型 iPhone Xr 上,人们很快注意到了一个颇具争议的变化:三维触控(3D Touch)功能被取消了。

ZmlJbL7l1oMwYzxMCkqcI63Onjh
iPhone 6s 时代的 3D Touch 物理结构解析 | 图:Forbes

查看实时照片、预览消息和文件内容、进入多任务卡片管理界面甚至在部分创意应用中改变画笔笔触和笔尖样式……这些都是以往 iPhone 用户可以通过三维触控来完成的任务,相比之下,从主屏幕应用图标上访问快捷方式则可能是最没有存在感的。

但用「最」字来形容这些交互方式的存在感就足以说明问题

在平面的电子屏幕上引入三维触控,Apple 在定义一种新的输入方式,却没能在推出的第一时间从视觉层面给予用户足够的教学和引导;作为一种提升使用效率的设备交互手段,三维触控还缺少足够的确定感,即便用户对重按这一操作方式习以为常,他们也永远无法确定这一操作在哪些场景下可用、可用时会触发什么操作;除了 iOS 系统层面的交互和优秀振动体验带来的愉悦反馈,三维触控借助弹出式窗口带来的功能跳转又并非不可替代,甚至很多时候堪称「画蛇添足」……

扩展阅读:

于是在很多 iPhone 用户为三维触控时代的落幕惋惜时,Android 阵营的用户也(或有些许幸灾乐祸地)发出疑问:

为什么不能长按?

虽然功能体验和早年的振动反馈都不如三维触控,但在至少在 Android 平台,上面提到的很多操作一直以来都是可以通过长按来实现的。「通过桌面图标打开快捷方式」这个操作更是如此。

为了提升长按操作相比三维触控的响应体验,擅长用各种算法上的奇技淫巧弥补硬件缺位的 Google,甚至还在 Pixel 4 发布时推出了一套基于机器学习的「重按」识别算法。这套算法在无需压感屏幕等硬件支持的前提下,通过按压区域的图像信号和机器学习模型来判断「长按」意图。并且 Google 还直接将相关成果并入了 Android 的系统组件内,让已经使用相关 API 的应用无需任何适配就能获取这些触摸信号。

MaBQb8mLIoDVpOxDAQvcHKJKnob
通过触摸点附近的传感器信号衰减来提升对长按操作的识别和响应速度 | 图:Google

更值得一提的是,Google 当时在介绍这项研究的博文里也意味深长地提到了一个观点,即他们的用户研究调查发现,用户对基于作用力的交互行为感知很弱,并且往往会因为不知道「力度」的具体大小而混淆长按与重按的概念。为了避免带来这种困惑,Google 索性将力度通过算法识别统一到了「长按」这一个操作里,然后通过提高长按菜单的弹出速度来对用户施加的力度进行反馈。

虽然全程没提 3D Touch,但这几乎可以说是 Google 对三维触控的官方意见了。

Apple 当然也意识到了这一点。在后续的 iPhone 机型中,三维触控彻底被送入历史的陈列馆,取而代之的是长按以及基于振动马达模拟的按压反馈。抛开实际效果不谈,这一改动也实打实地为 iPhone 降低了硬件成本并为更大容量的电池和更新的屏幕材质让出了足够的空间。

理解长按:为什么长按也不是最优解?

在击败了三维触控这种「高维度」的对手之后,摆在 Android 应用快捷方式面前的操作方式似乎就只剩下了「长按」这一种。

那它就是最好的解决方案吗?

先回归概念。在 Android 系统中,Intent 是 Android 应用程序之间进行交互的主要方式之一,当一个应用程序想要启动另一个应用程序来完成某项任务时就会使用 intent,比如点击电话号码后启动拨号应用、点击地址信息后打开地图显示位置信息、点击邮件地址后出现邮件客户端开始邮件撰写……指明由少数派客户端打开的 intent 叫显式 intent、给出弹窗让你选择打开方式的则叫隐式 intent。

PrDwbncf5o14XSx0TupcZmjvn6b
一种常由隐式 intent 拉起的打开方式界面

这种直接指定由某个 app 执行特定任务的做法,是应用快捷方式(App Shortcuts)功能的基础。从 Android 7.1 开始,Google 便允许开发者为 app 发布最多 15 个静态或动态两种类型的快捷方式(为了保证在启动器中长按时的弹出菜单美观,Google 建议一般只用发布 4 个),比如在早期版本的 Spotify 中长按图标可以看到最多三个基于账户的动态歌单推荐,在最新版本中则变成了包含搜索、为你打造板块在内的,静态和动态组合的应用快捷方式。

DXH0bUJjyosyesxnZKBcxSP9nee
Spotify 的应用快捷方式列表,由两个静态快捷方式(搜索、为你打造)和一个动态快捷方式(用户播放列表)构成

但启动器图标中的长按弹出菜单只是应用快捷方式的「表」,并且还并非最为合理的呈现手段。在以点击为直觉的触摸交互里,我们什么时候才会在一个摆在桌面主屏上的应用图标上长按?就我个人而言,大部分时候是拖动排序、整理桌面,有时是为了查看应用信息、卸载应用,极少情况下是使用应用快捷方式。

这里的原因和 iPhone 三维触控被砍掉有一部分是共通的。以打开 Play 商店中的应用更新界面检查更新为例:一方面我并不知道 Play 商店是否提供这一快捷方式,因此比起长按、确定、点击,打开应用后的点击和查找路径对我来说更为熟悉;另一方面在有限的点击次数内,点击带来的反馈无论是速度还是结果都始终要强于长按。

仅从帮助用户快速完成特定应用内的特定任务这一层面,长按弹出菜单这一交互设计就是与之相悖的,因为它的载体——应用图标,默认情况下是不提供操作结果预览的。Android 13 开始测试的预见式返回手势背后也有类似的思考。

关于这一点说句题外话。应用快捷方式当前的主要交互与应用管理这类操作挂钩,其实也给了部分国产应用耍小聪明打开了新思路。下图这种直接将其利用为广告位的行为放在 2023 年其实都算常规,部分应用甚至还会在应用快捷方式列表中设置一个假的「卸载」按钮来与系统本身的卸载按钮相混淆。

万一哪位老人家哪天没注意点错了,谁知道那个假的「卸载」会把他们带向何方……或许会新建一个透明图标在桌面继续苟且偷生?

Fmz9bAnggojv8SxOElUcbbufnRc
番茄免费小说对应用快捷方式特性的理解 | 图:白徵明

扩展阅读:干掉「毒瘤」只是第一步:怎样的 Android 应用才算「好应用」?

放弃长按:入口、内嵌与索引,哪个才是未来

应用快捷方式的「里」,是与 activity 一样能够被其他应用随时、按需唤起并直达目标入口的底层组件。所以比起没有任何强制力的设计指南和一篇包含文本字数等限制但同样并非强制要求的最佳实践,Google 近几年更为推荐的做法,则是对应用快捷方式的能力进行扩展和打包,将其直接暴露给 Google 服务或其他系统界面。

JkedbwMJ7oIaZaxobXMcROrDn3e
毕竟是 intent 的打包,应用快捷方式的地位其实也蛮高的

文章来源: https://sspai.com/prime/story/android-intents-affordances
如有侵权请联系:admin#unsafe.sh