我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
当前回答
当开发人员考虑UI时,他们通常会想到他们可以用于这个或这个任务的完美小部件(这里的小部件指的是文本区域、组合框、交互式Ajax搜索字段……)UI,尤其是HCI,应该在较低的层次上考虑。将关于UI的反思分为4个步骤是很有趣的:
任务和概念模型:从开发人员的角度来看,这是最难以理解的。你必须从反思中抽象出你对未来平台的所有想法,以及你可以使用的语言。[Paterno, 97]是该领域的参考文献。将任务定义为树,其中任务有子任务。 下面是一个导出任务的示例。
然后定义抽象UI:这是关于将任务和子任务分组到工作空间。 具体的UI:你现在可以决定使用哪个交互器。现在您应该考虑平台(大屏幕、PDA、移动电话……)。这是钥匙。您的任务模型和抽象UI可以在多个平台中分解。 最后的UI,用选定的编程语言实现。
其他回答
一件容易的事。
开发人员不是设计师。他们没有接受过设计方面的培训或尝试学习,所以他们为什么要擅长UI设计之类的东西呢?这几乎等同于在说“为什么会计对某些开发者来说如此困难?”
UI设计本质上是设计,而设计是规则的视觉表现。擅长设计意味着你理解为什么某些东西应该以某种方式显示、运行和表现(例如,为什么链接应该突出显示,或者为什么标题应该在页面顶部)。
设计和开发是两种完全不同的东西,但都需要背景知识和实际工作。如果你不愿意花时间在其中一个科目上,那么你就不会很擅长它,不管你的一个程序/网站看起来有多好。
我知道,当我制作出一个糟糕的UI时,几乎总是因为我过于专注于它的特定部分。
在开发和测试一个特定功能的过程中,我几乎总是会多次使用它。
在我检查了十几次之后,我就处于这样一种心态:我确切地知道我要做什么,也确切地知道我需要做什么才能让程序按我想要的做。我也和观看这个特定的作品功能本身,一遍又一遍,直到它“完成”。当我在测试时,我会快速浏览应用程序/菜单/工作流/其他内容。
用户的情况完全不同。他们没有把软件的这一部分看作一个独立的“块”。他们并不总是经常这样做,当他们经常这样做的时候,他们肯定不会经常独自做。他们不会像开发人员那样“跳过”过程的其余部分,只专注于这一部分。
重要的是试着看UI,然后思考“我应该用它做什么?”如果不清楚,说明你做错了。我们所处的情况是,我们知道软件需要什么输入,我们只是想办法获得这些输入。用户所处的情况是他们想要某种结果,他们想知道他们必须做什么才能得到这个结果。
这一切都是关于练习,一些训练和回顾。但是大多数后端开发人员工作的环境中,优秀的ui设计并不真正受到管理层的重视。
在阅读了一些关于UI设计的文献之后,组织一些关于UI设计的代码dojo。
左脑对右脑。有些人没有艺术感。
我敢打赌,通过学习和勤奋,任何人都可以在界面设计方面做得更好。这并不意味着你会成为一流的美工或设计师。
我认为改进总是有可能的。
我认为我们不能设计ui的原因是因为我们是完美主义者,不能决定什么时候足够好才是足够好。我知道我个人无法忍受UI设计,因为我总是怀疑自己,说:“不,那还不够好。”