您知道哪些技术用于创建用户友好的GUI?
我可以命名以下特别有用的技术:
非阻塞通知(浮动对话框,如Firefox3或Vista的托盘区域中的弹出消息)
没有"保存"按钮
MS OneNote作为示例.
IM客户端可以自动保存对话历史记录
集成搜索
不仅可以通过帮助文件进行搜索,还可以搜索UI元素.
Vista向这样的GUI迈出了一大步.
Scout addin Microsoft Office是一个非常棒的主意.
面向上下文的UI(MS Office 2007中的功能区栏)
您是否在软件中实现了列出的技术?
编辑:
正如Ryan P所提到的,创建可用应用程序的最佳方法之一就是将自己置于用户的位置.我完全同意这一点,但我想在本主题中看到的是具体技术(如我上面提到的那些)而不是一般性建议.
如果您确实向用户提出了问题,请不要将其设为是/否问题.花时间创建一个新表单并将动词作为选择,如在mac中.
例如:
Would you like to save? Yes No
应该:
Would you like to save? Save Don't Save
这里有更详细的解释.
看看这本伟大的书不要让我想起史蒂夫克鲁格.
它专注于网络,但许多conepts适用于从搅拌机到汽车仪表板的任何东西.
涵盖的主题:
用户模式
设计扫描
明智地使用副本
导航设计
主页布局
可用性测试
他还有一个名为Advanced Common Sense的博客
以及一些随机的UI相关链接:
- Joel Spolsky的程序员用户界面设计
- 你应该意识到的10个可用性噩梦
第一原则:威尔弗雷德詹姆斯汉森
了解用户
尽量减少记忆
优化运营
工程师的错误
随后的扩展:Theo Mandel博士
将用户置于控制之中
明智地使用模式(无模式)
允许用户使用键盘或鼠标(灵活)
允许用户更改焦点(可中断)
显示描述性消息和文本(有用)
提供即时和可逆行动,以及反馈(原谅)
提供有意义的路径和退出(可导航)
容纳具有不同技能水平的用户(可访问)
使用户界面透明(便利)
允许用户自定义界面(首选项)
允许用户直接操作接口对象(交互式)
减少用户的内存负载
缓解短期记忆(记住)
依靠认可,而不是召回(认可)
提供视觉提示(通知)
提供默认值,撤消和重做(原谅)
提供接口快捷方式(频率)
推广对象动作语法(直观)
使用真实世界的隐喻(转移)
用户进步披露(上下文)
促进视觉清晰度(组织)
使界面保持一致
维持用户任务的背景(连续性)
保持产品内部和产品之间的一致性(经验)
保持互动结果相同(期望)
提供审美的吸引力和诚信(态度)
鼓励探索(可预测)
要添加到您的列表,aku,我会将可探索性作为我的最高优先级之一.基本上,我希望用户在尝试使用这些功能时感到安全.他们永远不应该放弃使用某些东西,因为担心他们的行为可能是不可逆转的.最常见的是,这是使用undo/redo命令实现的,但其他选项无疑是可用的,例如自动备份.
此外,对于更加面向流程的应用程序(而不是数据输入应用程序),我会考虑实现一个引导用户更多的界面.微软的归纳用户界面指南在这里可以提供帮助,尽管你需要非常小心,不要过度使用它,因为你可以轻松地减慢用户的速度.
最后,与包含文本的任何内容一样,使用户界面尽可能可扫描.例如,如果您有显示命令/选项的标题,请考虑将操作词放在开头,而不是问题词.Maudite提出的观点也是可扫描性的一个很好的例子,因为"不保存"按钮文本不依赖于前一段的上下文.
我从未见过任何人使用的有用技术是为禁用的UI控件添加工具提示,解释控件被禁用的原因.所以,如果有一个列表框是禁用的,为什么它被禁用,目前还不清楚,我想在它悬停,它告诉我它为什么被禁用.我想看到类似"这是禁用,因为在屏幕上两个文本框为空白或者是因为我没有在一些字段中输入足够的字符,或者因为我没做出了一定的作用."
我陷入了很多这样的情况,令人沮丧.有时我最终会在软件的论坛上发帖,询问为什么当工具提示可以在一秒钟内帮助我时控件显示为灰色!这些软件中的大多数都有帮助文件,这些文件在这些场景中无用.
试着假装你对你的软件一无所知并尝试使用它.然而,这是不实际的,因为你已经对应用程序有一定的思维定势.因此,观看其他开发人员或朋友使用该应用程序,并寻找痛点并寻求反馈.