程序员如何提高他们的UX技能?[关闭]


17

作为程序员,我们可以解决非常复杂的问题,但是,当我们必须设计用户界面时,我们往往无法使它们易于使用。

在小型公司中,他们负担不起设计师和UX专家的负担,程序员几乎必须完成软件中的所有工作。但是这些界面很少直观(经典示例)。

问题是什么?开发人员如何提高设计良好用户体验的技能?


7
我们?口袋里有鼠标吗?请不要将所有开发人员归为一类,因为坦率地说,这不仅不正确,而且开发GUI的开发人员肯定比通常的非开发人员更擅长于此。
GrandmasterB 2010年

1
我认为您会发现这部漫画无法与其他许多非google.com搜索或iDevice的产品进行比较。漫画中的第一帧和第二帧都表示单向通信。第三个不是。这三个都被夸大了。
史蒂文·埃弗斯

2
@GrandmasterB,别那么认真。无论如何,我都编辑了标题,以避免过于笼统。
jmservera 2010年

@SnOrfus,例如,谷歌的adwords界面令人痛苦。
GrandmasterB 2010年

FYI:我发现在UI网站类似的问题:ui.stackexchange.com/questions/1863/...
jmservera

Answers:


9

我在职业生涯中曾多次遇到此问题-诀窍是首先意识到这是一个问题,然后予以承认。完成此操作后,停止制作过于复杂的界面会更容易。

用户界面也是软件工程的一部分,但对于许多软件工程师而言,可能并不是那么有趣。但是,与此相关的还有许多有趣的挑战,根据我的经验,它们可能与更多的技术挑战一样有趣。

可用性,用户体验设计(UX),人机交互(HCI)-并非神奇,它软件开发过程的一部分。

我的提示是:

  • 承认你的局限性
  • 问和听那些声称知道这些事的人
  • 如果不确定,请在Google上搜索并寻找权威性答案

多年来,通过遵循这些简单的原则,我实际上积累了关于如何构建用户界面,人们如何与软件交互以及在使用软件时的想法的有用信息。我绝不是专家,但我大概知道一个更比一般的程序员位。

Tl; dr: KISS


有些人自然会在乎简单的UI。其他人可能会不在乎,也不想浪费时间。
工作

6

这是生物的。

  • UI和所有其他与设计相关的任务都涉及右脑
  • 编程任务涉及左脑

他们有不同的目的。

两者兼具是非常罕见的。至少在同一时间。

脑

更新:我最近得知还有其他因素,例如经验。除了一些遗传因素外,您还可以根据童年时期的触发方式来发展智力。例如,受虐待的孩子通常比对照组更有创造力,因为他们学会了脱离梦中可怕的现实。


1
您能否支持“两者兼得非常罕见。至少同时要好。” 有这样的研究/文章?
c_maker 2011年

6
“在流行心理学中通常对一侧或另一侧具有诸如“逻辑”或“创意”之类的特征标记进行广泛概括。这些标记需要仔细对待;尽管可以测量横向优势,但实际上这些特征存在于双方,实验证据几乎没有提供将双方结构差异与功能差异相关联的支持。” 摘自Wikipedia文章en.wikipedia.org/wiki/Lateralization_of_brain_function
c_maker

而且,除非它回答“什么是问题?”,否则根本无法回答问题。这个答案表明,你不能同时擅长于两者,而这根本不是真的。ER可能很困难,因为人们对此没有足够的实践,但这并不困难。
c_maker 2011年

@c_maker:不幸的是,我所有的心理学课程都是法语。但我可以提到,在他们mentionned的研究:,1975年Zaidel加扎尼加1976年,1968年斯佩里

尽管我尊重您可以支持您的论点,但我不得不说这些日期是很久以前的事情了。从那时起,发生了很多变化。我们对大脑的了解仍然很少,但是那时我们所了解的却少得多。
c_maker 2011年

4

我想您可能会争论程序员和设计师如何具有不同的心态或个性,或者争论左脑与右脑以及创意与逻辑,但实际上,存在三个基本问题:

  1. 程序员的工作是他们的软件。他们在乎它。他们全神贯注于此;他们可以为此感到兴奋。用户的工作是另一回事;该软件仅仅是为了便于做别的事情的工具,他们想花尽可能少的时间,可能在关注它,让他们可以专心的是他们做的关于照顾。只要程序员误解了这一点,他们就会在UI设计中做出错误的权衡。(有关此主题的更多信息,请参阅Joel Spolsky的“控制环境使您感到高兴”David S. Platt的“基本法则”。)
  2. 程序员非常了解他们的软件。他们对细节和复杂性感到满意;他们了解其作用的原因,因为他们拥有完整的心理模型。用户没有机会(或没有兴趣;请参阅第1点)来学习每一个细节,而且由于他们无法访问或理解源代码,因此他们不可能拥有完整的思维模型。(有关心理模型的重要性的更多信息,您也许可以阅读Donand Norman的日常事物的设计》;尽管它不是特定于计算机的,但它是一本有关界面设计的好书。)
  3. 程序员的权衡与用户不同。程序员可以轻松地决定保留过于复杂的功能,或者只是半自动化的功能,或者以其他方式使它无法使用,因为对于程序员而言,解决可用性不足比对代码进行正确编码要容易得多。用户不在乎(多少)程序员需要花费多少精力来正确地对其进行编码,而是希望其完全可用。

第三个问题可以通过有足够的纪律来解决,而不是轻易走出困境。我不确定前两个问题是否可以解决。您离工作越近,就越难以像局外人那样看待工作。这就是为什么可用性测试(甚至是简单,非正式的东西,例如在大厅里抓住某人并将其坐在您的应用程序前面)如此重要的原因。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.