《浅谈软件用户界面设计.docx》由会员分享,可在线阅读,更多相关《浅谈软件用户界面设计.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、浅谈软件用户界面设计 浅谈软件用户界面设计(一) (2022-07-06 15:53:24) 这是一个问题 软件的用户界面设计,原本不是一个问题。在电脑与网络的青葱岁月里,DOS尚大行其道。对着黑色的屏幕噼里啪啦地敲出一条又一条白色的指令,板正得不容置疑,自然也无关和无需什么设计。事情出现转机其实与文本超链接(Text-based Hyperlink)的诞生不无关系。斯坦福大学的Douglas Engelbart为在线系统(On-line System)设计的这一令人拍案的发明,很快由Xerox PARC公司发展为更加直观的、基于图形的超链接形式,从而最终促成了由“命令行界面”(Command
2、-line Interface,CLI)到“图形用户界面”(Graphical User Interface,GUI)的一大飞跃。而将这一崭新的概念付诸实践的,正是大名鼎鼎的Xerox Alto。尽管这种早期的个人电脑并不能称为商品,更没有实现普及,但仍被看作是GUI和“桌面隐喻”(Desktop Metaphor)技术的首次尝试与应用。时至今日,Macintosh、Window、Linux等系统无一例外地使用了这些对用户具有超强亲和力的特征;而在此带动下,软件的用户界面设计,也终于成为了一个问题。 对一个软件来说,界面与用户的关系其实是复杂和微妙的。首先,亲切易用的界面吸引了更多的用户。想想
3、几十年前只有那些熟知晦涩的机器语言的家伙才能指挥得动电脑,如今一个普通的小学生就可能比他们使用过更多的程序。而反过来,这个极其扩大化的用户群又对软件界面提出了更加苛刻的要求。既然人人都有使用软件的权利和可能,那么就有必要设计出人人都愿意使用的软件。Scott Ambler认为,在很大一部分用户眼里,软件界面与软件本身就画着等号,他们几乎或者完全不关心界面背后的一切。换句话说,界面简直是软件设计者讨好和拉拢用户的唯一手段。于是,想要扩大你的用户群,必须设计一个好的软件界面;而被你吸引来的用户又对你的界面提出更高的要求还能说软件的用户界面设计不是一个无比重要的问题么? 一个都不能少 我们提到了软件
4、的使用者和设计者。可以说,这一领域几乎所有的文章都特别强调了用户,亦即软件使用者的重要地位。“以用户为中心”,“用户友好”,“为用户服务”,不一而足。这一点很容易理解,毕竟我们讨论的是“用户”界面。但是,难道就应该把全部重心都放在用户身上么? 设计者认为自己应该尽最大努力满足用户的要求。但问题是,用户 可能压根儿不怎么清楚自己究竟需要什么。金山公司的WPS Office系统曾一度在中国占有99%以上的市场份额,但当Microsoft Office进入中国市场后,大部分用户立刻毫不犹豫地选择了后者。这一过程中,那些用户事先并不一定能明晰自己究竟想要怎样的软件,或者期望WPS在哪些方面做出改进,他
5、们只是在新的产品出现时做出了判断和选择“对,就是这个!虽然我说不出自己期待过什么,但它正是我想要的!”因此说,设计者仅仅依照用户提出的有限的需求来选择改进目标是远远不够的。而这种情况,在非通用型软件的设计中往往更为普遍。比如,你的委托公司需要一个训练软件,使用虚拟仪器帮助他们的职员尽快学会某种复杂设备的操作。但是,虚拟仪器是否要配合虚拟场景?有场景的话,是否需要提供行动指南、场景地图和计时器?还有,除了学习模式,是否还要设计复习模式和考核模式?具体怎么做?委托公司找上门来的时候也许还没有考虑这么多,更不要提界面里文本的字体或按钮的形状了。更进一步,他们甚至可能还没有意识到软件的使用者全是些活蹦
6、乱跳的小伙子,或是视力逐渐减退的中老年人呢。这些需要谁来思考?恐怕并不全是委托公司的活儿。软件设计者往往是有竞争对手的,替委托公司考虑得越周全,也便越有利于中标拿到合同。特别是,如果你能想到可以为小伙子们设计一款形似网络游戏的软件,或者为中老年人们使用更大、更醒目的图标和文字的话。因此,满足用户需求是必须的;但当用户还没有提出需求时,设计者仍然要有自己的思考和想法。 另一方面,设计者也应认真考虑自己的需求。有的时候,把一个软件卖给某个用户时,设计者并不愿意止步于此,而是期待着能继续和这个买家做生意。例如,你为一家医院设计了一款用于药品管理的软件,满足了委托方此前提出的所有要求。但是,你特意为软
7、件的功能扩展预留了一个接口,比如设置一个“药品管理”、“床位管理”、“财务管理”的功能选择界面,只是后两者都是灰色的。尽管这个接口必然在某种程度上增加软件的复杂度,但只要仍在使用者的忍受范围内就没有问题;而通过这个小小的手段,你却巧妙地传递出一个信息:这个软件可以只是一个庞大管理系统的一部分,我还可以提供更多的软件来扩充它的功能。如果医院喜欢这个伏笔,那便意味着你为下一次合作多争了一分胜算。还有的时候,设计者要记得为自己今后的工作打算。一个具有委托方鲜明特色的界面也许能深得褒赞,但如果他们在这方面没有特别要求,选择一个更简洁通用的界面很可能减少下次接手类似任务时的工作量,因此至少值得考虑。以上
8、这些,都不是用户的需求,甚至可能稍稍与之相悖,但在用户认可的前提下,设计者有理由思考自己更想做什么样的软件。 我们不再赘述用户在界面设计中的重要性。可以说,软件使用者提出的需求,设计者有义务设法实现,因为这些功能是“expected”;同时,设计者也必须有自己的思考,努力给出使用者“unexpected”的结果。而往往正是这一点的出人意料,为设计者赢得忠实的拥趸。这里不妨用傲游浏览器做一个正面示例:易于切换的页面标签、常用网站的快速访问、鼠标手势、分屏浏览以及个性皮肤等,这些友好的特性可能并未出现在IE用户的期望中,但正是这些惊喜,使傲游从竞争对手那里赢来众多热忱的支持者,甚至引发了对手的仿效
9、IE终于也意识到页面标签的好处(这里被称为“选项卡”),多个窗口拥挤在任务栏的状况总算得到缓解。傲游的这一成功,正说明优秀的软件设计中,使用者和设计者都应为界面需求的制定做出重要的贡献:前者明确基本目标,而后者发掘潜在需求。 图1 傲游浏览器界面 浅谈软件用户界面设计(二) 一步一个脚印 对软件界面设计过程的总结有很多种,一个相对完整而概括的描述大致是这样的:明确设计需求,建立及评估原型,实施结构、交互和视觉设计。Harsha Sarjapur还提到少数公司会进一步建立用户界面准 则,但显然这一步骤并不总发生在完成某个软件的设计之后,并且也不是所有的软件设计者都会认真采用,因此为了不致混乱,我
10、们将在随后的部分单独讨论准则的建立和应用。 第一步,明确设计需求。必须了解,即使是通用的设计准则也具有很大的弹性,这是由不同的用户需求决定的。而难点是,用户的需求常常模糊而易变,令设计人员难以捕捉和定位。因此,这一阶段,设计人员与委托方的交互可能是最频繁的,需要借助反复的直接交流、资料统计、焦点小组等方法使用户需求一步步明朗化和条理化。不得不再次提到,委托方最初提出的要求可能存在矛盾,或是代价过高,因此设计人员必须要有充足的理由说服其改变主意。一个有效的手段是使用“用户角色”(Persona,指“按照一定参考体系划分的用户类型,是能够代表某种用户特征、便于统一描述的众多用户个体的集合”)模型。
11、具体来说,通过调查和分析用户群的特征(技术能力、年龄层次、文化背景、知识水平等),将其归纳为不同的用户角色集合并赋予优先级,再从不同级别的角色出发,在用户最初提出的庞杂的需求中进行权衡、选择和排序,甚至进一步发掘出尚未提出的潜在需求。这种有效的方法可以穿插在调查设计需求的整个过程中,也越来越受到众多软件开发商的追捧。应该说,本阶段的工作是后继一切步骤的基础,此处的成果越细致、越精确,其后的设计开展也便越能有的放矢和驾轻就熟。 第二步,建立及评估原型。和网站界面设计一样,如果一开始就急匆匆地通过编写代码展示软件界面,最终可能有大段的代码必须修改或被丢弃。许多优秀的网站设计师选择首先手绘出界面,同
12、样,软件设计者也可以借助于不同层次的界面原型。Scott Ambler提出了三种层次的原型建议: 1)手绘原型,用于显示基本或大概功能。这种原型完全可以落实在纸面上,Konrad Tollmar和Yngve Sundblad的团队在设计CoDesk软件的过程中就使用了这一方法,使得实验人员在体验原型时很容易理解软件的基本功能、架构、流程、隐喻等并提出修改建议。 2)电脑原型,用来显示屏幕,但不包含需要显示的数据。例如,制作psd格式的界面原型,它的好处是显示效果和真正的软件界面更接近、也更直观,但工作量不很大,而且对原型文件进行加工修改后,完全可以用于生成最终的界面背景、控件等。 3)包含显示
13、的数据屏幕。 并非每个层次的原型都是必需的,但所有的原型都必须经过用户的体验和评价,以帮助界面设计者不断做出改进。不用说,这也是一个反复迭代的过程,旨在将用户需求具体化,同时帮助设计者在进入第三个阶段时少走弯路。 第三步,实施结构、交互和视觉设计。 1)结构设计亦称为概念设计,制定出界面的整体骨架,如架构、流程、从属关系等。这部分工作在第二阶段的迭代过程中往往已经完成了大部,但此时特别要注意合理的逻辑分类和语言定义是用户易于理解和操作的重要前提。比如一款诺基亚手机的功能表中,“音乐”文件夹里可以找到“播放器”、“收音机”、“音乐商店”和“播客”,但用户真正存入手机的音乐却只能在“多媒体”文件夹
14、中找到,颇有些名实不符的味道;另外,“录音器”并没能和“播放器”并肩作战,却被孤立在了“应用程序”文件夹中。如此混乱的导航正是源于糟糕的结构设计逻辑分类与语言定义都出了差错,着实令人摸不着头脑。 2)交互设计。Bill Gates认为,用户界面“不只是一种接口和形式,而是一种用户体验”。使用户在体验中产生迷失感的设计必然是失败的,因此交互设计正应提供以下一些功能:告知用户当前的事件或位置;允许用户控制操作的走向,如可选择“上一步”、“下一步”等;尽可能减轻用户的负担,如设置默认输入值、记录和自动填写已输入值等;有可能的错误提示,如输入密码时告知CapsLk键已打开;提供联机和在线帮助;等等。人
15、机的交互设计使软件更友好易用。 3)视觉设计。用户的视觉需求不仅仅是美观,因此视觉设计也并不只意味着锦上添花,而应是内容、功能和美学需求的综合实现。设计者需要考虑的问题有:界面尺寸与容纳信息量的协调;用户的阅读习惯;布局、色彩、字体的选取和搭配;背景和控件的选取和搭配;图标隐喻的表达;标准化和风格化的权衡;等等。视觉设计通常是界面实现的最终阶段,应体现出完整的设计思想。 标准还是原则 建立软件界面设计标准的意义是毋庸置疑的。现在,软件设计者们可以直接求助于各种系统而全面的界面及界面接口标准,这得益于Apple、Microsoft、IBM、HP、SUN、AT&T等公司此前做出的大量工作。Thov
16、trup等人认为,一套有价值的界面设计标准必须满足两个条件:详细指明何为有用的界面;能够为开发者理解和应用。但麻烦的是,一项“在设计中应用标准”的研究显示,似乎只有略过半数的设计师能够从一堆絮絮叨叨的标准中找到所需的指导条目;而在对一套ISO标准草案的测试中,设计师不仅对其中约30%的规则难以把握,甚至还完全违反了约11%的规则当然这些反馈也成了修改草案的一类重要依据。而即使设计师们已深切体会到冗长复杂的标准难于应用的现实,却又有一项实验表明,哪怕是一份设置了很少条目、仅仅两页纸的界面标准,参试设计师对其依从度也可能不足80%。还有,标准有时会显得过 于死板。是的,严格遵从由标准推荐的字体和按
17、钮规格,你应该可以设计出一款板正的界面,不出错,但往往也不出彩。不妨看看如下Windows Media Player的一款外观模式,能从中找到完全中规中矩的按钮么?倒是各类异形的按钮很好地配合了整体酷酷的风格。不过,也许正是由于忽略了界面标准的缘故,这款设计也有一个明显的不足之处:图中标示出的装饰部分和普通的按钮过于相似,容易令人不知所措。以上事实似乎可以说明:软件设计者并不总能直接照搬所谓的界面标准,这些条条框框可能不容易用,也可能不适合用。而结果就是,对标准的修正往往是必要的。那么,该以什么作为修正标准的依据呢? 图2 Windows Media Player外观 不妨考虑一下标准的来源是什么。首先是调查搜集用户需求,而后设计师从大量的积累中归纳概括,意识到这些需求实际源于用户内心深处的种种渴望:我想要这软件简单易学,还能帮助我减少出错的可能;我希望时刻知道自己的处境;我喜欢专业而稳定的界面风格等。最后,这些渴望被一步步具象为具有众多条目和详细指标的设计标准。而在生成具体的设计标准之前的东西,便是设计原则。因此,既然制定标准是从原则而来,那么修正标准也不妨由原则出发前者的目标正是实现后者,则后者便理应是定夺前者的依据。
限制150内