你以为你在用软件,其实你在跟它说话
想象你走进一家银行。柜台后面坐着一个柜员,你把存折递过去,说:「取五百块。」柜员看了你一眼,什么也没说,把存折从窗口推了回来。
你愣了一下,又递过去。又被推回来。第三次,柜员终于开口,说了三个字:「先取号。」
你一定遇到过这样的软件。点了一个按钮,什么都没发生——没有转圈,没有提示,没有报错,就好像你根本没点过。你只好再点一次,再点一次,然后页面突然跳出一行红字:「操作过于频繁」。
这就是这本书的出发点:使用软件,本质上是一场对话。你每一次点击、每一次输入、每一次滑动,都是你在对软件说一句话;而软件的每一个响应——或者没有响应——都是它的回答。
界面是一种语言
我们平时把软件的界面叫做 UI(User Interface,用户界面),大白话就是「软件的脸面」。但这个说法有个误导:它让人觉得界面是给人看的,像一张海报。实际上界面是给人用的,更像一场对话里的措辞。
大白话:海报只要好看就行,对话还得接得住话。界面是后者——你说一句,它得答一句,而且答案得让你知道下一步该干嘛。
想想看,一个按钮上的文字就是在跟你沟通。「提交」和「提交并发布,所有人可见」是两种完全不同的回答方式——前者让你猜,后者把后果说清楚了。一个加载中的转圈动画,翻译成人话就是「我听到了,正在办,你稍等」。而那个点了没反应的按钮,翻译过来是:沉默。
人与人之间的沉默已经是糟糕的沟通了——你说了三句话对方一声不吭,你会怀疑电话断了。软件的沉默也一样,只是用户没法问「喂,你还在吗」,只能狂点。
对话质量是可以衡量的
把「使用软件」看成对话之后,很多原本模糊的争论突然变得具体了。
「这个软件好不好用」不再是玄学,而是这场对话里那些可以数出来的东西:
- 你说一句话,它多久回应?(响应速度)
- 它的回答你听得懂吗?(提示是不是人话)
- 你说错了,它是纠正你,还是惩罚你?(出错时的待遇)
- 它能听懂你没说出口的半句话吗?(默认值和预判)
这些都是沟通的问题,不是技术的问题。技术上,「点了没反应的按钮」和「点了立刻转圈的按钮」背后可能是完全相同的代码,只差一行——但在沟通的层面,它们一个是沉默,一个是「收到」。这一行代码的差距,就是用户摔鼠标和耐心等待的差距。
那谁在替软件说话?
这里有一个容易被忽略的环节:软件不会自己说话。界面上的每一个字、每一个流程,都是某个产品经理或工程师替软件设计好的台词。
所以「软件跟用户沟通」,拆开来看,其实是「做软件的人,隔着一层界面,在跟用软件的人沟通」。这场沟通很特别:说话的人不在场,回答要预先写好,而听众是成千上万个陌生人,每个人都可能在你意想不到的地方卡住。
这就解释了为什么有的软件让人觉得「贴心」——它背后的团队在写台词的时候,真的替你预演过你会遇到什么;而有的软件让人觉得「刁难」——它的台词是从数据库错误码直接抄来的,写的人根本没站在听的人那边想过。
下一章我们要去一个大多数用户永远看不到、但对这场对话最诚实的地方:后台日志。那里有用户没说出口的话。