.NET乐园
一个梦想,一个行动…… (欢迎光临我的淘宝http://pipis.taobao.com,专营户外手电筒、头灯、营地灯、自行车灯)
  一个软件,除了稳定,功能强大,用户体验也很重要。程序开发人员和测试人员在强调其功能和性能的同时,往往忽视了用户体验的重要性,或者说只关注用户体验的界面,易用等方面,而忽视了其他方面。我就我所积累的浅薄经验谈一些体会。
  总体来说,一个应用系统的显示系统,组织结构及操作提示等方面应该一致。界面风格和布局的一致性让人在视觉上感觉到这是一个统一的系统,协调的系统,至于采用什么风格及颜色系统,美工和设计人员起决定作用。组织结构和操作提示的一致性让人在操作体验上感觉这是一个在结构和响应方面统一的系统。其实,组织结构是关乎视觉体验和操作体验双方面的。
  一、显示系统
  对大部分开发人员来说,要设计出良好的系统界面不是件容易的事,特别是在色彩上。对没有美工基础的人来说,的确有点困难。我的整体感觉是不要太花哨,颜色也不要太多,东方人可能喜欢偏冷色,西方人喜欢偏暖色。幸好,公司有一支优秀的设计团队,界面的事情,完全交给他们就ok,这样,我们开发人员可以完全把精力放内部程序上面,这种感觉真棒!
  二、组织结构
  1.良好的导航系统
  好的导航系统能让用户在很短的时间内就能找到所需要的东西,这必然要求功能分类准确,功能文字描述贴切,不会误导大部分用户,符合大部分用户的使用习惯和生活习惯。正所谓我们说的“三步内必有芳草”。伴随着系统功能的强大,导航问题会日益突出,如何良好的组织好庞大的信息资源和功能资源是需要花很多时间来梳理的。大型网站一般过一段时间就会改版,除了视觉上给人新鲜外,功能和内容必然也会重新组合优化,因为原来的组织结构已经不能很好地把所有信息和功能良好地展现出来。
  2.操作限制
  在所有对当前用户有操作限制的地方,我们应该在视觉上或用户提交信息前就对其不正确操作进行阻止,而不是等到其操作完毕,提交给系统时,才给我相应提示。比如,一个文本框对应的数据库字符串字段限制只能在10个字符内,我们就必须把用户输入的长度限制在这一范围内;再比如,一个按钮对当前访问用户来说是没权限的,我们就应该禁用它,或者隐藏它,而不应该是等到用户点击了它之后提示没权限。总之,尽可能地阻止用户不正确的操作,让用户少走弯路,这样能提升用户的操作体验,免得埋怨我们不厚道,不能操作的东西也让他们去操作。
  三、操作提示
  操作提示是比较通俗的说法了,对我们来说,说系统响应会更贴切点。对任何交互系统来说,给用户贴切的操作提示是很必要,这包括操作前的提示和操作后的提示。
  1.操作前的提示
  操作前的提示最好放在操作项的旁边,这样当用户去操作该项时才能注意到它的存在,对于很重要的提示,我们可以利用颜色等元素来突出它。当然,这些提示的存在会影响到视觉效果和组织布局,怎样协调好它们就需要斟酌了。
  2.操作后的提示
  这也就是所谓的交互提示了。个人觉得在尽可能的情况下,不要用弹出对话框来显示提示信息。如果你喜欢开着音箱,音量也不是很小,我想,你肯定对它深恶痛绝,因为弹出窗口一般会砰的一声突然跳出来,吓你一跳。不就是一个提示么,干嘛要如此惊动用户?况且还需要用户去点击它?最好也不要在另一个不相关的页面来把操作提示展现给用户,这样会让用户觉得茫然,不知所措。最好的是在操作项的旁边给出提示,因为用户的目光还聚焦在这里,在这里显示能在不干扰他操作的前提下真正让它注意到。举个例子,你需要验证用户的输入信息,在ASP.NET中,你可能会选择用验证控件来验证输入,这样在用户输入非法时,既不会刷新页面,影响响应时间,也能把验证控件放在输入项的旁边,当用户这个输入项非法时,马上能在旁边出现相应提示,不会等到用户所有信息都输入完成时,才告诉它第一项输入就非法,所以后面几项都跟着得重新输入。对一些必须通过与服务器端交互才能判断,并且决定着后面多项内容是否合法的的输入项,我们最好在旁边给个按钮,让用户可以在输入后就能知道该项是否合法,注册页面常见的“检查该用户名是否有效”等提示按钮就是很好的例子。几年前,在CSDN注册,就感到很郁闷,只有到所有信息都填好提交后才能检测用户名是否存在,密码,邮箱等重要信息要重填也就罢了,无奈的是它会转向到另一个提示页面,返回后所有的信息都不见了,又得从头开始来输入所有信息,这让我如此气愤!
  当然,对一些很重要或严重的提示,我们可以用弹出对话框来提示,或者说叫警告吧。比如当用户想删除一个很重要数据时,我们应给出提示是否真要删除它,以免用户误操作。
  还要说的就是返回页面。比如,添加一个文章后应该返回哪个页面更加适合用户的操作习惯呢?很多系统在用户对单个项操作完毕后还是停留在该页面,而此时,用户对该项的操作已经完成,那还有什么理由让它停留在这个页面呢?何不返回到可以查看该操作效果的页面呢?我想此时用户最想要的是去查看此次操作结果如何。比如上面的添加文章页面,操作成功后我们可以返回到文章列表页面,用户一看,这篇文章确实添加进去了,想查看效果,就可以点击进行查看。对于编辑,删除等操作,我们也应该如此处理,并且,返回的时候应该保留列表页面的各项参数,比如页码,选项等,总之尽量接近用户刚才操作前的状态,这样,能让用户更加清楚地看到他操作之后所发生的变化,以决定下一步该做什么。
  最近几年,以Web2.0为理念的blog等服务风头正猛,Web2.0的精髓是什么?就是以用户为中心,注重用户体验。也正因为这样,激活了开发者对AJAX的热情。站在浪尖的Google出尽风头,用过Gmail,你会觉得有点耳目一新,够简洁,够快。在业界,MS的软件无疑是最人性化,最易用的,它的OS并不比别人的好,但是更贴近大众生活。Google的创新能力无人能及,推出的产品连连叫好,因为它注重用户体验。记得IBM的展厅都是“ThickPad体验中心”。软件的服务对象就是用户,只有撇去开发者,测试者的身份,以用户的角度去审视软件,不断改良,才能让软件具有更好的用户体验。
posted on 2006-03-28 00:23  Charly  阅读(6299)  评论(17编辑  收藏  举报