UE(User Experience)的意思是用户体验,UI(User Interface)的意思是用户界面,两者看起来很相似,其实差别很大。
一般来讲,功能性的网站,比较注重UE,而展示型的网站,则侧重于UI。
之所以要写这篇文章,是因为最近的一件事情,又让我感觉到了UE的重要性。
最近因为要填写直博表格,需要在网上报名,我打开那个网页,好家伙,好几十项,从祖宗十八代问起,真详细啊。看到这个页面我很犯愁,因为我知道学校的系统的,一般来讲都被我鄙视的不行,因为我见证了很多系统的诞生,对其功能和架构都不是很满意,这个系统不知道是谁开发的,不过这个页面,让人感觉挺2的。
填之前我就担心,如果这个系统实际上如果比看起来更2的话,那么操作起来可能会非常麻烦,也就是说很多时候是填写不成功的。我很幸运,就填了好几次也没成功。
第一:提交前没有任何提示。像这种很多项目的表单,一般在提交前会提醒用户,让其检查项目是否填写完毕,而且很多的项目是填写数字,大多数的人喜欢使用小键盘的,那么谁也不能保证不会一不小心就按到回车键,如果是这样的话,那么表单就会提交了,而实际上这个时候项目并没有填写完毕;
第二:如果系统有检测功能的话,上述情况也没什么,就是说如果你有些必须的项目没有填写,那么可以使用脚本来提示你还未填写完毕,这时候表单是不能够提交的;
第三:脚本的功能毕竟有限,在ajax被广泛使用之前,用户名是否存在是无法使用脚本来检测的,因为必须要操作后台数据库,也就是说数据必须被提交之后才能验证是否填写正确,如果不正确,需要返回前面的页面重新填写,注意:这个时候前面的页面已经被刷新了,也就是说用户填写的内容全部消失了,如果表单够长的话,用户一般的选择就是关闭浏览器窗口了(除非必须注册,就像我遇到的)。这时候正确的做法是使用一个表单类来记录用户提交的数据,如果有一项不符,将这个类中的这个属性取消掉,然后将类返回给注册页面,注册页面得到这个类,得知这是用户第二次填写,那么在输入框中得到用户曾经填写的数据,这样就可以避免用户的重复填写。(当然这里还有一个好处就是这个表单类可以直接交给数据处理模块来执行,这是软件架构方面要讨论的问题了)
很可惜,我前天使用的这个系统,上面的三条一条也没做到,于是我第一次填写错误,告诉我因为某一项不符合,需要重新填写,页面全部刷新,我只能重新来过,第二次我不小心按到回车键了,于是重新来过,第三次才终于成功了。
UI是用户界面,个人认为侧重于美工,像一个人的脸一样。对于功能性的网站,我当然希望她也可以张的漂亮一点,可是我更注重她的功能,所以用户体验是重中之重;UI一般来讲对展示型的网站比较重要,用户在获取信息的时候希望看到赏心悦目的环境,这样可以增加用户的兴趣和对网站的喜欢程度。
举个不恰当的例子,我去吃饭,那么我就希望这个人的厨艺好一些,当然如果这个人长的再好看一点就更好了;如果我去选美,那么我才不管她厨艺怎么样呢。所以如果你是要当厨子的话,还是不要急着化妆了,把菜做好才是首要任务。
对于UE,现在的Ajax技术已经让B/S系统的用户体验增强了太多了,推荐去看看http://www.flickr.com这个网站,整个网站没有使用flash技术,能做到这种程度,简直是:神一样的境界!