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

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


当前回答

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

其他回答

要改进,只要看看现有的网站。除了已经推荐的书,你可能还想看看罗宾·威廉姆斯的好书《非设计师设计书》(亚马逊链接)。

通过看看禅宗花园提交的各种作品,看看视觉设计中有什么可能。

UI设计绝对是一门艺术,就像C语言中的指针一样,有些人懂,有些人不懂。

但至少我们可以对他们的尝试笑一笑。顺便说一句,感谢OK/Cancel的搞笑漫画,感谢Joel把它放在你的书“最好的软件写作I”(经过亚马逊链接的清理)中。

“我们能做些什么来重新训练我们的大脑,让它更有效地设计出令人愉悦、有用的展示层吗?”

是的——使用接口驱动的架构。首先根据业务需求设计用户流程——然后根据用户流程设计编程逻辑和数据库。如果你将中间层和后端设计成服务前端的结构,那么你将拥有一个以用户为中心的应用程序。

无论你怎么做(上面有一些很棒的观点),它真的帮助了我,一旦我接受了没有这样的事情作为直觉....

我能听到地平线上争论的隆隆声……我来解释一下。

直觉的:基于一种无意识的方法或感觉,使用自己感觉正确或真实的东西。

如果(正如卡尔·萨根(Carl Sagan)所假设的那样)你接受你无法理解与你所遇到过的任何事物完全不同的事物,那么如果你从未使用过类似的东西,你怎么可能“知道”如何使用它呢?

想想看:孩子们试图打开门,不是因为他们“知道”门把手是如何工作的,而是因为他们看过别人这样做……他们经常把旋钮转错方向,或者拉得太快。他们必须学会如何使用门把手。然后,这一知识被应用到不同但相似的例子中:打开窗户,打开抽屉,打开几乎任何有大把手的大东西。

即使是对我们来说很直观的简单事情,对来自其他文化的人来说也完全不是直观的。如果有人把他们的手臂伸出在他们面前,并放弃他们的手在手腕上,同时保持手臂静止....他们放弃你了吗?可能吧,除非你在日本。在那里,这个手势可以表示“过来”。那么谁是对的呢?当然,两者都有各自的背景。但如果你两个都去过,你就需要了解它们……UI设计。

我试着找到我项目的潜在用户已经“熟悉”的东西,然后围绕他们构建UI:以用户为中心的设计。

看看苹果的iPhone吧。即使你讨厌它,你也必须尊重它所付出的心血。它完美吗?当然不是。随着时间的推移,物体感知的“直觉性”可能会增长,甚至完全消失。

为例。大多数人都知道,一条顶部和底部有两排孔的黑色带子看起来像一条薄膜带……真的是这样吗?

问问普通9岁或10岁的孩子,他们是怎么想的。你可能会感到惊讶,现在有多少孩子很难把它认出来是电影连环画,即使它仍然被用来代表好莱坞,或任何与电影有关的东西。过去20年里,大多数电影都是用数字技术拍摄的。我们最后一次拿着照片或胶片是什么时候?

所以,对我来说,这一切都归结为:了解你的受众,不断研究,以跟上“直观”事物的趋势和变化,瞄准你的主要用户,尽量不要为了支持高级用户而惩罚没有经验的用户,或者为了帮助新手而减慢高级用户的速度。

最终,每个程序都需要用户经过一定程度的培训才能使用。培训多少以及针对哪个级别的用户是需要做出决策的一部分。

根据您的目标用户过去作为人类、计算机用户或学生的经验水平,有些东西或多或少是熟悉的。

我只是瞄准钟形曲线中最胖的部分,并试图获得尽可能多的人,但意识到我永远不会取悦所有人....

“好的UI设计”其实是两个问题:

获得正确的设计 正确的设计

两者都是难题。以我的经验来看,这两件事应该并行进行,这样才能避免在项目后期出现糟糕的惊喜(“为什么我们在IE8中拖放的速度非常慢??”你说它无法修复是什么意思??”)

为了得到正确的设计,你必须探索各种可能性。书籍可以引导你尝试对你的情况最有意义的事情-经验当然更好。此外,你绝对需要来自真实用户的反馈——否则你怎么才能发现设计已经是正确的呢?)你当然看不出来。继续阅读!)

“使设计正确”是下一个问题,因为这意味着必须执行你认为合适的设计。

那些“用户体验/图形用户界面”的事情是如此困难,因为找到正确的答案包括理解人类想要什么——他们不能客观地告诉你,而你也不能从“外部”找到。这意味着(经验)引导的试错方法是唯一可行的方法。


为了更清楚地回答你的问题:

为什么优秀的UI设计对某些人来说如此困难 重击

对于硬核开发人员来说,一个大问题是,他们对软件如何工作的理解与用户认为它如何工作的理解是非常不同的(例如,URL“www.stackoverflow.com”应该写成“com.stackoverflow.com”,如果你知道DNS如何工作的话。但试着销售一个浏览器,它期望url:))。

作为旁注:我建议你着眼于“体验设计”而不是“用户界面设计”,但这是另一个故事。

一件容易的事。

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

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

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