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

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


当前回答

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

其他回答

一件容易的事。

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

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

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

在进行UI设计时,以下是我始终牢记的一些事情(到目前为止还不是一个完整的列表):

Communicating a model. The UI is a narrative that explains a mental model to the user. This model may be a business object, a set of relationships, what have you. The visual prominence, spatial placement, and workflow ordering all play a part in communicating this model to the user. For example, a certain kind of list vs another implies different things, as well as the relationship of what's in the list to the rest of the model. In general I find it best to make sure only one model is communicated at a time. Programmers frequently try to communicate more than one model, or parts of several, in the same UI space. Consistency. Re-using popular UI metaphors helps a lot. Internal consistency is also very important. Grouping of tasks. Users should not have to move the mouse all the way across the screen to verify or complete a related sequence of commands. Modal dialogs and flyout-menus can be especially bad in this area. Knowing your audience. If your users will be doing the same activities over and over, they will quickly become power users at those tasks and be frustrated by attempts to lower the initial entry barrier. If your users do many different kinds of activities infrequently, it's best to ensure the UI holds their hand the whole time.

"其他人做了什么来消除他们的 这方面的不足?” ——克里斯·巴兰斯

与你能找到的最少的电脑储蓄终端用户一起工作。(一个从未见过你的软件的新手)。 从他们那里得到反馈,看看是什么让他们觉得糟糕。 解决这些问题,把它交给另一个不懂电脑的用户, 重复这个过程。

当有足够多的新用户可以使用你的产品时,你就知道你已经完成了你的工作。

(此外,你的软件可能看起来很像微软的,你可能不会喜欢使用它…)

但这不是重点!关键是最终用户可以使用它,并且喜欢使用它!

不是开发者!

同时阅读这篇文章,我发现它在这个领域很有帮助。它基本上是说你应该向用户的需求让步。

换句话说……

你必须看看用户已经在尝试做什么……

人行道和学生

在我上大学的那个校园里,有一条学生们在上下课时留下的小径。当学校注意到这条小道时,他们在人们已经走过的地方竖起了栅栏。学校做错了。你想在学生们已经步行的地方建一条人行道!

视频商店和Netflix

再举一个例子,想想最近的音像店历史:很久以前有很多音像店:Block Buster video等等……人们不喜欢那些音像店的什么地方?当然是滞纳金。所以Netflix出现了,取消了滞纳金,因为它更符合客户/最终用户的需求。

现在,“积木老兄”和其他收费音像店一样,都要破产了。

这个更难做吗?让你的大脑停止运转,给人们他们想要的?当然是……这是让你的意志屈从于他们……这总是比较困难,但最终实现的目标是为最终用户提供他们想要的东西。

我坚持的主要经验法则是,永远不要同时做两件事。如果我正在处理后端代码,我将完成这一工作,休息一下,然后带着我的UI帽子返回。如果你在编写代码时尝试使用它,你将以错误的心态处理它,结果会得到一些糟糕的界面。

我认为同时成为一名优秀的后端开发人员和一名优秀的UI设计师是完全可能的,你只需要努力工作,阅读和研究相关主题(从Miller的#7到Nielsen的档案),并确保你理解UI设计的重要性。

我不认为这是一个需要创造性的案例,而是像后端开发一样,这是一个非常有方法,非常结构化的事情,需要学习。正是人们对ui的“创造性”创造了一些最大的可用性怪物……我的意思是,首先看看100%使用Flash的网站……

编辑:克鲁格的书真的很好……一定要读一读,特别是如果你要为网络设计的话。

你提到了《别让我思考》这本书。我强烈推荐你阅读这篇文章。