科技时报 全球最新科技资讯专业发布平台

手机按键越变越少 未来还够用吗?

2019-08-06 09:18:16已围观次来源:极客公园 刘丢丢编辑:夏雪

  在很多科幻故事里,电子设备总被塑造成没有按键的样子,所有的交互都在屏幕上完成,看起来更酷、也更有未来感。

  虽然在现实世界中,我们并没有做到将所有按键都去掉,但智能手机的按键确实是在一步步减少。从功能机时代的全键盘、九宫格键盘,到智能手机上用虚拟按键来代替。全面屏时代,就连 iPhone 祖传的 home 键也被取消。

  现在大部分的主流手机,就只剩下了电源键、音量键几个按键。除了本身的基本功能之外,它们还承担了很多其它功能,截屏、语音助手、刷机、快速启动相机。。。。。。 这些操作都需要实体按键来完成。手机上的功能越来越多,按键却越来越少,你觉得它们还够用吗?

  千奇百怪的截屏方式

  实体按键一直没有被全部取消,是因为有的体验无可替代。电源键承担了开机/关机、锁屏/亮屏的功能,在系统崩溃的情况下,它是手机的最后一道屏障,可以强制关闭电源。调音量也是一个的常用操作。在一些特殊场景下,比如夜晚看不见时,用户需要一个有反馈、可以盲操作的操控方式。很明显,有物理反馈的实体按键更让人安心。

  除了这些基本需求,实体按键还承担了很多组合键的功能,最常用的是截屏。在 Android 手机上,截屏的统一操作是‘电源键’+‘音量-’,操作时只需要两个手指从背面捏一下,体验很顺畅。

  但是有的手机把电源键和音量键放在了同侧,按起来比较别扭,需要两只手才能操作。于是很多手机用手势来代替组合键,OPPO 的三指截屏、华为的指关节截屏,有的也会在快捷开关、悬浮球里添加截图选项。

  像 Pixel 就更奇怪,它把电源键放在了音量键的上面,离大拇指更远,这样会导致误触,按截屏快捷键时也不方便。Pixel 的解决方法是通过长按电源键来弹出截图选项,好在它的振动反馈和软件交互做得不错,选项就在按键旁边,体验还算顺畅。

  iPhone、Android 组合键不统一

  除了截屏,还有很多操作需要实体按键来完成,但是按键越来越少,很多功能就被堆到了仅有的几个按键上。或是长按、或是双击,不同场景下各自的操作都不一样,这很容易让人混淆。

  这里拿 iPhone 来举例。作为 iPhone 曾经的‘灵魂’,home 键承担了许多功能,在它被取消之后,这些功能都被转移到了电源键、音量键上。

  原本的‘电源键’+‘home 键’截屏,变成了‘电源键’+‘音量+’,和 Android 手机的普遍操作反了过来;原本的长按 Home 键呼出 Siri,现在为了照顾用户习惯变成了长按电源键;那么要关机呢?你需要长按‘电源键’+‘音量-’,也就是和 Android 手机的截屏组合键相同。。。。。。

  在第一次给 iPhone XR 关机的时候,我真的是试了好久,最后上网搜了才知道方法。虽然开/关机已经不是经常性的操作,但按键减少无疑还是给操作带来了不便。

  爱它,就给它一个独立按键

  手机内部寸土寸金,但还是有不少厂商愿意为了一些特色功能,专门给手机增加按键。索尼手机有单独的相机键,可以快速启动相机,并实现类似相机快门的体验。小米、三星给手机增加了语音助手按键,快速启动小爱同学、Bixby。锤子手机专门为闪念胶囊设置了一个按键,快速记录想法。黑鲨专门给游戏手机设置一个按键,一键进入游戏模式。

  虽然很多功能都可以通过其它方式来实现,但肯定不如单个按键启动更快。对于手机厂商来说,每个独立按键也成了一个可以宣传的点,代表对某个特色功能的重视。

  三星 Galaxy A8s  手机按键之所以能一减再减,是因为很多功能都可以用其它方式代替。比如前面说的手势、悬浮球、快捷开关,只要把交互体验做好,实体按键并不是必需的。iPhone 当年敢把实体 home 键改成非按压式,就是因为振动反馈可以模拟真实的触感,非按压式的 home 键还不怕物理损坏,有更长的寿命。

  是时候给实体按键‘解压’了

  未来的手机会去掉所有实体按键吗?我觉得很难。有一些场景需要盲操作、有反馈,不管是语音操控还是虚拟触控,都无法满足所有场景。如果为了延续使用习惯,把更多的功能放在仅有的几个按键上,就要‘榨干’每个按键的价值,各种组合键、长按、双击操作都加上,这样带来的结果就是交互混乱,每项操作在不同场景下功能不同,用户学习起来也麻烦。

  iPhone 手势  手机厂商需要把更多精力放在统一交互和优化体验上,让实体按键只负责‘必需’的功能。这样可以给让按键减轻一点‘压力’,也减轻了用户的学习成本。要推动这样的交互转变,只有靠 Google、苹果的力量了。

window.onload = function (){ var oLi = document.getElementById("tab").getElementsByTagName("li"); var oUl = document.getElementById("ms-main").getElementsByTagName("div"); for(var i = 0; i < oLi.length; i++) { oLi[i].index = i; oLi[i].onmouseover = function () { for(var n = 0; n < oLi.length; n++) oLi[n].className=""; this.className = "cur"; for(var n = 0; n < oUl.length; n++) oUl[n].style.display = "none"; oUl[this.index].style.display = "block" } }}