15.1什么是好的软件界面 简而言之,好的软件界面应当是易用的和美观的。易用是交互设计的主要目标,美观是视觉设计的主要目标,交互设计和视觉设计完成后,最终靠编程来实现可运行的软件界面。 15.1.1易用 易用性是指用户使用软件的容易程度。计算机软件诞生之初,主要用途是科学计算,那个时期几乎没有界面,只有计算机专业人员才能使用命令行来操作软件。之后出现了图形用户界面,例如Windows,使得普通老百姓也可以使用电脑。现在流行iPad、iPhone触摸界面,就连不识字的儿童都会使用。 软件界面越易用,整个软件系统就越容易被用户接受。反之,如果界面很难用,即使软件功能很强大,用户也可能抛弃这个软件系统。 例如,轿车自带的导航系统目前都比较难用。由于没有键盘,输入地址非常麻烦。一般靠旋扭或者触摸屏来选择 26个字母,输入较长地址可能要花费3-5分钟,拼音不好的用户常出错。与其这么费劲,还不如查地图或打电话询问更加方便。要使车载导航系统真正发挥价值,就必须提高它的易用性,否则就是个摆设。 针对这个问题,比较可行的解决方案是:( 1)提供更加快捷的“手写输入或语音输入”;(2)智能手机与汽车互联,用汽车屏幕来展示手机导航软件(例如Google地图)。目前只有少数百万元级别的高档轿车才有这种操作界面,远未普及。 商业 会越发达,人们的生活节奏就越快,干啥事都想图方便,这是人之常情。如果软件系统功能很强,但是需要看完帮助文件才知道如何使用,而大部分用户没有耐心看完文档,就提前放弃了使用,岂非可惜。所以软件易用性越来越重要,这是商业发展的自然趋势。 15.1.2美观 除了要求软件易用之外,用户还希望软件界面美观。电影《食神》里的一段精彩对话可以帮助我们理解界面美观的重要性: 在一次香港大厨比赛中,食神周星星担任主考官。某个厨艺高超的大厨正得意地向食神展示他的招牌菜。 食神看了看大厨的脸说:“出局、出局。” 大厨十分惊诧:“你还没有看我的菜呐!” 食神说:“不用看了,因为你长得太丑了!” 大厨怒曰:“我长得丑难道也有错!” 食神说:“当然!如果顾客知道做菜的人长得那么丑,吃下的菜都会吐出来的!我看你还是不要干这一行了,出局、出局。” 美观的界面能消除用户由感觉引起的乏味、紧张和疲劳(情绪低落),可以提高用户的工作效率,从而进一步为发挥用户技能和为用户完成任务做出贡献。 人们对美的向往和追求是与生俱有的。显然没有开发人员愿意丑化自己的软件,也没有用户嗜好丑陋的界面。软件开发者要设计美,用户要享受美,所以界面的美是开发者与用户的共同需求。 当然也存在反例:并不是任何人在任何时候都喜欢美观的东西。 不少好动的儿童(男孩居多)更加喜欢丑陋的动物玩具,例如恐龙、蛇、甲虫等。儿童喜欢摔打、折腾丑陋的动物玩具(让人难以相信“性本善”的说法),所以这类玩具卖得快、坏得快、再卖也快。玩具厂商分析儿童的心理特征后,推出各色各样的丑陋动物玩具,赚了大钱。 倘若有一天,我们发现某些用户群体喜欢丑陋的软件界面,那么我们就应该设计具有市场价值的丑陋界面,而不要只专注于“美观”的界面。 15.1.3易用和美观哪个更加重要 广大用户希望使用令人愉快的界面,可以把“易用”比喻为“界面的心灵美”,把“美观”比喻为“界面的外表美”,两者都重要。 倘若开发方的精力和能力有限,难以同时实现易用和美观的界面,那么要识别优先级。一般规律如下: (1)对于长期使用的商品而言,易用比美观更加重要。人有审美疲劳,再美的东西也禁不起长期看哪。易用的东西长期使用后会爱不释手,而不易用的东西若长期使用则会招致愤恨。 (2)对于短暂使用的商品而言,美观比易用更加重要。人们看到美观的东西,容易一见钟情,忽视其它缺点,容易冲动购买。 15.2软件界面设计的商业价值 对软件开发方而言,软件界面设计的主要商业价值体现在: (1)能显著提升软件系统的营销竞争力;(2)获得较高的投资回 。 很多用户不懂软件技术,也不关心软件技术。在没有深入使用软件系统之前,用户只能通过界面来感知软件系统的好坏。 如果软件系统A比B的界面更加易用、更加美观,在价格相似的情况下,大多数用户倾向于购买A。也许B比A的技术更加出色,但是用户不知道,可能也不在乎。所以软件界面设计能够显著提升软件系统的营销竞争力。 要开发出易用美观的软件界面并不容易,对开发方而言不仅是能力挑战,而且要付出更多的精力和成本,但是值得去做。 软件系统几乎所有的功能都是通过 “界面”来展现的,用户对软件系统的满意度与界面的易用美观程度成正比关系。假设开发方多付出10%代价改善了软件界面,每个用户对软件系统的满意度提升了10%,那么开发方付出的边际成本是10%,而边际收益则是“10%*用户总数”,用户总数越多,边际收益就越高。 可见,开发方对软件界面设计的投资,将获得很高的回 (与用户数量成正比)。 15.3软件界面设计的行业共性问题和基本对策 尽管软件企业有不少技术出色的软件工程师,但是多数工程师开发出来的软件既难用又难看。客户对软件界面很不满意,经常要修改软件界面,造成极大的生产力浪费。软件企业都希望一次性地做出让用户满意的好界面,但是不知道怎么做。 软件界面设计一直是中国软件行业的弱项,存在两方面行业共性问题:首先是缺乏系统性的软件界面设计方法和配套教育;这也导致第二个问题“缺乏好的界面设计师和娴熟的界面程序员”。 15.3.1缺乏系统性的软件界面设计方法和配套教育 有一位外国军人到德国军校访问交流,他惊奇地发现,在军校里居然出现了音乐、美术这类艺术课程。他觉得很奇怪。 德国军官自豪地说:对于德国军人而言,每一场战斗,每一次战役,都是艺术,因此要接受艺术教育。 美国西点军校为世人所知,是因为培养了很多著名将领。然而人们却不知道,西点军校更是培养 商界领袖的摇篮。从二战以来,该校为美国商界造就了1000多名董事长、5000多名高级管理者,西点军校堪称美国最优秀的“商学院。” 这种环境熏陶出来的人,他们带的队伍,他们做的东西,都是世界一流的。这就是系统性教育产生的价值。 不要认为软件开发就是编程,仅仅懂编程的人,绝对做不出优秀的软件系统。要想成为优秀的软件人才,仅仅学会编程语言是远远不够的。 国内理工科大学的计算机和软件专业,侧重于系统性的科学技术教育。基础课程有数学、物理、电路等,专业课程有操作系统、编译原理、编程语言、数据结构与算法、数据库等等。每门课程都有很好的教材(甚至有世界名著),而且有很好的老师。所以国内理工科大学能够培养出大量技术功底扎实的软硬件研发人才。 相比之下,软件界面设计领域的教育就差远了。既缺乏好的教材,又缺乏好的教师。 在 20世纪90年代初,浙江大学计算机系就有了工业设计专业,如今计算机系升级为计算机学院,工业设计专业升级为工业设计系。在计算机科学技术与人文艺术相结合方面,浙江大学计算机学院无疑处在国内前列地位。工业设计系在工业和民用硬件产品设计方面有很强的师资力量,并逐步开拓了数字媒体专业。但是在软件界面设计的教学方面仍然遇到棘手问题:计算机专家不熟悉工业设计,而工业设计专家又不熟悉软件开发,既无合适的教材也难找合适的教师。 迄今为止,我还没有见到哪个大学计算机学院或软件学院把“人机工程学、美学、心理学、界面设计”等课程很好地整合起来,提供界面设计领域的系统性教育。如果有的话,我要带大批人员去这个学校进修,大家着急啊。 由于计算机和软件专业学生们接受的教育几乎全是科学技术,他们不知道怎样才能设计出易用、美观的用户界面,很多人甚至不知道还有界面设计这回事。当他们毕业后真正参与软件系统开发时,只好凭着个人的经验与感觉来设计软件界面,这样产生的界面往往得不到广大用户的认可。 上述教育缺陷绝非短期内能够解决得了,我写这个问题不是发发牢骚,而是提醒软件企业关注这个问题:中国现阶段软件界面设计的人才数量和行业水平远远落后于技术开发,企业要抓住一切机会弥补这个缺陷,否则做不出优秀的软件系统。 15.3.2缺乏软件界面设计和实现人才 中国最近几次参加奥运会,金牌和奖牌总数位列前三,名声显赫。但是中国仍然不是体育强国,只是奖牌大国而已,因为获奖选手都是万里挑一选拔出来的,不能代表广大人民群众的体育素质。 但是在乒乓球运动这个领域,中国绝对是体育强国,强大到了独孤求败的地步。我每次看乒乓球比赛,总是希望中国队不要包揽全部金牌,留一点给别国(否则别人绝望后就不和你玩了),但是很遗憾别国没有机会。为什么我们那么强是因为中国乒乓球运动太普及了,随便哪个县的乒乓球选手都是国际一流水平,真是人才济济,生生不息啊。反之,如跨栏运动,全国就盯着刘翔一个人,那就太脆弱了。 在中国的大学教育里,软件技术教育最为普及,学员最多,和乒乓球运动有点相似。国内前一百名大学(姑且称为名牌大学)都能提供很扎实的计算机科学技术教育。此外还有无数的大专院校设立了软件学院,每年软件专业毕业生多到泛滥成灾的地步。 但由于软件界面设计教育的缺陷,以及界面设计本身的复杂性,中国浩浩荡荡的软件开发大军中,擅长做软件界面的人才非常少,我估计连1%都不到。 我们把软件界面开发分为三个环节:交互设计、视觉设计和程序实现。企业希望界面设计师负责“交互设计和视觉设计”,由娴熟的程序员实现这个界面,这个要求似乎并不高,但现实情况很糟糕。 不少软件企业既有程序员又有美工人员,但遗憾的是这两类人的工作配合不太理想。 企业领导和程序员们大多认为界面设计是美工人员的事情,否则公司招聘美工人员干什么用以程序员会等着美工人员完成界面设计后,再编程实现,至于界面设计好不好就不管了。 美工人员大多是美术相关专业毕业,他们的优点是擅长于视觉设计,缺点是:( 1)不熟悉待开发软件系统的业务逻辑,不了解用户的特征,难以开展交互设计;(2)不懂软件技术,他们不知道自己构思出来的界面在技术实现方面的难易程度。 千万不要低估界面实现的难度,不要以为界面想得出就做得出。有些 Web软件界面控件,要同时兼顾功能、性能和易用性,技术难度相当高,不是普通程序员做得好的(往往顾此失彼)。感兴趣的读者请试用集成化研发管理平台MainSoft,创建一个项目导入数千条任务,体验一下Web任务树形表和Gantt图的功能,想想什么水平的程序员花多少时间才能够做得出这样复杂的界面控件。 当不懂技术的美工人员和只懂技术的程序员产生分歧时,他们很难协商出更好的方案来。 可见美工人员并不是人们期望的软件界面设计师(常被人误解为软件界面设计师)。不是我泼冷水,既能做好交互设计又能做好视觉设计的界面设计师是比较少见的(吹牛皮的除外),能够同时做好交互设计、视觉设计、程序实现的人更加罕见,估计比熊猫还少。 我们必须承认,在现阶段,中国绝大多数软件企业都没有优秀的界面设计师。那只能用“三个臭皮匠、顶得诸葛亮”的替代方案,如果几个人分工合作能把界面做好的话,我们就不必一直叹惜没有优秀的界面设计师了。我的建议是: (1)由“软件产品经理或项目需求分析师”兼任交互设计师,负责交互设计。软件产品经理或项目需求分析师是最熟悉软件业务逻辑的人,他们了解用户特征,知道什么样的交互方式适合于目标用户群体。另外,他们大多是搞技术出身的,能够判断出交互方式在技术实现上的难易程度。他们既能和美工沟通,也能和程序员沟通。交互设计既属于需求工程范围,也属于软件设计范围,是交集。我倾向于在需求分析阶段开始交互设计,尽量前移。 (2)交互设计师向美工人员解释目标用户群体的特征,由美工人员负责视觉设计。有些软件企业没有大量的视觉设计工作,出于成本考虑,不必招聘全职的美工人员,可以聘请兼职的美工人员。倘若实在请不到美工人员,你还可以把视觉设计外包出去,只要你能够描述清楚需求。 (3)交互设计师和程序员沟通界面实现方面的问题,既要满足用户需求,又不能使程序实现的代价太高。请技术水平高的程序员开发界面控件,努力做成标准件,构造界面库,还要有人负责维护界面库(不能随意改动界面控件)。其他普通程序员只要调用界面控件,专心去实现软件业务逻辑即可。这样使整个团队的软件界面开发效率和质量都很高。 15.4以用户为中心、以效益为目标的软件界面开发理念 15.4.1界面设计以用户为中心 软件系统是给用户使用的,而不是给自己使用的。所以界面设计要“围绕用户需求和用户使用习惯”开展,即“以用户为中心”。目的是让用户用得满意,而不是让开发者自己用得满意。 这个道理非常浅显,似乎无需解释,但现实情况是人们经常颠倒着干。虽然软件公司宣扬“以用户为中心”,但是大部分开发人员埋头干活,闭门造车,早忘记了用户。他们自己觉得界面挺易用、挺漂亮,那么用户也会满意。 例如,当开发方向用户演示软件时,常会得意地讲:这个软件非常好用,我演示给你看,……是很好用吧!蛮漂亮的吧! 这是典型的“王婆卖瓜,自卖自夸”。 用户出于礼貌不断地点头,但点头并不表示赞同。用户不好意思说他没有看明白怎么回事,总不能在别人面前显得自己很笨吧!所以用户一边点头,一边心里嘀咕“这是什么玩意儿”。 若干年前,我公司在开发 MainSoft时,其中权限管理功能相当复杂,我让一名技术高手负责开发。两周后这位高手兴冲冲地告诉我,他已经完美地实现了权限管理功能。 他演示给我看的时候,一边飞快地敲键盘、点击鼠标,一边自言自语地解释:这样很方便,那样很方便, ……,大约一分钟就演示完了,然后充满期望地问我怎么样。 在这一分钟之内,我完全没有看清楚权限管理功能是怎么使用的。但是我又不能打击他的积极性,只好说:不错不错,让我自己体验一下吧。 这位高手自信地说:你好好体验吧,把改进建议写下来,我估计再花几个小时调整细节,这个功能就完美了。 作为第一次使用的用户,谁能够像开发者本人用得那么熟练啊。他只花一分钟就演示结束了,可是我完全不知从何下手,足足摸索了半个小时才学会使用这个功能,哪个用户受得了这种界面啊。 结果该功能经过了多次修改, 3个月之后才变得实用,显然不止再花几个小时调整细节那么简单。这位高手没有在预定时间内一次性地完成该功能,进度大大地延误,让公司付出了额外的代价。 软件是否易用、是否美观要让用户来评价。如果用户对界面很不满意,开发方不要有逆反情绪:从哪里找来的笨蛋! 其实不是用户笨,是自己开发的软件太笨了。当用户真的感到软件很好用时,一股温暖的感觉油然而生,于是就用“界面友好”来表扬这个软件。软件行业很少发生那么感动人的场景:用户热切地握着开发人员的手,连声称赞“你们开发的软件真是好用啊”。我们看到的大多是相反的场景:用户满腹牢骚,开发人员垂头丧气。 很多开发人员不能够一次性地完成某些开发任务,主要原因不是技术水平低下,而是他们没有真正理解用户的需求,也没有站在用户角度看待界面。如果用户不满意软件的功能和界面,那么开发方将被迫重新开发,产生额外的成本。所以企业要经常宣传“界面设计以用户为中心”的理念,让这个理念印到开发人员的脑海里,成为一种本能。 15.4.2界面实现以效益为目标 用户和开发方都要承担界面成本,双方都要效益。用户买了觉得值,开发方卖了要有利润。所以真正实现界面的时候,不见得完全按照设计要求来实现界面。界面做到什么程度,要以效益为目标。 微软公司的 Vista 比起 Windows XP 而言 ,功能更加强大,界面更加华丽。微软公司曾经轰轰烈烈地宣传 Vista 多么好,是个革命性的产品。但是市场证明 Vista 是个华丽而不实用、商业失败的窗口系统,差点革了自己的命。主要原因: ( 1 ) Vista 拥有酷炫的界面,对硬件要求很高,原先的 Windows XP 用户要多花钱升级硬件或者更换硬件才能使用 Vista ,这导致很多用户不愿意升级到 Vista 。 ( 2 )由于 Vista 和 Windows XP 有很大的差异,导致原先大量的 Windows 应用软件无法在 Vista 下正常运行,这个问题比硬件升级产生额外成本更加严重。我本人就把默认安装 Vista 的笔记本电脑,倒退回到 Windows XP ,否则无法正常办公。 界面实现要以效益为目标,宣传这个理念是为了“避免过度设计而损害用户或开发方的效益”。 15.5 软件界面开发三步曲 为了做出易用美观的软件界面,我们把软件界面开发分为三个环节,如图15-x所示:(1)交互设计的主要目标是设计出易用的界面;(2)视觉设计的主要目标是设计出美观的界面;(3)交互设计方案和视觉设计方案确定后,最终靠编程来实现可以运行的软件界面。 图 15-1 软件界面开发三步曲:交互设计、视觉设计和程序实现 15.5.1交互设计 一、界面需求征询
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!