虽然新手软件设计师希望他们的用户行为理性,但事实并非如此;我已经多次看到用户感知与现实完全脱节,或者反馈显然是不合理的。
我认为我们应该适应,而不是相反。
我知道只有一种方法可以做到这一点:倾听用户的意见,尤其是关于他们不喜欢他们使用的软件的什么。
如果到目前为止我学到了一件事;他们经常抱怨人们意想不到的事情
你从用户那里学到了什么意想不到的东西?
虽然新手软件设计师希望他们的用户行为理性,但事实并非如此;我已经多次看到用户感知与现实完全脱节,或者反馈显然是不合理的。
我认为我们应该适应,而不是相反。
我知道只有一种方法可以做到这一点:倾听用户的意见,尤其是关于他们不喜欢他们使用的软件的什么。
如果到目前为止我学到了一件事;他们经常抱怨人们意想不到的事情
你从用户那里学到了什么意想不到的东西?
几年前,医院(至少是法国医院)使用旧的 win 3.11 软件运行。每一项任务都很乏味。将某人从一个房间移动到另一个房间对于专家用户来说需要 5 分钟
我的一个朋友正在向这些人销售最新的软件。对于一个初学者来说,同样的简单任务需要 30 秒。
虽然大多数用户对新软件非常满意,但也有少数用户在抱怨,这并不奇怪(总是有少数用户在抱怨)。更出乎他们意料的是他们的原因:软件太慢了。“同样简单的任务是瞬间完成的,现在需要很长时间才能完成。把我的旧软件还给我”,他们会说。
我的朋友决定见他们,并要求他们提供他们抱怨的慢的现场演示。
“看,用户说,用我的旧软件:我输入名字,输入,名字,输入,入场号,输入,旧房间号,[……在这里插入 5 分钟……] 新房间号输入……它已经完成了......看......一切都是瞬间的”</p>
“现在,看看你的软件。正如你教我的那样,我做了一个拖放操作。我等,我等……看,它完成了……我已经等了将近 30 秒……”</p>
这是一个真实世界的例子。它真的发生了。我很确定,如果软件被修改为要求提供在 30 年代之后会丢弃的无用信息,那么该用户对新软件的感觉会好得多
如果你仔细想想,不存在非理性的用户行为,只是你的期望与他们的期望不匹配。关闭它的唯一方法是通过对话。这并不一定意味着进行可用性研究,通常正确的对话是让他们阅读帮助,以便轻松处理差异。
唯一错误的做法是不听他们在说什么 - 或者听而不是真正听到他们(请参阅此处关于 Mac 上的 IE 的帖子 - 这是傲慢的高度)。当然,您会遇到一些不喜欢更改并且会抱怨任何事情的人,但一般来说,如果用户会花时间指出您的软件中的某些错误,那么您应该倾听。你可以选择忽略它们,但如果你听对了,你可能会很容易地发现真正的宝石。
我不相信您的用户或客户会经常为您创新,但我坚信他们是您的软件可用的关键,而可用性直接导致成功。因此,将它们描述为非理性可能不符合您或他们的最佳目的。最好认真对待它们,并过滤掉您认为不好的反馈。
多年前为手持设备开发时,一位用户与我联系,他抱怨他们的设备在通电后立即关闭。原来是一个错误;启动消息以“按任意键继续”行结束。它应该说“按任何键,除了标有电源的大红色键,继续”。
多年来我学到的一件事是,在进行任何接近设计之前与最终用户进行需求分析的时间非常重要,了解用户的文化和教育背景也非常重要。设计外观和工作方式与现有手动系统相似的计算机系统是一个良好的开端,理解工作流程也是如此。我参与的另一个手持货车销售交付系统被指定在交付时寻找屏幕上的客户签名,这是完成交易所必需的。事实证明,大多数交付实际上是在早上有人签收之前发生的,因此感知到的工作流程与现实完全不符。客户 IT 人员实际上并不知道这一点,业务分析师也不知道。
在我之前的工作中,我正在为一家大银行设计一个庞大的交易软件。该软件通常需要大约 5 分钟才能启动。
当然,用户对启动时间的抱怨很多,尤其是白天软件崩溃时,这种情况时有发生。
从我们添加详细进度条的那一天起(进度非常规律,带有剩余项目数量的指标),投诉几乎停止了。
典型的用户会说“我以前需要很长时间才能加载,但现在,它非常快”
我们的下一步是在加载数据之前而不是之后显示用户界面(从 IT 的角度来看这更有意义)
这一次,由于在加载期间影响 UI 的成本,修改导致性能略有下降(从 500 万到 5"30)。从用户的角度来看,这种方式的软件要快得多!!
我曾经为图像制作 cms。管理员基本上会浏览用户制作的图像页面,并检查他想要发布的图像。我写了一本关于系统如何工作的很好的手册,但是因为每个人都知道人们不阅读手册,所以我在页面上放了一些指南来告诉你该怎么做(在这种情况下,比如:“选中你想要的每个图像的框发布”)。
没过多久,有人拉住我的袖子:“你的程序有一个错误。它实际上扔掉了我没有选择的图像,而不是我选择的图像”。
问题是通过让他大声朗读页面上的文字来解决的。
虽然新手软件设计师希望他们的用户行为理性,但事实并非如此;我已经多次看到用户感知与现实完全脱节,或者反馈显然是不合理的。
我认为我们应该适应,而不是相反。
你是说我们应该适应非理性行为吗?软件开发已经够不合理了(动态语言、测试驱动开发……),你还指望我们单方面倒退以适应一些扭曲的期望?
几年前,我设计了一个小应用程序,主要是为了帮助用户在数据库中输入复杂的数据。他们的旧方法是将所有内容输入到 Excel 工作表中(无需任何形式的验证),然后使用 vba 宏。
我的新程序添加了验证,并且能够自动填充他们之前手动输入的几乎一半的数据。
我预计会成功......它根本不是......:)
“简直无法使用”,他们说……我已经测试过了,让我妈妈测试过……我的软件很好……
事实上,这些用户非常习惯于输入重复数据,以至于他们只使用键盘,而不是鼠标。当然,我没有想过正确管理标签顺序,所以每次点击“标签”时,光标都会到处乱跳,因此“无法使用”评论!