来源:知乎 作者:凌霜
今天和大家分享一个有意思的故事,是我在第一份工作中做的第一个项目(目前在西雅图一家成长中的软件公司做DevOps工具的用户体验研究和设计)。写这篇文章是想和大家讨论一下我最近思考的一些问题,反思一下我做的好的和不太好的地方,也希望和关注运维技术发展、开发者用户体验的朋友建立联系。
作者:译者:陈凌霜 Liz Chen,华盛顿大学Human Centered Design and Engineering研究生
【未经作者许可,请勿转载】
名词解释
运维:英文 Ops,又称运维工程师,是对技术类运营维护人员的统称。运维人员的职责是根据业务需要规划信息,网络,服务,通过网络监控,事件预警,业务调度,排障升级等手段,使服务处于长期稳定可用状态。(来自中文维基百科)
DevOps:(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。(来自中文维基百科)
为什么工程师也值得好的用户体验
运维工程师支撑起了我们互联网的基础。当晚上我们酣睡的时候,他们可能随时被BP机吵醒,立即撑开惺忪的眼,打开电脑解决各种IT服务的问题;在有些施行了DevOps模式的公司,软件开发人员也会担任这一职责。他们有一套软件来帮助监控、诊断服务器的状态,自动化一些人工的工作。这些技术和软件对于提高技术人员的工作效率和生活水平、企业的生产效率来说至关重要。可以说,是这群人支撑起了整个互联网的基础,让我们普通用户可以毫无顾忌地随时刷手机看直播,以及减少碰到知乎“服务器提了一个问题”页面的几率。然而现实是,很少有人来关注这群人的“用户体验”。关于他们到底是如何工作,如何解决问题,如何与他人合作等问题,鲜有外人了解。这也是公司雇佣了我们这群用户体验设计师的原因,我们的职责就是增进产品开发团队对用户的了解,明确需要解决的主要问题,同时也让我们的产品变得更加容易理解和使用。
一个创新产品和两个难题
公司最近推出了一个新的开源产品,如何推广是个很重要的问题。特别是这种概念新又抽象的技术型、企业级产品。就算是经验丰富的一线开发者也没有那么容易一下子就理解,更别说企业中非技术出身、做决定的人了。
和我们之前的产品的目标用户不同,这次的产品的革新之处在于,它是给程序开发者用的,理念是让开发者可以自己很方便地部署ta写的软件,同时让软件的后续运营和管理变得更加自动化,可以灵活地部署到不同的平台上,省了很多麻烦事。为了达到这个目的,有很多新的概念被发明,或者已有的概念被赋予了新的含义。如何让用户更好地接受这些新概念,这是第一个难题。
第二个难题:产品没有通常用户体验设计师做的酷炫UI界面,唯一的界面就是个黑漆漆的命令行(据闻是程序员最爱?)。这又增加了理解产品的难度,因为发现性很差,不花很多时间去读技术文档基本上不知道怎么用,也不知道可以拿来干啥。
针对网站,我们做过一些用户测试,得到的主要反馈是:“这个东西到底是个什么玩意?有什么价值?那个黑盒子什么意思?和xxx、xxx到底有什么不同?看完了主页也没弄明白,果断放弃。”
一个尝试
作为一个程序开发和运维技术小白,在进公司的几周内我完全听不懂同事在讲什么,常常怀疑自己的智商:“面试的时候我可跟你说了连package是什么我都不懂,你是不是招错人了……”。更加令人心酸的是,有一天老板路过问我“怎么样,有一个计算机科学学位是不是好理解很多?”当时我就瞎了:“?!我本科学的是工业设计!” ——辛酸事不说了,转入正题:在我尝试理解这个新产品的过程中,有一个若隐若现的想法在心里萌发。我想尝试一下解决第一个难题:如何让用户更好地接受和理解产品的新概念。
构建用户心理模型
学过交互或工业设计的人可能听过这个概念:用户在使用产品的过程中,会构建一个产品的心理模型。这个心理模型就是用户自己心里认为这个产品大概是个什么概念,会怎么运行,对产品的反馈有一个预期。心理模型是非常主观的,通常不能反映一个产品真正的实现方法(即技术模型)。但这都不重要,重要的是在用户的心理模型内,这个产品能够符合预期地运行,把一件任务完成,就行了。这就是交互设计的一个很基础的工作:如何构建一种模型,使得技术上能够支持,用户可以轻易理解。
举个大家都知道的例子,“电脑桌面”。桌面这个概念本来是可以不存在的,计算机被大量普及前人们敲命令行敲得不亦乐乎。计算机的技术原理在有“桌面”这个概念前后并没有什么改变。有了“电脑桌面”,用户可以把电脑屏幕跟自己实物桌面这个概念联系起来,即把在物理世界中的经验和数字世界中的概念结合,于是一些操作就变得理所当然、符合直觉。例如,用户可以把自己的“文件”放在“桌面”上,可以把几个文件叠放在一起,成为一个“文件夹”,,还可以把文件随意拖拽,移动到任何一个角落——就好像你可以在实物桌面上做的事一样。苹果最初的“拟物化”界面设计理念就来源于此。这种联系的建立使得心理模型快速得以建立,容易理解和学习如何和新产品打交道,并且不容易忘记。因为人们从出生起就开始与物理世界产生交互,使得与物理世界打交道的经验得以不断强化,直至内化为不需要刻意思考的直觉。
解决问题的思路
所以我想解决的问题变成了:如何为这个程序员用的工具找一个现实生活中已经为人所知的比喻?为了尝试解决这个问题,我做了这几件事:
问问题。问技术主管,问产品,问市场部,问CTO,为什么要做这个产品,产品解决的问题,有什么意义,为什么取这个名字,为什么LOGO是这个样子,为什么这个命令叫这个名字(还有非常多脑残的基础问题也问了)——我意识到,很多问题的答案早已经存在在不同人的脑子里了,只不过大家没有能拿出来一起捋捋,于是一些重要的产品决策就在沟通中被遗漏了。比如说,为什么产品叫Habitat(栖息地)?
理解技术模型。继续尝试理解产品的技术设计思想,提取主要的概念和步骤,筛选出对人们理解产品整体架构最有帮助的概念——简化需要输入的信息,先给个高层次的解释,具体的细节等你有兴趣了咱们回头再聊。
视觉化想法。有了最基本的对技术的理解,我开始尝试把我想到的任何可能可行的比喻都画出来,不求质求量。视觉化我的想法,这点很重要——画的过程也是我不断构造新想法的过程,从工业设计中学到的,受益匪浅。
寻求反馈。每次我画了一个粗糙的概念——最开始几轮都是用粗签字笔直接画在大概A3的纸上,我就拍个照或扫描后发到我们的聊天室里给公司里不同的人看看。他们绝大多数都是工程师,也有产品经理。——大家的反馈让我可以不断地意识到我对技术理解的偏差,让我可以在下一轮中修正。
画漫画。最初我画这些草图的时候,只是为了让我自己理解整个系统,也许能帮助到公司内部其他不懂技术的人,并没有指望着变成别的什么。直到有一天市场部的主管跟我说,我们可以把它变成一个在线广告,投到facebook上去,看看反馈如何。我们确定了用单格漫画的形式,用facebook的幻灯片广告模板。于是我开始用数位板在Illustrator里面画,之前有画过几套简单的在photoshop里,但是发觉Illustrator更好用(有兴趣的可以在youtube上搜索comic strip,有很多挺好的uimaker.com/uimakerhtml/uistudy/">教程,我是现学现卖的)。
(图:投放到facebook的广告,共8张图)
修正、上线和测试。另外一个和我做同一个产品的设计师帮我修订和规范了故事的内容(我一个英语写作渣)。在漫画被投放到facebook的同时,我们也用了另一个在线测试产品叫UsabilityHub,有免费试用。facebook的广告投放平台可以搜集到很多信息,但是大多数是定量的数据。我们还想知道一些定性的数据。
在UsabilityHub上我问了三个问题:1. 对这个漫画故事总体打个分——这样方便我们下次继续测试来对比数据。2. 哪些图和你产生了共鸣——即类比很有效的;3. 哪些图对你来说没啥意义——即类比不怎么有效的。我们把这个测试链接发给了我们的用户聊天室,收到了不少反馈。
数据分析,继续修改。这只是我们发出的第一版设计,接下来我会继续跟进这个项目,根据用户的反馈和公司的策略来调整比喻方式。
我的反思
这个故事仍然在继续。我的收获是:不要嫌问的问题蠢,也不要怕回答你问题的人级别太高,讲一遍不懂可以再问一遍,不断用自己的语言和草图来输出自己的理解,反馈得到的越早越好。我也想提醒自己,不要过早地陷入到对细节的纠结当中,特别是一些并不是那么重要的漫画中的细节。最后就是对自己时间和精力的分配,步骤1-4是最应该花精力的地方,相反漫画的最终呈现并不是那么重要,2/8定理在这里也同样适用,有些东西做到80%就可以了,该放下的时候就放下。
结语
我感觉最幸运的地方是:可以在一家软件公司里为工程师们画漫画。虽然这不是作为用户体验设计师的主要工作,但可以用自己的一技之长把技术和艺术结合起来,帮助忙碌的工程师们理解一个复杂的概念,我觉得是很有意义的。这种创新的尝试在公司里也得到了很多认可,因为这个方向就是我们想要做的:如何让技术更加人性化,让技术为人服务,而不是人受控于技术。
想象一下,如果有一天,每个新技术都可以通过“说人话”来让人更快地学习理解,这样活着岂不是更爽?