我是一名软件开发人员,拥有可用性工程方面的背景.当我在研究生院学习可用性工程时,其中一位教授有一句口头禅:"你不是用户".我们的想法是,我们需要将UI设计基于实际的用户研究,而不是我们自己关于UI应该如何工作的想法.
从那以后,我看到一些好的例子似乎证明我不是用户.
用户尝试使用电子邮件模板创作工具,并试图输入管道(|)字符.问题是,键盘上的管道中间有一个空间.
在网络应用中,用户看不到首屏内容.常见的.我们告诉她向下滚动.她不知道我们在谈论什么,也不熟悉滚动拇指.
我正在听技术支持电话.Rep告诉用户关闭浏览器.在后台我听到Windows关机叮当声.
这有什么其他好的例子?
编辑:为了澄清,我正在寻找开发人员做出假设的例子,这些假设对于用户将会知道,理解等等是非常错误的.
我认为最大的例子之一是专家用户倾向于使用应用程序.
他们说,"好的,我有这个工具,我该怎么办?"
您的普通用户将操作系统,文件系统或应用程序的生态系统视为一个可怕的地方,他们可能会迷失并永不返回.
对于他们来说,他们想要在计算机上做的一切都是基于任务的.
"我如何刻录DVD?"
"如何将照片从相机上传到此网站."
"我怎么送妈妈一首歌?"
他们想要一个起点,一个可重复的工作流程,他们希望每次必须执行任务时都这样做.他们不关心简化流程或找到最佳方法,他们只想要一种可重复的方法来完成它.
在构建Web应用程序时,我很快就学会了将应用程序的起始页面与菜单分开,其中基于任务的链接指向应用程序以非常大的字体进行的主要操作.对于普通用户来说,这大大增加了可用性.
所以请记住这一点:用户不想"使用您的应用程序",他们希望获得特定的功能.
在我看来,"开发人员不是用户"最明显的例子是常见的确认对话框.
在大多数基于文档的应用程序中,从最复杂的(MS Word,Excel,Visual Studio)到最简单的(记事本,Crimson编辑器,UltraEdit),当您使用未保存的更改关闭应用程序时,您会得到如下对话框:
Untitled文件中的文本已更改.
要保存更改吗?
[是] [否] [取消]
假设:用户将阅读对话框
Reality:平均阅读速度为每秒2个字,这需要9秒.许多用户根本不会阅读该对话框.
观察:许多开发人员阅读速度比典型用户快得多
假设:可用的选项都是同样可能的.
现实:大多数(> 99%)用户希望保存更改.
假设:用户在点击选择之前会考虑后果
现实:按下按钮后,用户会在一瞬间对选择产生真正的影响.
假设:用户将关心正在显示的消息.
现实:用户专注于他们需要完成的下一个任务,而不是他们的计算机的"照顾和喂养".
假设:用户将理解该对话框包含他们需要知道的关键信息. 现实:用户将对话视为一种速度障碍,只是想以最快的方式摆脱它.