很早我就在思考类似的问题,在界面上给予用户更高的自由度,是否就真的能够带来用户使用体验的提高呢? 最近,著名的截图软件Snagit更新到了10.0,这是一个一直以来我都非常喜欢的软件。在10中,他新增了一个非常有意义的功能:All-in-One。顾名思义,只需要执行这一个动作,你就可以选择是截取全屏、截取窗口、截取矩形区域、还是截取滚动的网页,而程序会自动完成剩下的事情。 这并不能算一个创新,因为同样是自家的截图软件,Jing已经实现了这样的功能。但对于通常的截图软件而言,这仍然是一个突破,用户再也不需要用户牢记究竟是需要按Alt+PrintScreen还是需要按Shift+PrintScreen了。 但是从自由度的角度而言,这究竟是变得更加自由了呢,还是变得更加不自由了呢?回答这个问题之前,我们可以先看看另外一款著名软件UltraEdit的界面。 这两张差距非常大的图,都是来自于UE,甚至是同一版本的UE。只是UE提供了切换编辑环境的功能。当然,如果我愿与的话,还可以继续精简 如果不是相同的图标和菜单风格,恐怕已经很难看出这三张截图是出自同一软件。 第一张图中,所有的功能都被放置在工具栏和菜单栏上,软件可以做到什么,用户需要什么,全都一目了然 第二张图中,只有常用的功能出现在工具栏上,其他的功能则需要通过菜单或快捷键来实现,用户有时仍然需要花一些时间来寻找自己需要的功能 第三张图中,所有的功能均被隐藏在菜单里,无论做什么都需需要去菜单里寻找 这三种类型或许有些极端,但确实很好的说明了问题。从这三种情况中,我们可以找到这样一个规律—— 当界面无限趋近于复杂时,用户的学习成本并没有降低,但是使用难度却提高; 当界面无限趋近于简单时,用户的学习成本明显提升,而使用难度则随着对界面的熟悉逐渐降低; 当界面由用户自定义时,用户的学习成本直接趋近于无穷大,但使用难度几乎为0。 于是,我们再来看看这样的一个软件,一个日本人开发的游戏修改器,或者更应该说是Debuger的程序,UsaMimi 这个软件拥有令人感到惊叹无比的复杂内容,无论是从调试器还是修改器的角度来说,这个软件都拥有无以伦比的功能。他的界面最初看起来并不复杂,但是当你实际用起来的时候,就会迅速的被他重重的菜单以及多变的窗口所迷惑,进而开始怀疑人生。 这是一个典型的程序员型的界面。作者恨不得把所有的功能都放在主界面和多级菜单里,而不顾用户的使用感受。 他确实拥有强大的功能,但是也让用户望而却步。我花了很多时间,仍然没有完全搞明白,他最基本的追踪功能究竟是哪一个,虽然我相信他拥有所有我所想到的功能。结果,我花在学习如何使用这个软件上的时间,远比更换现有软件所能够节省的时间要多的太多了。 另外值得一提的是,作者对于这个软件使用了"yoda’s cryptor"对其进行加壳,而这个玩意非常棘手,我现在也没能完美的脱掉他,所以连汉化都进行不下去… 与之形成鲜明对比的,自然是以设计师占据主导地位的苹果。 如图是苹果的浏览器Safari on windows。 Safari和苹果一贯的设计理念相同,在此我们可以看到,他只保留了最基本的用户选项和功能,主界面几乎没有什么按钮,简单到用户无需花费时间去重新认知,几乎没有重新学习的成本。 这样简洁至极的界面,可以说是大大限制了用户的自由度,但是他很奇妙的,却带来了使用体验上巨大的提升。究其原因,就是因为用户几乎无需重新学习,即可立即使用软件所有的功能。 这里不得不提到的,也是之前曾经我写过的,Firefox与Chrome的界面之争。 Chrome的界面设计思路,实际上是有些类似于苹果的。降低界面自由度,无需重新学习,立即使用。 而Firefox相对而言,他默认的常规界面平均了学习成本和使用效率,但是他更大的优势在于自定义方面。这也就代表着Firefox拥有了更高的自由度,以及更多的学习时间。 这很有趣。因为通常,我们还没有看到哪个软件在界面极其简洁的同时,还能够提供强大无比的功能和自由的DIY性。至少我没有见过这样的软件。通常,一个软件仅能在此作出一个选择:是给用来带来最佳的使用体验,还是提供最为强大的功能。 考虑到强大的功能是用户体验的基石,所以有时这两者并不冲突,因为实际上,随着功能的逐渐增强,对于很多核心用户,他们的使用体验也会随之提高。但并非对于所有用户都如此,因为用户已经为了得到这些功能,而花费了相应的学习成本。 这再次证明了我的观点:用户学习使用一个全新的界面所需要花的时间越少,那么这个界面所带来的用户体验就越优秀。而随着学习成本的提高,用户则仍然可以在保证用户体验的前提下,得到更多功能性的提高。 软件的自由度似乎并没有我们看起来的那么重要,尤其是当一个软件的学习成本很高时,究竟是否有为之付出相应成本的价值,这将会成为一个严重阻碍用户继续使用下去的重要因素。为了应对这一点,用户可以在仅支付极低学习成本的前提下,就能够体验到大部分软件功能,就成为了非常有效的一种手段。因此,相应的减少软件的功能,显然就是最佳的解决方式。 学习成本在这其中,实质上起到了一个杠杆的作用。在学习成本的制约下,一个软件难以同时保证在拥有优秀的用户体验的同时,仍然具有丰富而强大的软件功能。那么这样一来,如何在保证学习成本的同时,在功能与体验之间找到一个最佳的平衡,便是一个软件在界面方面最大的难题。 目前,大部分的UI设计都是以用户体验为主导而进行的。为了保证这一点,程序不得不牺牲掉软件的部分功能。当然,现在越来越多的软件,十分巧妙的将更多的复杂功能隐藏了起来,或者放置在了其他的第三方扩展功能上。我认为,这也将是很长一段时间内的主流趋势。 现在,本文一开始时所提到的,关于Snagit10中All-in-One的问题,就已经变得明朗起来。 All-in-One的出现,导致看起来,用户能做的事情变少了,相应的自由度也在降低;但实际上,很多以前需要由人类介入完成的功能,都交由了程序来实现,这一行为明显的降低了用户的学习成本,用户体验也就因此而受益得到了极大的提高。