我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
当前回答
归根结底,这真的是关于同理心——你能站在用户的角度考虑问题吗?
当然,有一件事是有帮助的,那就是“吃你自己的狗粮”——以真正的用户身份使用你的应用程序,看看什么是令人讨厌的。
另一个好主意是找到一种方法来观察使用应用程序的真实用户,这可能是一个复杂的可用性实验室,有单向反射镜、屏幕视频捕捉、用户身上的摄像机等,也可能是简单的纸上原型,使用下一个碰巧走过大厅的人。
如果所有这些都失败了,请记住,UI过于简单总是比过于复杂要好。我们很容易说“哦,我知道如何解决这个问题,我只要添加一个复选框,这样用户就可以决定他们喜欢哪种模式”。很快你的UI就太复杂了。选择一个默认模式,并使首选项设置为高级配置选项。或者干脆不提。
如果你读了很多关于设计的书,你很容易就会被阴影和圆角等问题所困扰。那不是重要的东西。简单性和可发现性非常重要。
其他回答
关于用户反馈,如果你使用的是Mac, Silverback (http://silverbackapp.com/)是一个很好的工具。我建议创建一个要做的事情列表(找到这部电影,观看预告片,找到这个演员的这部电影,购买它,等等),让用户坐在那里,沿着列表走下去。
最重要的是不要告诉他们怎么做,而是看看他们如何完成任务(对于第二个场景,他们是按角色浏览还是按字母顺序查找场景?)你可以从你公司里不懂技术的人开始,然后到Craigslist网站或街上随便找个人来测试。
我认为我们不能设计ui的原因是因为我们是完美主义者,不能决定什么时候足够好才是足够好。我知道我个人无法忍受UI设计,因为我总是怀疑自己,说:“不,那还不够好。”
UI设计与其说是科学,不如说是艺术,它需要你对用户的理解和与他们感同身受的能力。
这和整天对着电脑说话是完全不同的。
我认为人们并不总是意识到这一点。
这里有一个小小的自我测试:看看FamFamFam的丝绸图标。考虑一下在您编写的上一个应用程序中选择哪个图标来表示各种功能。如果花超过十分钟的时间来做这件事让你的眼睛开始呆滞,那么UI设计可能不适合你。
Neal Stephenson所著的《In the Beginning was the Commandline》是一本关于用户界面及其重要性的好书。不是每个人都需要GUI,只是很多人不编程。这就像迪士尼世界的动物王国和实际的亚马逊之间的区别。
当开发人员考虑UI时,他们通常会想到他们可以用于这个或这个任务的完美小部件(这里的小部件指的是文本区域、组合框、交互式Ajax搜索字段……)UI,尤其是HCI,应该在较低的层次上考虑。将关于UI的反思分为4个步骤是很有趣的:
任务和概念模型:从开发人员的角度来看,这是最难以理解的。你必须从反思中抽象出你对未来平台的所有想法,以及你可以使用的语言。[Paterno, 97]是该领域的参考文献。将任务定义为树,其中任务有子任务。 下面是一个导出任务的示例。
然后定义抽象UI:这是关于将任务和子任务分组到工作空间。 具体的UI:你现在可以决定使用哪个交互器。现在您应该考虑平台(大屏幕、PDA、移动电话……)。这是钥匙。您的任务模型和抽象UI可以在多个平台中分解。 最后的UI,用选定的编程语言实现。