UI设计(或称界面设计)是指对软件的人机交互、操作逻辑、界面美观的整体设计,也叫界面设计。UI设计分为实体UI和虚拟UI,互联网说的UI设计是虚拟UI,UI即UserInterface(用户界面)的简称。
好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适简单、自由,充分体现软件的定位和特点。ui设计师要了解哪些技能呢?
UI设计师的职能大体包括三方面:一是图形设计,软件产品的产品“外形”设计。二是交互设计,主要在于设计软件的操作流程、树状结构、操作规范等。一个软件产品在编码之前需要做的就是交互设计,并且确立交互模型,交互规范。三是用户测试/研究,这里所谓的“测试”,其目标恰在于测试交互设计的合理性及图形设计的美观性,主要通过以目标用户问卷的形式衡量UI设计的合理性。
如今,国内的UI设计日益发展,有了专门的职业分工也开始出现一些较高水准的一线设计师与UI设计交流组织。但总的来说,在这一领域,我们与西方发达国家间的差距仍是显而易见的。
软件领域不像物质产品那样,存在工艺、材料上的限制,其核心问题恰在于人。因此,提高软件UI设计师的个人能力,真正提升软件产品的人性化程度,已成为中国UI发展的重中之重。
UI设计师的工作内容主要包括:
1.负责软件界面的美术设计、创意工作和制作工作;
2.根据各种相关软件的用户群,提出构思新颖、有高度吸引力的创意设计;3.对页面进行优化,使用户操作更趋于人性化;
4.维护现有的应用软件产品;
5.收集和分析用户对于GUI的需求。
Ui设计师精通的技能:
在工作能力和实践经验上,一是要求从业人员精通Photoshop、Illustrator、Flash等图形软件,Html、Dreamweaver等网页制作工具,能够独立完成静态网页设计工作;熟练操作常用办公软件,且具备其他软件应用能力;熟悉Html,CSS,Javascript,Ajax。
二是要求对通用类软件或互联网应用产品的人机交互有自己的理解和认识。三是具备良好的审美能力、深厚的美术功底,有较强的平面设计和网页设计能力。四是具有敏锐的用户体验观察力,富有创新精神。
ui设计师要具备哪些技能?如果以上的技能你能熟练掌握,相信想要找一份稳定且高薪资的工作也比较容易,所以,如果你现在还不具备这些技能,那么就抓紧时间学习吧,机会都是留给有准备的人,只有自己具备足够的技术能力,才能在职场中迎刃有余。一个好的交互设计对产品的成功起着很关键的作用。ui所做的就是用户最先接触到的东西,也是一般性的用户唯一接触到的东西。用户对于界面视觉效果和软件操作方式的易用性的关心,要远远大于他对底层到底用什么样的代码去实现的关心。如果说程序是一个人的肌肉和骨骼,那么ui设计就是人的外貌和品格!都是一个成功软件产品必不可少的重要组成部分!对我而言程序懂得不多所以只是从ui设计与软件产品整体的关系和如何才能使软件产品得到最佳的ui设计角度来谈。
现在我们的软件产品存在的一些问题有技术方面的问题,但是更多的问题来源于各个部门、各个项目小组的之间的配合。我们现有的开发流程一般都是由市场部门提出客户需求,产品设计人员提出产品设计报告,开发部门设计开发计划,由各个小组分别开发一个模块,最后整合成为一个完整的软件产品。在这些流程之间ui设计应该参与那一个部分,每一个部分应该做到什么地步才可以使产品得到最好的ui设计效果呢?下面我们会在每一个部分具体分析。
首先分析一下现在的问题所在,在一些软件业比较发达的国家软件产品的ui设计过程贯穿了软件开发的自始至终,而且是必不可少的。而在中国产品ui设计并没有被广泛接受,就算是已经有了ui设计师的一些企业也没有对产品的ui有着足够的重视,一般来讲他们大都会把重点放在如何使用代码实现所需要的功能,在我看来这只是一个成功软件产品的一个部分。一个优秀软件产品的开发过程应该是由四个部分组成:
1.软件产品的设计(业务建模)
2.系统的设计(技术建模)
3.分单元的开发(把软件各个部分拆分分单元编写代码)
4.测试(分为单元测试、系统集成测试和产品功能测试),这些是由软件研发部门做的工作。
除去以上软件开发过程的四个部分还有用户需求和用户验收测试,这两个过程是由市场部门和产品用户一起完成。所以说用代码实现产品功能(coding过程)只是软件开发的一个步骤。现在我们回到ui设计的角度来看,作为ui设计人员我们需要全程参与到软件开发过程中,而不只是在某一个步骤参与,现在在大多数软件企业里ui设计师只是在产品的coding过程的时候才实质性的参与到软件开发过程里,而在其它几个步骤里只是参加甚至根本没有参加(在这里我要强调“参与”和“参加”是两个词的不同概念,“参与”指的是完全加入到开发行列开始进入设计阶段,而“参加”指的只是旁听会议或者提出一些简单的意见并没有开始进入设计阶段),这样就会大大降低软件产品的开发效率使开发成本成倍上升甚至导致整个产品的不成功!这并不是危言耸听,下面我们分析一下在一个软件产品的开发过程中ui设计应该怎么做、做到什么地步才能避免上边提到的那些问题?
下面我会根据软件开发的过程解释上边的问题,刚才我提过软件开发过程的几个步骤:
1.产品建模
2.技术建模
3.分模块开发
4.测试,那么我们也分为这四个部分进行讨论:
一.产品建模时期:
我们首先来了解一下“输入”和“输出”,在ui设计里是很重要的两个概念,经常会有人过来对我说“我们有一个软件产品需要美化一下”然后再也没有什么深入的解释了,仅仅这句话我的工作就要开始了,然而这个软件是给谁用的?是干什么的?我们却一无所知!成功的ui设计首先要有完整的“输入”,怎么才能叫做完整的“输入”呢?也就需要ui设计师从整个软件产品的策划阶段就开始介入,在产品用户(也就是客户)向市场部门或者产品部门提出产品需求的时候就要开始参与到产品策划开发过程中来,这一部分对于ui设计师而言就是第一个输入阶段,并且在这个阶段里ui设计师也需要提出一些对产品交互设计的意见,以便产品部门在做产品设计的时候更多的考虑到产品的交互性和功能的简单表现原则,有很多软件在设计阶段就被加入了许多并不是用的附加功能,其实一个好的软件设计就是要用最简单的结构实现用户的想法,一些可有可无的功能看上去很花哨往往会影响用户的判断能力,这些就是产品优化的一些概念了在此我需要简单的提一下如果想要深入研究可以看一些有关于产品优化的书籍甚至是心理学的书籍,有很多人认为软件的优化就是代码的优化(用最少的代码实现产品功能),在我看来这只是程序的优化是针对程序员而言的而不是整个软件产品的优化,产品优化包含了交互设计在现在的多数软件企业没有专门做这一部分的交互设计师所以往往这一部分被忽略,我认为这一部分应该又ui设计师承担起来,从文章的开头我就说过ui设计不只是图形界面的设计,就算是有企业里边有这样的优化人员或者交互设计师他们也要和ui设计师一起配合完成产品交互设计,作为ui设计师产品的交互性和易用性是在做设计的时候必须考虑的!
言归正传,产品设计人员经常不会过多考虑简单易用原理也就是产品出来用什么样的组合形式体现给用户,这也是ui设计师考虑最多的事情,所以ui设计师一定要在产品建模期间参与设计,给产品设计师一些意见。作为一名优秀的ui设计师我们还要在了解了产品的需求之后更深入了解这个产品的使用环境和用户群体的使用习惯。我们还需要了解市场上的同类软件产品的设计方案,研究他们的优缺点,以便在我们设计的时候吸取它们的长处避免它们的错误。在产品建模之后一般的都会由产品设计人员给客户做一次功能设计讲解,往往这样的讲解只是文字性质的需要让客户想象着理解,这就会造成很大的隐患有的客户根本无法理解你的讲解甚至对这样的讲解根本不认真听,因为他们根本不懂,在讨论过程中他们经常会同意产品设计人员的一切设计想法但是产品测试的时候他们又会提出种种不满意,我想这是一般的软件公司都会遇到的也是最最头疼的事情,但这并不能怪客户我说过客户只会关心视觉效果和软件的操作而并不会去关心我们是怎么实现这一切的。这种情况带来的直接后果就是产品的反复修改开发成本成倍上升,怎么避免呢?这就要靠ui设计师了,俗话说“眼见为实,耳听为虚”,所以需要ui设计师做出一个产品整体效果的demo。这个demo用图片的形式表现就可以,我们只需要将要体现的产品界面做一个拼凑就可以了,因为这并不是产品的最后样子,只是协助产品设计人员给客户讲解产品设计。产品建模时期ui设计师要了解客户的要求想法和产品设计人员对产品功能的要求深入了解产品,采集用户的使用需求、使用环境和使用习惯,了解市场同类产品的设计分析它们的优缺点。协助产品设计人员完成产品建模过程并制作产品展示demo模拟用户对主要功能的操作过程和界面呈现,生成交互原型(基本上产品的交互性和易用性问题都需要在产品建模的时期解决)。如果时间允许我们甚至可以提出一份“ui设计分析报告”,这份报告可以附在产品设计说明后,更有效的帮助客户了解我们的产品设计并且帮助开发人员更好的遵循ui的整体要求来完成开发工作。这个时期的关键是“交互设计”。
二.技术建模时期:
在这个时期作为ui设计师我们已经了解了软件产品的功能需求并且拿到了一份产品设计人员的产品设计说明,可以进入界面样式的设计过程了。这个时候我们应该考虑更多的应该是产品的整体风格和界面的设计,通常我们也会做出几份方案给客户选择。有些客户会要求产品遵循一个整体的vi设计标准,那么我们就需要按照一个整体的已定的风格去设计软件的界面,要与客户公司的企业形象吻合。在这个时期软件的ui设计进入到了美术设计阶段,我们需要制定整个软件的风格,塑造软件的整体形象,并且具体的描述每一个界面中的元素和布局、文字字体等信息。在这个阶段我也不应过多的说什么,主要是每个ui设计师各自发挥你们的艺术专长用最简洁、最漂亮的界面表现软件产品。需要注意的就是在我们设计整体风格的时候一定要深入了解这个产品的理念,看看它是干什么用的。不同的产品要有不同的风格,这里边有很多的细节注意,不同的产品、同类的产品不同的内容、不同的传播介质,这些都会决定ui设计的风格。1.不同的产品:比如一个游戏产品就需要将界面做的花哨一些或者用大的图片充斥;如果要是一个应用软件就需要突出使用方便和强大的功能设计要简洁。2.同类不同的内容:比如一个可爱的游戏产品(像是卡通类游戏)就需要将界面做的活泼生动可爱一点;如果是一个角色扮演的战斗类游戏(像是枪战闯关类游戏)就要做的酷一点深沉一些。3.不同的传播介质:我们要做的软件产品有的需要在网络上传播那么就需要我们考虑到网络速度的问题;有的就是利用光盘当作介质那么这样的软件就可以做一些比较花哨的效果。所以说不同的产品还需要单独考虑,这也需要ui设计师多多了解产品,保持与客户交流。还需要重点注意的就是我们在做图形化设计的过程中千万要贯彻在前一个阶段做好的交互设计,始终注意产品的交互性和易用性。在设计过程中我们一定要做出每种结构每一个步骤的效果图,不能只提供图标、按钮、背景图等图片,这样的话程序员根本不知道往那放这些东西,在这个时期我们就要最终确定软件界面的呈现形式。技术建模一般是由高级程序员完成的,他们会将整个软件开发分为一个一个功能模块,分配给一个一个的开发小组。但是这些负责技术建模的高级程序员考虑更多的往往是如何将整个设计用代码实现、怎么才能更有效的复用以前已有的模块等等,而不是软件是什么模样会有什么样的风格,所以作为ui设计师我们必须主动出击,多多和他们交流以保证我们的想法能够完整的实现,如果有技术实现的问题我们还要及时做出修改。有时候我们还需要根据客户或者产品的特定需求做一些延伸性的设计(也叫ui产品设计的外延),包括:软件的安装导航界面、产品的演示宣传动画、一些附带的桌面壁纸或者屏幕保护、代表软件的卡通小精灵、有时还会被要求设计软件的logo和广告banner等等。技术建模时期的关键是“风格和界面设计”。
三.分模块开发时期:
这个时期软件开发过程进入实现阶段,也是需要人力最多的时期,这样就会分散ui设计师的精力。软件会被切分为若干个小的模块进行代码编写,最后整合成一个完整的软件产品。对于一个程序员来讲他们大多根本不会考虑到产品应该是什么样子应该有什么整体风格,他们所考虑的只是如何用代码实现设计的要求,而且在现在的软件企业多都实现了模块的复用,这样会大大节约人力成本,那么程序员只是对原有模板进行修改使之适应新的软件产品,这样就会对ui设计的最终贯彻和实现带来很大的麻烦。做出的每一个模块虽然已经能够使用但是都是“各自为政”没有统一,因此我们也需要主动的协助和监督程序员完整的实现ui设计的要求,如果有技术无法实现的问题需要及时沟通改正设计方案。有的时候有些模块需要有单独的风格,比如一些已有的软件产品需要集合到某一个新的产品中去,这样就会加大了设计师的设计难度,我们必须要在保证产品整体风格不变的情况下将原有产品的设计风格集合进去,使之更加适合新的产品表现形式。如果我们仍旧保持原有产品的风格那么当各个模块集合起来之后往往会使新的产品感觉很松散,进入每一个功能都会觉得是另外一个软件,使人对软件的印象不深刻。在这个阶段我们还是要主动一些,跟进各个模块界面的实现。现在很多软件企业都存在很多ui设计师和程序员的协作问题,不是程序员做不到ui设计的要求,就是ui设计师坚持一些自己的想法不能改动,还有的时候经常会有人过来没头没尾的说帮我做点东西吧!
当软件集成到一起再一看,就是很多不同风格的东西堆砌到一起,从头到尾都不舒服,领导或者客户看了以后极度不满狂批一阵,最后得出结果ui设计做的不到位。有人说ui设计师就要背着软件不成功的黑锅,因为人们根本看不见代码怎么写的,功能是怎么实现的,他们只知道对软件的样子和使用进行评论。让一个用户评论一个软件他们只会说这个软件好用看上去也不错挺漂亮的,但是做为一个普通用户决不会有人说这个软件程序写的不错。这么一看我们会联想到现在软件开发之中主要的冲突在ui设计师和程序员之间,其实这只是表面的表现形式。实质上这个现象体现了现在软件企业的一个通病就是这个开发组之间的协作关系混乱,程序员和ui设计师之间是平级协作关系,程序员是不会对产品负责的,这样看来ui设计师只应该听项目经理的,无论对设计做什么样的改动或者增添什么样的东西,都应该由开发项目经理和产品经理协商之后决定,只有他们可以对最终的产品负责。这样也可以避免很多程序员和ui设计师之间的争执和矛盾。但是现在大多说软件企业的产品经理和开发项目经理没有做到这一点,他们也根本不了解ui设计师和程序员的工作,也无法把握他们的工作量,这样无序的管理会造成很麻烦的后果。其实可以建立一些合理的流程管理制度,就算企业没有作为ui设计师也可以自己起草一份适合自己和企业的“ui设计需求申请单”,里边应该列出我们需要的“输入”内容、工作时间、最终的“输出”结果等等栏目(可以自己根据要求灵活决定)。这样形成一个有参与人、有依据、有存底的工作流程,出现问题或者争执的时候我们有据可依,这只是一个习惯性的东西因不同的企业而议不一定都要建立需求单。在分模块开发时期ui设计师应该做的是,在模块开发的前期做出产品每个模块的效果demo(可以用图片的形式表现)要求程序员按照demo的样式进行模块开发,协助和监督程序员严格按照ui设计要求生成最终产品,把握各个模块的统一,经常了解程序员的工作进展及时对不合理或者难以实现的设计进行讨论设计出新的方案。分模块开发时期的关键是“协助和监督程序员生成最终产品”。
四.测试时期的输入和输出:
软件产品的测试会分为三个测试阶段,第一个是分模块开发完成之后每一个模块进行的单元测试;第二个是将各个单元集成为一个整体的产品进行集成测试;第三个就是整个产品在交付使用前进行的整体测试。在测试过程中ui设计师的任务相对会轻松一些,我们只需要跟着测试人员走几遍流程,如果在其中发现没有按照ui设计要求的部分及时要求改正就好了。我们还会经常遇到客户在测试过程中突然觉得那里不合适需要修改,这也是最最头疼的事情了,有的时候他们说的并不一定对,只要我们设计的每一个步骤都有一定的道理能够说服他们就一切ok了。如果他们执意要修改设计方案,那么我们没办法只能按照客户需求修改。但是如果前边按照本文的流程走下来我想这样的可能性不大就算是修改也不会是大动干戈。在修改过程中我们还是需要先做出效果图,让客户确定再具体实施,这样也会避免很多麻烦的。测试时期的关键是“检查整个产品发现问题及时改正”。
如今软件的越来越多的考虑到人的因素,“以人为本”的设计理念贯穿了整个软件产品开发的始终,因此软件产品的ui设计过程最重要的两个部分就是行为和构造,也就是交互设计和界面设计。上面我们按照软件开发的四个阶段,逐个的分析了每个时期ui设计的任务。由此我们可以看出ui设计并不完全是一个美术设计的过程,还有很重要的一个部分就是交互性和易用性的设计。大家百度的时候就出现这个解释,UI即UserInterface(用户界面)的简称。UI设计是指对软件的人机交互(用户体验师)、操作逻辑(交互设计师)、界面美观(视觉设计师)的整体设计。好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适简单、自由,充分体现软件的定位和特点。
一、首先熟悉要Photoshop、Adobeillustrator、AdobeAfterEffects、AxureRP软件的操作。
Photoshop:主要处理以像素所构成的数字图像。主要用于界面图形、图标、视觉的整体设计,可以满足UI界面设计的日常需要。
Adobeillustrator:是矢量软件,在处理一些及其复杂的图形路径时候,可以考虑使用Illustrator也有设计师所有的图标在Illustrator中完成,然后连接嵌入到Photoshop。
AdobeAfterEffects:现在扁平化设计成为主流,所以动效设计成为不可或缺的一部分。可通过这个软件设计动效平滑切换界面。
AxureRP:是一个专业的快速原型设计工具。是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专业的原型设计工具,它能快速、高效的创建原型,同时支持多人协作设计和版本控制管理。
除了要会软件之外,也需要学习以下这些技能。
一、熟练设计技巧,用户界面设计主要包含图形设计、用户体验设计和应用程序开发几个方面。UI设计师首先需要具备基本的UI设计技巧,既要懂设计,又要懂技术。
二、设计理念强,UI设计师必须在产品功能和视觉元素间找到平衡,既要满足产品的功能需求,又要尽量美观。
三、过硬的技术能力,UI设计是一个不断发展的行业。它要求设计师要不断创新,不断学习新的技术。合格的UI设计师必须能适应这种变化。
四、创造能力强,最好的用户界面就是没有界面。所有优秀的UI设计师必须能轻松创建简洁且易于使用的用户界面。1.技术基础
如果说程序员一天中大部分时间都在码代码,那么设计师的时间都留给了Photoshop、Axure、AdobeIllustrator,涂涂修修确实是常态,而这里,也是“美工”称呼的发源地。娴熟的技法,是完美展现设计作品的必备条件,作为UI设计师,也应当熟练掌握这些常用软件。稍低一点的要求,是至少能精通其中一款软件,各种操作都已经形成自然反应,其他软件也能通个七八分。
不过,学完这些软件之后,切忌炫技,学到这步,你只是学会了修图,还只在美工的地步,并谈不上设计。
2.画图基础
有人以为,设计师只要去图库网站找一些素材,借助工具进行修饰即可,其实这只能锻炼你的借鉴能力,当你的技法娴熟到一定程度,就可以尝试临摹。通过临摹,一则用来强化技法层面的能力,二来也能提升初学者的创新能力。
临摹的内容,可以有两方面选择:一种是系统自带的图标,比如MacOX、Windows,或者移动端iOS、Android的原生图标,都是精心打磨过,既能帮助初学者了解平台设计规则,又能在临摹中逐渐巩固常用软件的技术。另一种则是行业牛人的设计作品,捉摸他们的设计风格、思想和细节,都能加深对设计的认识。
3.各平台设计规则
iOS、Android、WP、Windows、MacOX各个平台都有自己的设计规则和偏好,在移动端,连每款机型的分辨率、状态栏高度、导航栏高度、图标尺寸、字体、颜色值都有严格的规定。
4.审美意识
为什么我们青睐每日故宫、榫卯、网易云音乐这类应用?除了应用本身生产的优质内容外,设计感是很重要的一点,君不见多少用户赞美良心设计。
那么,什么是设计感呢?投射到设计师身上,大概就是设计师自身的审美意识了。
至于审美意识要如何培养、提高,这就跟你去问文学家要如何提高写作能力一样,他大概也是懵逼的。日积月累地浏览、学习、思考、练习,大概就是逐渐提升的可能途径吧。
5.交互设计
分不清交互和UI的人,可能一抓一大把,事实上,这还是有区别的。从一般意义上说,UI主要做的是图形用户界面,也可以称为GUI设计师;交互设计主要做处理点事人机互动的界面,任何与机器打交道的过程,都需要交互设计师来参与。
但坦白说,现在的App中,有多少操作能把UI和交互完全清楚地剥离开来呢?一个好的产品,需要美观的界面和顺滑的交互,也就离不开设计师两种能力的相辅相成了。尤其现在,设计趋向扁平化的时期,只要遵循设计规范,交互设计甚至能出了设计稿后直接给开发去实现,单纯UI设计的存在感日益弱化。
6.用户体验
从前,除了设计界面的UI设计师之外,互联网公司会专门设置专门的用户研究中心来处理用户体验的种种问题,但如今多元的趋势下,一个互联网产品的视觉设计,需要懂一点产品、懂一点用户体验,才能更有效的推进合作流程,同时也会培养自己多元化的思维方式(用户研究以缜密的逻辑发展,而UI设计则更加追求审美)。
7.时刻保持学习状态与学习主动性。
学习的机会很多,无论是在生活里,你结实一个朋友、看场电影,读一本书,浏览一个网站,看一则广告,随处都暗藏着学习的机会,虽然不一定能学到具体的技能,但至少可以领略到一些精神和获得一些专业上的灵感。
锻炼自己的沟通表达能力,因为作为设计师要跟产品经理沟通,你要跟开发沟通,设计师之间的沟通,项目是一个团队协同共事的过程;还有逻辑思维能力,UI设计包括了软件操作逻辑的设计,对逻辑思维也是有一定的要求;
当然专业知识一定要扎实,图标界面绘制、手绘、设计规范、网页设计、用户体验设计、交互软件使用、色彩搭配、平面布局等等;如果有营销思维、策划能力、文案能力,恭喜你,你已经是一个优秀的UI设计师了。
互联网是一个日新月异的行业,建议大家,在日后的界面设计工作中,不可盲目的追赶潮流,要知道,设计是需要一段时间的沉淀才能达到一个新高度。多洞察别人的作品,多阅读、多思考,这样你才能成为一个优秀的设计师。随着互联网的不断发展,企业对用户界面的要求越来越高,UI设计师也成为了了人才市场上十分紧缺的职业。
从工作内容来讲,UI设计师主要负责APP、Web、H5等页面的色彩、布局、icon、字体方面的设计工作。通常企业要求UI设计师懂一些交互设计和产品方面