我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
当前回答
我认为他们的技能非常不同。优秀的设计师了解人类行为、颜色和字体的心理等。我认为这就像同时做营销人员和开发人员一样。非常有挑战性,但也不是不可能。
我会试着找一些用户界面专家,看看他们的学习建议是什么。除非你设计的是像谷歌这样极简主义的东西,否则如果这是一个重要的项目,你最好雇佣那些研究过UI艺术的人。
也就是说,如果你正在设计一款非常实用的应用,我认为你可以试着专注于界面的简单性和清晰度——我认为这至少是谷歌成功(以及堆栈溢出)的一半关键——即它是直观的,使用起来很愉快。
其他回答
我认为这是因为一个好的UI是不符合逻辑的。好的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.
实际上,很难确定程序员认为界面交互是什么,除了交流过程之外,但问题可能是它根本没有被认为是任何东西。
原因有很多。
(1)开发者不能站在用户的角度看问题。这是通常的怀疑:缺乏同理心。但这通常不是真的,因为开发人员并不像人们想象的那样陌生。
(2)另一个更常见的原因是,开发人员太接近自己的东西,在他的东西上呆了这么长时间,没有意识到其他人可能并不那么熟悉他的东西(这是一个比直觉更好的术语)。
(3)还有一个原因是开发人员缺乏技术。
我的最大主张:阅读任何UI,人类交互设计,原型书。例如:设计显而易见的:一种Web应用程序设计的常识方法,不要让我思考:一种Web可用性的常识方法,设计时刻,等等。
他们如何讨论任务流程?他们如何描述决策点?也就是说,在任何用例中,至少有3条路径:成功、失败/异常、替代。
因此,从点A,你可以去A.1, A.2, A.3。 从点A.1,你可以得到A.1.1, A.1.2, A.1.3,等等。
他们如何显示这种向下钻取的任务流程? 他们没有。他们只是掩饰它。
因为即使是UI专家也不具备技术,所以开发者也没有机会。 他认为这在他的头脑中是清楚的。但它甚至在纸上都不清楚,更不用说在软件实现中了。
我必须用我自己的手工制作技术。
因为他们通常不是UI设计师。这是一种不同的技能。这是它。
十年前,我的UI设计真的很糟糕……我想这些年来帮助我变得更好的是谦逊和追求完美的健康结合。
底线:永远不要对你过去或现在的成就过于满足。从自己和他人的错误中学习。