开发者和设计师:为何我们不能化干戈为玉帛?交互设计
开发者和设计师:为何我们不能化干戈为玉帛?交互设计 篇1
只要涉及到可视化编程,程序员和设计师之间就会出现矛盾,当谈及一些程序开发问题时双方就会产生分歧,尽管我们都知道在创建有效的应用程序时两个团队成员都很重要。设计师看到最初的设计版本与最终的版本不同时总会感到失望;而程序员则会抱怨说是设计师设计问题(有点鸡蛋里挑骨头)!
许多冲突源于两者之间缺乏理解,这也是导致设计师/程序员产生分歧的原因。为了两者之间的和平,本文总结了一些经验教训,作为设计师/程序员不妨学习下,知己知彼,方能百战百胜。
设计师说:我们并不是有意为难
我们努力做好工作,我们并不是有意为难。
设计师需要维护开发者们的声誉,在你们看来我们更喜欢形式功能,但事实并非如此。设计师努力尝试做出最适合的功能,以便这些功能都能被采用。
越来越多的设计师开始注重用户体验(user-experience)而非平面设计。在进行设计之前了解用户需求这有一点对于设计师来非常重要。有时我们会尝试添加一些漂亮的图形,希望用户有更好的用户体验。
程序员说:我们并不想有意为难
当我们编写代码时,完成项目只是其中的一部分,应用程序会随着时间的改变而改变,我们要做的是确保这些变动能轻易地进行更改。我们需要编写代码来测试自动化测试框架。当程序员从设计师那请求修改产品时,无论是HTML格式、文件命名或者目录结构,所做的一切都是为了确保该产品在将来测试能够保持更佳地灵活性。
别担心,我们不会要求过多的灵活性。创建灵活性是非常珍贵的,我们懂得“YAGNI”适可而止的设计(这个原则简而言之为——只考虑和设计必须的功能,避免过度设计)。我们尽量避免这种情况。
设计师说:形式问题影响功能
形式不追随功能,形式可以赋予功能特征。程序员可以设计某些功能让你轻易获得所需。如果我们想要用户点击某个按钮或者执行某个动作,图形和布局就能帮助用户知道或者进行猜测如何获取他们想要的结果。
经验告诉我们设计出一款特定的方式尤其适用于在线应用程序。即使是简单的设计包括按钮,表单或者照片选项,当作出选择时我们使用了明智的决策方法。通过位置、颜色以及视觉显示即可告诉设计师某人正在参与互动,但前提是你需要创建一个互动环境。
举个例子,世界上首屈一指的品牌导航,下图是保时捷分层导航的屏幕截图。简洁、良好的结构设计功能可以使用户产生愉悦感!
程序员说:命名事宜
当我们构建一个应用时有许多不同组件需要跟进。除了网页、图形、源代码文件、数据库列表、列还有许多其他组件需要管理。而一致的命名是我们的第一要务。
当一个设计师在文件系统GUI中拖放文件时,如果该文件命名为submitButton.gif或submit-button.gif或许无法区分两者。我们从数据库领域到文件名到CSS类几乎所有都采用了标准命名。这就表示编码部门有了标准或者他们遵循了不成文的规则,有了一致的命名使工作更加轻松。
我们旨在让命名更加具有描述性和可预见性。相似的命名项目明显是某个命名的重要组成部分。比如名为submit1.gif和submit2.gif无需解释两张图片之间的差异,但submit-green.gif和submit-red.gif就不同了。
设计师说:规则有助于我们了解
我们可以学习规则,但这只是有助于我们了解。规则我们可遵循也可不遵循。开发者有时会和我们讨论编程语言但我们并不理解,就如同设计师有时在讲开发你们也难以理解一样。一旦设计师和开发者都能理解了,最大的获益者便是用户。
上面提到使用文件命名的例子,只是想告诉我们应该遵循什么样的标准。我可以向你保证,如果我们知道了这是正确的方式,我们会以某种组图方式或者以小写字母方式命名,我们很乐意这么做。
设计师本质上并不会反抗,因为大多数情况下非常喜欢程序员。我们喜欢做自己想做的事情,也没有人告诉我们应该怎么做,我们属于乐天派。
设计师们在训练时就知道无需遵循条条框框,要有创新理念,但这并不是说要为难开发者工作。一旦设计师遵循了规则,那么她可以将创新凌驾于规则之上,而不会让功能更加困难。他们会因图片能否运用得当而起争论。
一旦我们有了某个平台或者框架比如WordPress,我们可以在已知地方设计,在哪设计更加有意义(背景图片,图案,颜色),在哪设计无意义(导航,嵌入罕见的字体,图形导航),
寻找一个独特的或者明智的方法来解决设计问题可以给设计师来带更加出色的工作表现。
程序员说:桌面上什么工作无法在Web上运行
创建一个漂亮的Web页面仅仅是这项工作的开始。当推送到Wen服务器时这就要求它呈现出来的效果很完美。
Windows桌面上的文件命名大小写之间的区别并不是很重要,但当发布到Linux Web服务器时,greenbutton.gif 和GreenButton.gif是不一样的,用户或者程序员或者测试人员会看到404。我更喜欢使用小写文件名,如果情况允许我会使用连字符来进行区分。
首先确保访问所有链接和文档以确保桌面上的任务能够很好运行。无论是页面上图片损坏或是CSS文件无法加载或是错误链接导致设计的页面很难运行,会出现这种情况:
你可能不会注意到桌面上浏览器图片加载时间,如果你使用漂亮的,全色的图片作为banner图,甚至是占据整个大半页面,那么加载的时间是非常缓慢。很多浏览器插件导致页面变宽,因此,请慎用。
设计师说:图形只是一个支持机制
设计师了解图形的支持机制,在应用程序中并非是最重要的元素。根据需求确定是否使用图片,如果你的信息需要装饰而又不是放在首要位置,那又为何不可?
对于“艺术”而言,有些设计师感觉他们做这些工作才是最重要的,其他才是次要的。相比较“设计师”他们更愿意被称为:“艺术家”。当一名设计师与程序员一起工作时,她想成为团队中的一员,因为最终都是为了用户。不同的是,设计师可以自己安排工作集中精力开发出优质的体验。这也是程序员们所期望的,但程序员却无法自我安排。
程序员说:DRY原则,不要重复自己。
系统维护最大的因素就是有多少重复。我们不需要用写代码来计算5个地方的销售税。在同一个地方编写代码,一个叫calculate_sales_tax的函数可以使用5次。如果需要修改代码,那么只需要改变某个函数就行,这也可以节省时间。
在设计师的国度里CSS就是DRY原则最大的事例。在CSS之前,在HTML中显示的标记是这样:
This is a headline
CSS样式:
This is a headline
如果你使用CSS就要遵循DRY原则。
设计师可利用DRY可以帮程序员减少复杂性。如果你有一种图片需要在两个不同地方使用,只需把它放在同一个目录里,每个页面都可以使用。
设计师说:对齐和间距真的很重要
对齐和间距非常重要。这对于严格的开发者在设计时创建对齐和间距是最为常见的问题,当然也允许默认布局。
使用对齐和间距主要是因为确保最终用户能轻易的执行功能,使这一过程更加直观。如果用户能轻易找到他们想要的东西,轻松完成这项任务,那说明你已经成功了;倘若相反,那么在交互应用上,你还有许多工作要做。
Yahoo!主页
MailChimp主页
你可以对比下Yahoo和MailChimp.com或Fab.com的主页。
一个页面上全是内容,而另外两个则是空白和对齐,因此用户可以轻易地获取想要的信息。当然这两个网站受众类型不同,但是你可以告诉Fab.com和MailChimp.com网站设计用户感兴趣的信息。
程序员说:学习如何使用版本控制系统
在现代软件开发中,版本控制系统(VCS)如Git或者Subversion是必备工具。如果这两个你都没使用,那么你就不是一名合格的程序员。一款VCS对设计师来说主要有两个好处:变更管理和历史追踪。
结论:
当然,设计师和程序员之间相互学习的还有很多。无论你是哪一方,我们希望能从项目方面思考。正如我们所说的,任何一方都不希望另一方痛苦。在项目合作上我们都注重质量问题希望项目能做的更好。两者经常在一起讨论项目,你会发现从对方那学到很多知识,你的团队也会因此而变得更加强大。