我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?

同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?


当前回答

一个有用的框架是积极地考虑你在设计一个沟通过程时所做的事情。在非常真实的意义上,你的界面是一种语言,用户必须使用它来告诉计算机该做什么。这导致我们考虑以下几点:

Does the user already speak this language? Using a highly idiosyncratic interface is like communicating in a language you've never spoken before. So if your interface must be idiosyncratic at all, it had best introduce itself with the simplest of terms and few distractions. On the other hand, if your interface uses idioms that the user is accustomed to, they'll gain confidence from the start. The enemy of communication is noise. Auditory noise interferes with spoken communication; visual noise interferes with visual communication. The more noise you can cut out of your interface, the easier communicating with it will be. As in human conversation, it's often not what you say, it's how you say it. The way most software communicates is rude to a degree that would get it punched in the face if it were a person. How would you feel if you asked someone a question and they sat there and stared at you for several minutes, refusing to respond in any other way, before answering? Many interface elements, like progress bars and automatic focus selection, have the fundamental function of politeness. Ask yourself how you can make the user's day a little more pleasant.

实际上,很难确定程序员认为界面交互是什么,除了交流过程之外,但问题可能是它根本没有被认为是任何东西。

其他回答

UI设计与其说是科学,不如说是艺术,它需要你对用户的理解和与他们感同身受的能力。

这和整天对着电脑说话是完全不同的。

我认为人们并不总是意识到这一点。

这里有一个小小的自我测试:看看FamFamFam的丝绸图标。考虑一下在您编写的上一个应用程序中选择哪个图标来表示各种功能。如果花超过十分钟的时间来做这件事让你的眼睛开始呆滞,那么UI设计可能不适合你。

一件容易的事。

开发人员不是设计师。他们没有接受过设计方面的培训或尝试学习,所以他们为什么要擅长UI设计之类的东西呢?这几乎等同于在说“为什么会计对某些开发者来说如此困难?”

UI设计本质上是设计,而设计是规则的视觉表现。擅长设计意味着你理解为什么某些东西应该以某种方式显示、运行和表现(例如,为什么链接应该突出显示,或者为什么标题应该在页面顶部)。

设计和开发是两种完全不同的东西,但都需要背景知识和实际工作。如果你不愿意花时间在其中一个科目上,那么你就不会很擅长它,不管你的一个程序/网站看起来有多好。

许多开发人员认为,因为他们会写代码,他们就可以做所有的事情。设计界面是一种完全不同的技能,在我上大学的时候根本没有教过这门技能。这不是与生俱来的。

另一本好书是唐纳德·诺曼的《日常事物的设计》。

我认为我们不能设计ui的原因是因为我们是完美主义者,不能决定什么时候足够好才是足够好。我知道我个人无法忍受UI设计,因为我总是怀疑自己,说:“不,那还不够好。”

我知道,当我制作出一个糟糕的UI时,几乎总是因为我过于专注于它的特定部分。

在开发和测试一个特定功能的过程中,我几乎总是会多次使用它。

在我检查了十几次之后,我就处于这样一种心态:我确切地知道我要做什么,也确切地知道我需要做什么才能让程序按我想要的做。我也和观看这个特定的作品功能本身,一遍又一遍,直到它“完成”。当我在测试时,我会快速浏览应用程序/菜单/工作流/其他内容。

用户的情况完全不同。他们没有把软件的这一部分看作一个独立的“块”。他们并不总是经常这样做,当他们经常这样做的时候,他们肯定不会经常独自做。他们不会像开发人员那样“跳过”过程的其余部分,只专注于这一部分。

重要的是试着看UI,然后思考“我应该用它做什么?”如果不清楚,说明你做错了。我们所处的情况是,我们知道软件需要什么输入,我们只是想办法获得这些输入。用户所处的情况是他们想要某种结果,他们想知道他们必须做什么才能得到这个结果。