Chris Atherton 发表了 GOTO Berlin 2015 闭幕演讲,在演讲中她谈论了软件设计。她建议与其依赖专业意见,设计软件外观与工作方式,不如走出去,从实际用户那里获取数据。InfoQ 就设计和测试用户界面对她进行了采访。
InfoQ:在您“你不会总能得到你想要的”演讲中,您谈论了如何设计一个系统的外观和工作方式。您能否解释一下为什么它如此的重要,和为什么难以实现?
Atherton:设计糟糕的用户界面(UI)不能俘获使用者的重视,也不会考虑应用场景。这种用户界面有时会使人轻微发怒(最多你不喜欢这种审美),但有时却是生死攸关的问题,比如在航空和医疗行业。实际上,我们遇到的大部分案例都是介于两者之间。有些 UI 令人非常的沮丧,因为使用者不清楚。其它的要么效率低下,要么繁琐,因为他们的设计没有咨询实际的使用者,因此工作流程非常的糟糕或者用户想做什么与 UI 让用户做什么不匹配。
UI 的设计非常的困难,但是这种困难不是不能完成。问题在于没有跟实际用户接触的渠道,因此设计和开发团队只能靠猜测来构建产品。无论如何激励团队或者试图做出真实的猜测,他们都不可能 100% 正确,因为他们不是用户。说了这么多,这是一个很容易解决的问题:你只需要让软件团队定期接触实际的用户,和向他们展示模型的机会,并获取反馈,在此基础上重新迭代。
InfoQ:当设计一个系统时,人们通常会在系统外观和运行中加入自己的经验和想法。这是好事吗?
Atherton:假如你有一些想法,正好和系统的实际需求吻合,这种情况下加入自己的想法不会造成伤害——甚至有帮助,因为人们认识到目前的需求与以往工作内容模式的区别,对于目前的问题可能会有简单的设计解决方案,这样你可以轻松解决问题或者用最小的改变适应问题。但是,这不应该是终点:新系统的设计必须依据实际用户需求驱动,而不是通过适应问题,使其看上去像我们之前解决过的问题。再一次,通过让整个团队接触实际用户并暴露实际问题,我们会打破我们现有的思维方式,对我们认为良好实际不那么良好的设计获取反馈。此外,仅仅拥有设计解决方案工作方式的意见是不够的,你还必须对其测试,获得实用性的真实数据。因此对于开发团队内两人对谁的方式“更好”的争论是没有意义的——将他们展示给用户,让他们来判断,因为他们才是专家。
InfoQ:您能给出案例何时优秀的设计意图是不够的?和他们是如何阻碍 UI 设计的案例?
Atherton:嗯,首先我认为我应该指出没有人故意妨碍任何东西——我们仅仅是没有所有必须的可供我们自行支配的信息:)所以,作为一个案例,我曾经给客户设计过一个相当奇特的仪表板。我得到的需求是客户必须能够看到和改变仪表板上变量的数值。因此我在布局和交互设计上花了不少心思,比如使其能够搜索、过滤和排序变量,因为变量实在太多,你又不希望客户为了得到想要的必须搜索一长串的变量列表。最后当我把它交付给客户时他们说“但是实际上,终端用户只想看到其中的 6 个变量,而这 6 个变量是可预测的,并且只要改变其中 2 或者 3 个变量。”这会彻底改变我处理 UI 的方式!因此,尽管我真有良好的设计意图,试图使用成熟的设计模式从而让它更容易使用,但是它却不能很好地映射用户真实想做的事情。最终我们选择了一个更加简单的设计,只显示了所需的最基本的内容。
InfoQ:您建议与其依赖意见不如出去获取数据。获取数据非常的困难,如果你想从实际用户那得到实际数据,需要很大的努力或者付出很大代价。您是如何处理这个问题的?
Atherton:首先,我认为获取基本的数据相当的廉价。你确认能给你有效反馈的用户(可以是实际用户,可以是合理的代理商)和他们坐下来,亲自或者通过互联网远程交流,获得设计的反馈或者工作原型或者任何你可以站住脚的东西。从这次会议中你已经知道一些设计需要改良的方法。如果你多做几次这种交流,你就可以更加确定什么是最最重要的,比如你已经看到 6 人中有 4 人失败了,或者哪怕只有一个人没有做到他们需要做的事情——这个人也可以代表成千上万的实际用户。
但是,从另一个角度来说,没有一家公司能够承担 * 不 * 做这项工作的风险。这绝对是最佳的降低项目风险的方法。因为在不了解用户需求的基础上构建代价非常的昂贵,风险非常大。一旦所有东西构建完成,如果这时你识别出设计问题,那么要么你将不符合要求的东西发布出去,冒着巨大的风险,要么你必须做出代价昂贵的改变,这又会引入新的风险。
InfoQ:如果人们想测试自己的软件产品设计,你有什么好的方法吗?
Atherton:当然有。最容易接触的方法是素描。在纸上、白板上,任何一个地方,并展示给内部人员,这样当你向他们解释它的工作内容时他们会指出不足。对需要完成的工作有一个共识至关重要;哪怕是分享一个快速素描也可以暴露很多的假设,尤其是当很多人都参与这个设计的时候。如果是更复杂的情况或者你想把它展示给终端用户,你可能需要使用工具将一些线框和实体模型整合到一起,比如 Balsamiq,Axure 等等——他们不需要高度保真,他们只需要拥有清晰的可视化布局。你可以询问人们对屏幕上正在发生的事情的理解,询问他们的下一步动作,以及他们想象的结果。比线框更好的是构建可点击的原型:它也不需要高度保真。它会显示交互和转换,通过屏幕间的转换用户和内部利益相关者可以得到工作流的更好的想法,并开始了解端到端的用户旅程的模样。
人们通常对原型设计有争议,是否在生产代码中建立原型设计(这样可以根据反馈快速更改任何设计变更,但是一开始建立原型可能会花费更长的时间)还是仅仅使用一次性原型设计工具,比如 Sketch 和 InVision,这种方式可以加速新设计并使其可点击。对此我不认为有一个正确的答案:这取决于团队的现有资源和技能。重要的是向人们展示一些东西,任何东西,从而获得快速反馈。
InfoQ:你是否还有进一步的建议给那些设计用户界面的人?
Atherton:获得你设计的反馈永远比没有反馈要好。哪怕只跟一个用户交流,你也会得到让你做的更好的反馈。它不一定非得是昂贵的或者耗时的:实际上,如果你将与用户交流 6 个小时与企业 * 不 * 花费这 6 个小时的潜在成本相比,它是微不足道的。
查看英文原文: UI Design:Go Out and Get Data
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论