1. 软件界面设计面临的问题
国内绝大多数大学的计算机学科没有开设软件用户界面设计的课程,也没有开设相关的如人机工程学、美学、心理学等课程。理工科人士天性喜欢钻研技术,不太关心用户需要什么。
由于接受的教育几乎全是科学与技术,他们不知道怎样才能设计易用、美观的用户界面,很多人甚至想都没有想过。当真正参与软件产品开发时,只好凭着个人的经验与感觉设计软件的用户界面,尽管很多软件工程师的技术很出色,但不少人开发出来的软件产品却既难用又难看,客户很不满意。导致经常要修改软件的用户界面,造成极大的生产力浪费。
2. 软件界面设计要素
软件用户界面设计要综合考虑“易用性设计”、“艺术设计”和“技术实现”,是很有挑战性的工作。遗憾的是,用户界面设计一直是国内软件企业的薄弱环节。软件用户界面设计要兼顾以下要素:
2.1界面适合于展现功能
软件界面不但要展现功能,还要符合市场的需求。软件的功能需要通过用户界面来展现。毫无疑问,用户界面一定要适合于软件的功能,这是最基本的要求。如果用户无法通过这个界面来使用软件,“易用性”根本就无从谈起。
例如,对于一个三维建模软件而言,如果用户不能使用鼠标对模型进行旋转、移动、缩放等操作,那么这个用户界面就不适合该软件的功能。如果不改进用户界面的话,即使软件的内核功能很强(如算法很先进),这个软件也很难赢得用户。
2.2界面适合于用户群体
“用户界面适合于展现功能”是首要的设计原则,设计者不要片面追求界面外观漂亮而导致华而不实。”
开发团队要分析产品的核心价值,要把主要精力用在对经济效益贡献最大的地方,使“投入-产出”最大。
产品的所有功能和界面对用户而言都是必要的。可以锦上添花,但是不能画蛇添足(否则得不偿失)。
2.3容易理解
用户界面中的所有元素都不能出现错误文字,也不能出现令人费解的文字。用户界面设计人员绝对不能对界面上的文字马马虎虎,措词必须“正确、准确”。
图标按钮的含义一定要直观明了,最好给图标加文字说明,防止用户误解。所有的界面元素应当提供充分而必要的提示,例如当鼠标移动到工具条上的某个图标按钮时,应当在该图标旁边出现功能提示。
界面结构能够清晰地反映工作流程,以便用户按部就班地操作。文字信息和界面布局尽量和用户群体的使用习惯相匹配。
对于复杂的用户界面而言,最好提供界面“向导”,及时让用户知道自己在界面结构中所处的位置。例如对于基于Web的应用软件,应该在界面上显示“当前位置”,否则用户很容易在众多的页面中迷失方向。
“用户界面风格一致”的最大好处就是能够减少用户的记忆量、减少出错几率,并且迅速积累操作经验。
所以熟悉Word软件的人基本上不用翻阅手册就能使用PowerPoint软件,可谓“无师自通”。
2.4及时反馈操作信息
在设计用户界面时必须考虑防错处理,目的是让用户不必为避免犯错误而提心吊胆、小心翼翼地操作。
当用户进行某项操作后,如果过了一会儿(几秒钟)用户界面一点反应都没有,这将使用户感到迷茫和不安,因为他不知道是自己操作错了还是软件死机了。
及时反馈信息很重要,至少要让用户心里有数,知道该任务处理得怎么样了,有什么样的结果。
例如下载一个文件,界面上应当显示“百分比”或相关数字来表示下载的进度,否则人们不知道要等待多少时间。如果某些事务处理不能提供进度等数据,那么至少要给出提示信息如“正在处理,请等待…”。最好是提供合适的动画,让用户明白软件正在干活、没有死机。
用户在使用软件的过程中,不可避免地会出现一些错误的操作。倘若用户不小心输入了错误的数据、或者错误地删除了有用的数据,而软件傻乎乎地、将错就错地执行了,那么用户肯定很恼火,以后就不敢放心地使用软件。
2.5防错和出错处理
常见的防错处理措施有:
(1)对输入数据进行校验。如果用户输入错误的数据,软件应当识别错误并且提示用户改正数据。对于Web页面,开发人员一般要编写JavaScript程序来进行数据校验。
(2)对于在某些情况下不应该使用的菜单项和命令按钮,应当将其“失效”(变成灰色,可见但不可操作)或者“隐藏”。例如对于某些软件,不同的用户有不同的操作权限。如果低权限的用户登录到系统,那些仅供高级权限用户使用的功能应当被隐藏,或者将其“失效”。
(3)执行破坏性的操作之前,应当获得用户的确认。例如用户删除一个文件时,应当弹出对话框:“真的要删除该文件吗”,当用户确认后才真正删除文件。
(4)尽量提供Undo功能,用户可以撤销刚才的操作。
(5)如果发生意外或错误,应当及时给出告警消息和错误消息,提醒用户做出正确的处理。
2.6一致性和个性化
软件的用户界面中同类的界面元素应当有相同的视感和相同的操作方式。例如命令按钮是最常见的界面元素,所有命令按钮的形状、色彩以及对鼠标的响应方式都是一致的。
同一类型软件的用户界面应当有一定程度的相似性。例如Microsoft公司的Office家族里有Word、Excel、PowerPoint、Outlook等软件,这些软件提供的“复制、剪切、粘贴”功能的操作方式都是相同的。
通用软件产品的界面设计很注重一致性。设计者必须密切注意在相同应用领域中最流行的软件的界面,必须尊重用户使用这些软件的习惯。例如DOS和Windows下的软件习惯于设置F1键为帮助热键,如果某个设计者别出心裁地让F1键成为软件终止的热键,那么在用户渴望得到帮助而伸手击F1键的一刹那,他的工作就此完蛋。相信这个用户会被这另类的F1气疯了。
目前流行的软件开发工具如Visual C++、Visual Basic、Delphi、Java Builder、Power Builder等,都能够快速地开发出非常相似的图形用户界面。在Internet/Intranet领域,浏览器几乎成了唯一的客户端软件,因为Internet用户希望用完全一致的浏览方式来完成千变万化的任务。
2.7最少步骤、最高效率
设计用户界面时应当尽可能地替用户着想,用户应当用最少的操作步骤完成某项操作任务,获得最高的使用效率。
尽管减少一个操作步骤而完成任务所节约的时间微乎其微(可能只有几秒钟),但是用户的感觉反差却很强烈。例如我们在使用字处理软件时,“新建”、“打开”或“保存”文件是最常用的菜单功能。为了提高操作效率,软件设计师把最常用的功能用图标按钮的形式摆放在工具条(toolbar)上,这样用户直接点击图标按钮就可以执“新建”、“打开”或“保存”,只需要一个操作步骤,显然大部分用户喜欢用图标按钮的方式。
对于我们的存储管理软件,可以适当的删减一些繁琐的操作,使用户操作更方便、快捷、高效。
2.8合理的布局
首先,界面的总体布局应当有一定的逻辑性,最好能够与工作流程吻合。界面设计人员只有仔细地分析软件的需求,才能提取对界面布局有价值的信息。
其次,窗口(或页面)上的界面元素的布局应当整齐清爽。界面元素应当在水平或者垂直方向对齐,行、列的间距保持一致。窗体的尺寸要合适,界面元素不应放得太满,边界处需要留有一定的空间,也不可过于宽松,显得零乱。界面元素需要一致的对齐方式,以避免参差不齐的视觉效果。同类的界面元素尽量保持大小一致,起码要保证高度或宽度的一致(例如命令按钮)。逻辑相关的元素要就近放置,便于用户操作。要善于利用窗体和界面元素的空白,以及分割用的线条。
2.9合理的色彩
相比于布局,设计合理的色彩就困难多了,因为色彩的组合千变万化,并且人们对颜色的喜好也极不相同。
(1)如果不是为了显示真实感的图形和图像,那么应当限制一帧屏幕的色彩数目,因为人们在观察屏幕的时候很难同时记住多种色彩。
(2)应当根据对象的重要性来选择颜色,重要的对象应当用醒目的色彩表示。
(3)使用颜色的时候应当保持一致性,例如错误提示信息用红色表示,正常信息用绿色表示,那么切勿乱用红色和绿色。
(4)在表达信息时,不要过分依赖颜色,因为有些用户可能色盲或色弱。
2.10国际化
软件的国际化是大势所趋(特别是上海、北京等地的软件开发商)。为了能够更好地适应国内和国际市场,在设计用户界面的时候应当充分考虑语言和文化的差异。尽可能使用标准的图解方式和国际通行的语言,要求简单易懂,易于翻译,方便不同母语的用户。
3.存储管理软件界面设计
存储管理软件是侧重于功能实现的管理软件,面向企业级的用户。界面设计无需太过花哨,简洁、大气、有自己的特色就行了。界面设计在遵循规范的同时,还要结合自身的情况,才能恰到好处,不可过于死板。
存储管理软件界面的设计,要注重如下方面:
-
界面布局
-
框架设计
-
界面颜色搭配
-
界面风格一致性(包括布局、颜色、操作方法、控件使用、错误提示等)
-
操作方便(用户体验度)
4.总结
综上所述,软件界面的设计并非一个技术工程师、一个产品工程师或一个设计师能够完成的。有条件的公司可以去调研,调查用户对产品使用的满意度、体会及建议,来完善自己的产品;设计人员要站在用户的角度来设计,这话说的不错,但是实施起来就难了。所以,要集众人的意见,再设计、修改。技术工程师或者是设计师在不断的提升自己能力的同时,还要多借鉴别人的东西,在学习中进步,在进步中学习,寻求自己的特色,在成长中创新。