构建之法阅读笔记5
人机交互:
1、从用户的角度考虑
例子:
中国银行某支行公布的反假币电子邮箱地址长度超70个字母。
该银行工作人员解释称,该地址在内部使用时是中文,和外网衔接会变成一长串代码。
有网友根据GBK编码翻译出部分代码对应的汉字为“出纳与现金管。”
猜测一下技术人员是怎么想的:
需求: 要一个电子邮箱地址,让人民群众能发邮件投诉假币和其他事情。
技术人员: 好,内网地址搞好了,工具自动转成外网的地址。搞定!
测试人员: 把邮件地址 copy/paste 到邮件地址,发送,收到了么?收到了。好,通过!
需求: 好,把邮件地址印成提示牌搬到营业处去!
有同理心的软件工程人员是这么想的。
客户是什么文化水平,平时在哪种情况下会发现假币,他们发现后会怎么样发邮件报告?
他们会在办公室里,一边喝茶,一边用鼠标键盘 copy/paste 邮件地址复制?
2、从头到尾都要记住用户的选择
留学生在某大型银行注册账号时遇到的麻烦:
用户上了银行的门户网站,把语言改成English,开始注册,虽然界面不是那么好用,但是经历反复尝试,好歹也做完了。
网站要向用户的手机发短信告知密码,(这些来访者一般买一个神州行 sim 卡放到他们自己的国外手机里)。
悲剧: 短信是中文的,在这些人的手机上显示为乱码。
用户使用任何软件来解决问题,软件从头到尾的各个部件要结合起来把用户的问题解决了。
用户在第一步已经告诉系统 - 我要用英文!
负责 “发短信”的模块知道这一点么?这样的问题,可以通过 “基于场景的设计”来强化团队成员对用户体验连贯性的理解。
3、 短期刺激和长期的好处/坏处
百事可乐与可口可乐之争
百事可乐推出新口味可乐,实验室反应良好;投入市场效果不佳,why?
在实验室里: 大家漱口之后,品尝几口或一听饮料
新产品甜味较大,口感很好,我喜欢!
在家里: 美国消费者一次买一箱 (24听),坐在沙发里,一边看电视一边喝。
新产品甜味较大,喝多了太腻味,喝不下去了。再也不买了。
4 不让用户犯简单的错误
在手术室里,麻醉师麻醉的过程中会用到不同的输液药品,有两个管子一模一样,
但是有截然不同的用途,这成为不少医疗事故的问题根源所在。
怎么改进?
1、加强培训;
2、在两个管子上加明显的标记;
3、增加人手,确认步骤,每次操作前多人确认;
4、加重对此类事故的处罚方式;
5、把两个管子的接口做得完全不一样,让犯错误变得不可能。
医院里选择了最后选项。实施了这个改进之后,手术室里因为麻醉失误而导致的死亡数量减少了95%。
我过去的做法:
在团队编程练习中,我们所描述的软件完全是按照自己的角度添加功能,没有向用户使用的方向考虑。
这导致写出的软件只是一个编程语言的练习,毫无工程意义。
今后的做法:
写一个软件的时候要为用户考虑,从用户使用产品的习惯和我们对产品的熟悉程度出发设计。
1、从用户的角度考虑
2、从头到尾都要记住用户的选择
3、 短期刺激和长期的好处/坏处
4、 不让用户犯简单的错误