虚拟键盘深入对比评测:iPhone VS Android
By Lukas Mathis from ignorethecode.net | Logout 译,转载请注明 ifanr.com 译文链接。
Lukas Mathis 的这篇细节评测深入分析了 Android 和 iPhone 在软键盘上的差距,系统总结了差距背后的原因。感谢lordhong在 Twitter 上的推荐,这里顺便推荐一下他的 Blog,如果你还不知道的话。
虚拟键盘的优点在于可以让大屏设备保持一个苗条的身材。虚拟键盘缺乏物理键盘在输入手感上的先天优势,只能敲击屏幕上的一堆像素。为了让用户能够与这种系统进行有效的交互,它必须做到完美,需要采用一些小技巧帮助用户避开这种输入机制的固有缺陷。
对比 iPhone 和使用 Android 系统的 HTC Magic (G2),就会发现虚拟键盘能够造成的问题以及应对之策。在 iPhone 上打字——特别是打英文——非常顺手,也许比物理键盘上更好。在 HTC Magic 上做同样的事则非常恼人,错误连连。请注意,其中有些问题是由 Magic 本身而非 Android 系统所造成。
尺寸
HTC Magic 和 iPhone 有着相同的像素面积:
整个键盘,乃至每个按键的像素面积都基本相同,不过 Android 在空格键左右适宜的添加了逗号和句号:
但 HTC Magic 屏幕的物理长宽均为 iPhone 的 90%。这听起来或许无甚大碍,但实际上对可用性影响很大。下图是物理显示面积对比:
接下来轮到键盘,同样是物理显示面积对比:
哪怕长与宽仅差 10%(之所以不用 19% 左右的面积差差距,是因为在这方面宽度远比长度更重要),HTC Magic 的键盘还是要小许多。这带来了两个问题:
首先,这降低了按键准确率。我用 iPhone 时很少按错,用 Magic 时常常按错;
其次,被手指遮挡住的部分所占键盘比例更大。
这让观察自己所按按键更为困难。不得不承认,我的手比较大,有些人可能会更喜欢 HTC Magic 稍小的屏幕,但哪怕是他们也可以在更大的屏幕上实现更精准的点击。
注意力
使用物理键盘时,用户的注意力集中在屏幕显示的文字上。没必要看着键盘,因为按键不会移动,而且键盘的物理特性也确保了用户的手指定位。虚拟键盘就不同了。哪怕手指最细微的位移也可能导致错误点击。更有甚者,虚拟键盘本身就可以变化。在绝大多数情况下,虚拟键盘用户会将注意力放在键盘而不是屏幕所显示文字之上。
这就意味着误按时的字母提示必须明显,能让用户在只看着键盘的情况下也可以注意到。由于用户的手指挡住了按键,单纯高亮按键无法提供足够的反馈,现在两个系统的字母提示都在按键上方弹出:
不幸的是,iPhone 可以在按键瞬间显示出所按字母,但 Android 上有延时。一开始我怀疑这是硬件速度造成的延迟,但后来发现模拟器上也有延时,这只能是刻意而为。延迟是如此之严重,以至于打快了以后,根本就不弹出字母提示了。
演示视频下载,体积很小
这个小设置在实质上将字母弹出提示无效化,强迫用户不断在键盘和文字输入栏之间不断移动注意力焦点。这减缓了我的打字速度、不断打错单词、字母。
速度
尽管此前 iPhone 的键盘速度并不像 3GS 上这么好,但从按键到出现字母绝对没有延时。iPhone 显示字母的速度可以和你打字一样快,Android 做不到,这就带来了一些问题:
首先,你常常得打上几个字母之后才能看到单词,Magic 的速度就是跟不上。
其次,Magic 有时会在用户已经开始打新的单词以后纠正之前的单词。打完单词后的变化往往并不明显,因为延时太长。结果就是你常常看不到自己真正打出来的词,而且即便你打对了,Magic 也有可能在你打完很久以后 “纠正” 它。
自动纠正
自动纠正是 Android 胜过 iPhone 的地方。iPhone 仅向每个单词推荐一个纠正,而 Android 提供好几个,从用户尚未打完整个单词之时就开始推荐。
打长单词时,往往刚打了几个字母就看到正确的单词出现在列表中。不过我不确定这在效率上到底是不是有益无害的,因为你把少打字省下的时间花在了查看推荐单词列表上,但这样在感觉上确实更好。
iPhone 会自己添加你使用频繁的词,而 Android 可以手动添加单词。和 iPhone 一样,Android 也有绕开你想打的词的趋向,但你可以在 Android 上通过手动添加单词修复这种问题。(iPhone 上就要另辟蹊径,新建一个叫 Fucking 的联系人 )
两款手机都会自动为 can’t 等词添加’。和 iPhone 不同的是,Android 不会坚持将所有的 its 替换成 it’s。这两个系统也都有标点符号快捷键,特别是两次空格会按照英文输入习惯自动变成句号+空格。
按键动态缩放
iPhone 会自动调整不可见的 “触摸区域” 来方便你打字。David Pogue 是这么描述的。
尽管无法用眼睛看到,但 iPhone 键盘的按键面积是实时变化的。就是说软件会根据概率自动增大特定按键的 “触摸区域”。
举个例子,如果你打了 N,那么下一个字母不太可能是 H,但很可能会是 G。iPhone 就会相应的增减这两个按键的触摸区域。如果你打了 N 再按到 G 和 H 之间的间隔,iPhone 就会判断你想打的是 G,因为 NG 是英语里的一个常用字母组合,而 NH 并不常用。(住在 New Hampshire 的人除外,该地的缩写是 NH)。
这常常会致使你在输入 iPhone 不支持的语言时出现错误,但对它支持的语言来说,这确实颇有助益。就我目前的观察来看,Android 似乎根本没有这种按键缩放——在用了不支持这种功能的软键盘之后,你才知道自己到底有多么依赖它。
译注:这样的设计贯穿与 iPhone 的 UI,KKK 此前的触不到的按钮对此也有评述。
语言支持
iPhone 的虚拟键盘可以快速切换所用语言,并会自动切换到该语言的纠正用字典。而 Android 无法快速切换键盘语言设置,即便设置内切换了 Locale 也不会更换软键盘键位。(译注:谷歌、HTC 等输入法可以直接快速切换输入语言,但这样就替换了系统软键盘,而这两个输入法的英文输入体验远不如系统软键盘)
两个系统都可以通过长按字母键输入大/小写,也都可以切换到数字和特殊符号的第二键盘。用户可以在 iPhone 上用手指从 “数字键盘” 键划至特定的数字或符号,它会在输入该数字/符号后自动切回普通键盘。Android 没有这个快捷操作。
横向键盘
两个系统均提供横向键盘。横置手机会自动切换到宽屏虚拟键盘。增加的宽度可以显示更大的按键,让打字更为容易。横向键盘在两个系统上都需要软件的支持。事实上,有些 Android 程序对虚拟键盘很不友好,弹出虚拟键盘时表现很奇怪。这可能是因为它们本为 G1 这个有物理键盘的手机而设计。但我估计这些程序最终都会提供升级,包容虚拟键盘。
多点触摸
iPhone 通过两种途径使用多点触摸支持虚拟键盘:
- 使用组合键。比如你可以在按住 Shift 的同时按 h 键输入大写的 H,而同样的操作在 Android 上只能先按 Shift,松开后再按 h;
- 双拇指同时输入而不丢字。很快地用左手输入 t,右手输入 o,iPhone 上会打出 to,而 Android 上会丢一个字母。
Android 目前仅有 HTC Hero 支持多点触摸。
总结
虚拟键盘的成败取决于细节。不是单个,而是所有这些特性让 iPhone 在虚拟键盘上胜过 Android。无数小变化带来真正的巨变。Apple 很显然是花了大把时间处理好每个细节(呃,除了那个 Ducking 字典),而 Google 目前在这方面是只求拥有,不求与 iPhone 比肩。
不过我毫不怀疑 Android 的虚拟键盘将在未来得到提升,并期待着他们的表现。