可能重复:
人为因素设计(满足在UI设计的心理需求)
应该怎样开发者了解用户界面设计,易用性和人机交互的少技术方面?
什么样的知识的使用场景,用户行为模式和用户交互,我们应该拥抱设计有效的软件,可帮助用户解决他们在一个自然和简单的方式解决问题,而不建立壁垒和障碍,创造的心理?
有比建建筑,实施要求和创造一个非常漂亮的界面更设计的软件。 一个美丽的接口可能不一定是有用和有效的,反之亦然,一个丑陋的软件工具可以成为许多用户的喜爱的工具。 什么至少基本知识应该像样的开发人员或设计具有平滑的用户体验?
请关注一个问题的回答每,描述一个问题,举出一些实例,用户体验是如何受损,什么是处理这种情况的方式。
我将开始:
问题:接口有很多的控制,并立即在一个屏幕上的选项可以压倒用户。 他们将不得不浪费时间翻翻他们都试图找到他们所需要的一个选项。 他们还将在这个过程中分心,看多了一个功能,去那里了解它,也许阅读的帮助,看看它是否能够解决他们的问题,然后又一个,以此类推,直到他们完全丧失。
实例:作为一个很好的例子,我将列举的2007年之前版本的Microsoft Word(以及其他Office应用程序)。 菜单和选项的绝对数量一直把我吓坏了。 我设法记住了,我需要最常见的选择,但仅此而已。 一切多余的,我倾向于谷歌的事情,我需要了解在哪里这个特殊的功能位于选项的森林。
解决方案:隐藏了身后的几个菜单和子菜单逻辑结构该用户的所有额外的选项,以便能够通过逻辑思维的过程中找到他们。 2007年重新设计已通过分组选项到标签显然采取的问题考虑在内。 我发现我需要,无需Google只是想通过它可以属于并期待有许多新的选择。 不,它一直工作,但可以感觉到的改善。
现在,你有什么想法?
有用和有效的接口是美丽的。 看看他们的UI设计,而不是作为一个艺术专业。 :-)
- 简单 ; 少选择,因为可以完成需求。
- 公约 ; 遵循模式的用户已经非常熟悉。
- 观察 ; 观看的用户,并顺利他们有问题的地方。
- 温柔 ; 写人类可读的错误。 不要打乱用户。
- 一致性 ; 做事以同样的方式无处不在的应用程序。 有一个人写的所有文字,或写一个标准的文本必须满足。
学会聆听。
用户会告诉他们想要的东西,但不是在你已经习惯了的话。 社交,坐下来,把你的时间和听。 看着他们的工作,提出问题。 把一些想法“你想怎么......?” 并听取他们的答复。 不要以为事情会更好地为他们,问他们。 不要强迫他们失望了一定的路径,因为它更简单的代码。
有很多的控制,并立即在一个屏幕上的选项界面可以压倒用户。
Gmail有了这个口号“ 搜索,不排序 ”。 同样的原则也适用于用户界面。 至于你提到的用户已经通过google搜索功能,这样做自己。
现在,下一步是建立特征搜索权到应用程序的支持。 打了键盘快捷键,输入几个关键字,然后点击要使用的功能。 该IDE洞察在即将到来的RAD Studio 2010中的功能正是这么做的。
问题:用户界面通常不具有1对1的对应关系的域模型 :
- 有通信问题,因为程序员说说隐藏域模型,同时用户谈论的GUI。
- 有维修问题,因为用户通过基于任务的用户界面的限制。 他们经常需要问“一个新的屏幕要做到这一点”,即使域模型可能已经支持它。
解决方案: 裸对象的建筑设计模式 。 借此发挥到了极致,你甚至可以从域模型自动生成的GUI 。
我知道这个问题是有点老了,但我很惊讶地看到,没有人提到乔尔斯波斯基的优秀文章: 用户界面设计的程序员 。 这绝对是这是每一个开发者都应该阅读。 湖中有没有特别辉煌或独到的见解,它主要是常识,但它没有打开我的眼睛上一些不那么明显的点...
我用它来想asthetics是无用的,直到我试图卖掉我的房子。 扎实的基础,3个BRMS,2个浴室,2个车库,围栏码,等等,等等等等 - 直到我从我的3只狗去掉臭味没有人会去碰它。
更赏心悦目的应用程序/网站,更多的机会,它就会习惯。 现在,用户会试试看,并确定它是否确实呼风唤雨。 最后,如何使用呢? 这是一个点,当你可能会得到更多的反馈。
就像房子:摆脱杂乱,干净的一切,与一般的颜色调色板开始,让用户添加疯狂的颜色,如果想要他们。
我曾在某医药公司工作了近两年,我认为该接口的设计是几乎一样的功能一样重要。 看着用户提供旧复杂的遗留代码奋斗就是为了重新设计它的主要原因。 功能则是很少的重新开发代码或代替它的首要原因。
- 可用性研究
- 看的人使用你的代码
- 极限编程(间歇式输送预览代码在整个设计过程中)
对于提供代码,不仅满足了用户的需求,而且使他们快乐和富有成效的所有必要的。 在一天结束时,程序将只如果他们让你快乐和富有成效的使用。
文章来源: What should a developer know about interface design, usability and user psychology to create great software? [duplicate]