【软件创意】“热点功能列表”和“热点功能树” -- 献给网上银行和管理信息系统的礼物!
(从“快速通道”到“热点功能列表”,软件操作界面向智能化迈进!)
什么是软件?这个问题对于软件开发者来说,是由数据库、代码、业务逻辑组成的完整系统,但是对于使用软件的人来说,最直观的就是软件的操作界面。他们并不知道什么是数据库、什么
是代码、什么是业务逻辑,他们所感受到的软件就是它的操作界面。
有人专门研究数据库、有人专门研究业务逻辑、有人专门研究接口、有人专门研究代码结构,那么也应该有人专门研究操作界面,这应该属于人机交互的范畴。软件使用者就是通过操作界面与软件进行交互的,所以它的重要性不言而喻。
我写这篇帖子的中心思想是介绍两种新的概念,它们都是属于软件操作界面上的东西,一个叫“热点功能列表”,另一个叫“热点功能树”,后者比前者更复杂,功能更强大。但我觉得“热点功能列表”更适合用在网上银行上面,所以本帖子重点介绍它,至于“热点功能树”,我会放在另外一个帖子中介绍,本贴不作介绍(注:“热点功能树”目前正处于可用性研究阶段,还没有完全成熟,等成熟后再发出来)。
新东西往往是在老东西的基础上创新出来的,用牛顿的说法就是“站在巨人的肩膀上”。通过组合已有的东西、联想其它的东西、或模仿其它的东西,发明创造出属于自己的东西,这就是创新。“热点功能列表”就是我从已有软件功能的基础上,联想发明出来的,组合、模仿、联想已有的软件功能,创造出新功能,这应该就是创新了。
下面,我就向您介绍我发明的这种软件功能(它是属于软件操作界面上的东西),希望您能耐心看下去,如果觉得有道理、很实用,欢迎您采纳,应用在您的软件系统上,如果确实发挥了作用,希望您能给我推广宣传一下,我只是为了推广我的创意而已,而不是有什么其它企图,完全是新想法的推广。
我的发明来源于我在软件公司工作5年的知识积累,感谢我工作过的公司和我做过的项目,如果没有这些经历,我是无论如何也写不出这篇文章的。
为了说明问题,我会在文章中插入一些软件的界面截图,这些截图有些是假想出来的,不代表真实的系统(是用Axure RP软件做出来的),有些是从网上直接截取的(我会特别标注出来,以防侵权,如涉及版权问题,责任由我承担)。
言归正传,现在开始正式介绍我的发明 -- “热点功能列表”。
先看两张软件的界面截图,如下所示:
1、中国工商银行个人网上银行系统界面(从网上截取的)
图1
2、中国农业银行个人网上银行系统界面(从网上截取的)
图2
注意红色圆圈圈住的部分,这就是网上银行中常见的“快速通道”功能,有的也叫做“快捷菜单”,都是一个意思。相当于网页浏览器中的收藏夹功能,也就是用户把常用的功能加入快速通道,以备下次使用时尽快找到想要的功能。
注:以下统一用“快速通道”一词。
快速通道需要进行手工定制,如图所示:
1、这是中国工商银行个人网上银行快速通道定制界面(从网上截取的)
图3
2、这是中国农业银行个人网上银行快捷菜单定制界面(从网上截取的)
图4
快速通道这个功能对用户来说很方便,尤其是对于网上银行这样的“面向公众的系统”,网上银行不同于一般的信息管理系统,它的用户群体是普通公众,而不是某一企业的业务操作员。银行把它的柜面业务逐渐转移到网上银行上,减少群众到银行办理业务的次数,节约用户时间,方便快捷。这样一来,网上银行上就会罗列出很多银行业务,不仅仅是我们常用的查询余额、跨行汇款等等。而普通群众对银行业务的需求各不一样,有的人只是查询余额或汇款,有的人在网上银行上购买理财产品,从穷人到富人,从中学生到退休老人,各有各的需求,差别很大。这样一来,就会造成功能浪费,罗列了那么多功能,而实际使用者寥寥无几,或是某些功能被频繁使用,而某些功能则无人问津。尤其是中国工商银行个人网上银行,几百个功能,真正使用的有几个?而且给使用者眼花缭乱的感觉,不知道在哪里寻找我想要的功能。有了快速通道,这个问题就得到很好的解决了。
那么还有没有其它的解决办法呢?只有快速通道吗?我发明了一种“热点功能列表”,也可以解决这个问题,“热点”就是频繁使用的意思,也就是关注度较高的功能点。那么什么样的功能是用户关注度较高的功能呢?很简单,用户经常使用的功能就是关注度较高的功能。“热点功能列表”不同于“快速通道”的地方在于,它能够自动计算出用户使用最频繁的功能,也就是热点功能,并将其展示出来,呈现给用户,让用户一目了然的看到自己频繁使用的功能,而不用亲自动手去定制,免去了手工定制的步骤,软件更加自动化了。“热点功能列表”这个词听起来太专业,在实际应用在系统上的时候可以把名字改的通俗一些,就叫做“频繁使用的功能”。
先看几个图例,有个直观的认识:
1、中国农业银行个人网上银行改造后的界面截图(想象效果图)
图5
2、中国工商银行个人网上银行改造后的界面截图(想象效果图)
图6
既然不用手工定制,那么热点功能列表中的功能项是如何产生的?系统如何计算出来的呢?下面介绍详细实现方法。
我们知道,要做一个快速通道功能,比较容易,需要建立一张用户编号与功能编号的关系表,如下:
表名:USER_FUNCTION_RELATION
字段名称 | 字段描述 | 字段类型 | 说明 |
user_id | 用户编号 | Varchar | 主键 |
function_id | 功能编号 | Varchar |
主键 用户定制的功能点编号 |
一张这样的表就可以实现快速通道了。
要实现“热点功能列表”功能呢,这需要一点数学知识:加权平均数。
加权平均数这个词听起来高深,其实很好理解,假设中国工商银行个人网上银行一共有100个功能点,其中“余额查询”功能被用户张菲菲使用了5次,“转账汇款”功能被她使用了4次,其它功能都被她使用了一次,那么用户张菲菲对工商银行网上银行的平均功能使用次数是:(5 + 4 + (98 * 1)) / 100 = 1.07 ,也就是说平均每个功能被使用了1.07次,在这个平均使用次数背后,“余额查询”和“转账汇款”的使用次数较多,对平均数的贡献度较大,我们可以把功能使用次数大于平均功能使用次数的功能点称为“热点功能”。这就是“热点功能”的计算方法,它是建立在加权平均数的数学理论之上的。
那么,对“热点功能”的定义还有没有其它方法呢?您也可以提出一个自己的定义方法,比如可以在“功能使用次数大于平均功能使用次数”的基础上,再进一步缩小范围,比如,取排名前3位的功能,也就是只取3个功能作为热点功能,展现给用户。
要实现“热点功能列表”功能,需要建立一张表,记录用户与所有功能点的关系,以及对每个功能点的使用次数,如果再抽象一点的话,可以把这个使用次数叫做权值,以备用来计算功能平均使用次数,也就是加权平均数。
表名:USER_FUNCTION_WEIGHT
字段名称 | 字段描述 | 字段类型 | 说明 |
user_id | 用户编号 | Varchar | 主键 |
function_id | 功能编号 | Varchar |
主键 系统的所有功能点编号 |
weight | 权值(使用次数) | Number | 默认权值为0 |
用户首次登录系统时需要初始化该表,默认权值都是0。
表设计好了,下面要进行编程处理。首先明确一个概念,什么叫“功能使用次数”?为了处理方便,暂且认为用户点击一次某功能点后,就算使用了一次该功能(跟网站的点击率类似),这样便于系统改造。(实际上应该是该功能点被用户成功操作完成后才算使用了该功能,这样的话,改动量就很大了,因为一个功能点下的操作界面中可能包含多个操作按钮,也就是一个功能下包含多个操作行为,例如“查询”、“新增”、“删除”、“修改”等等),我们暂时约定:只要某一功能被点击一次,就是被使用了一次。(当然,前提是用户不会对系统进行胡乱的操作,测试人员除外)。
如下图所示:
【中国联通综合业务受理系统(假想系统)】
图7
“功能 1.1”下的操作界面中有四个按钮:“查询”、“新增”、“删除”、“修改”,如果要考虑这个界面中的所有操作类型,那么计算功能使用次数就很麻烦了,所以我们规定 “功能 1.1” 这个菜单节点被点击一次,就是被使用了一次。不管他做哪种类型的操作,或者根本不做操作,只要他点击了“功能 1.1”这个菜单节点,就认为这个功能被使用了一次,如果他再次点击“功能 1.1”这个菜单节点,就认为这个功能又被使用了一次。
当某一功能点被点击后,需要将USER_FUNCTION_WEIGHT表中的当前用户的功能点权值加1。
假设某系统一共10个功能点,经过用户多次使用之后,USER_FUNCTION_WEIGHT表中的数据变成如下状态:
---------------------------------------------
user_id function_id weight
---------------------------------------------
001 01 1
001 02 1
001 03 2
001 04 1
001 05 0
001 06 0
001 07 5
001 08 0
001 09 9
001 10 0
---------------------------------------------
现在需要在程序中计算出热点功能,先计算出功能平均使用次数,(1+1+2+1+0+0+5+0+9+0)/ 10 = 1.9,再找出大于1.9的功能点,通过比较可以看出: 03、07、09这三个功能点的使用次数大于1.9,分别是2、5、9,属于热点功能。最后在软件界面上把这三个热点功能罗列出来,呈现给用户,罗列的时候需要按照使用次数由高到低排序,排序之后是:09、07、03。
热点功能列表适用于网上银行这样的面向公众的系统,功能点繁多、杂乱,用户量巨大,而且每个用户频繁使用的功能都不一样,并且只是少数的几个功能。它可以和快速通道同时存在于系统界面上,更加方便用户,更加自动化了。如图所示:
【中国工商银行个人网上银行改造后的界面截图(想象效果图)】
图8
在界面右侧,快速通道下面增加一个热点功能列表,用户又多了一种选择。
“热点功能列表”可以和“快速通道”同时存在,互相补充和配合,充分发挥两者的作用,减少用户寻找功能菜单的繁琐,为用户提供更大的便利。
到这里,热点功能列表就介绍完了。原理很简单吧,但是功能很强大,帮助用户快速寻找菜单,把频繁使用的功能点直接列出来,和“快速通道”不相上下。
关于“热点功能树”的介绍,我暂时只能给出一个想象效果图,目前处于可用性研究阶段,还不知道可用性强不强,还不能发出来,
(注:可以在帖子回复中给我反馈一下,热点功能树的可用性强不强,您的反馈对我很有帮助。)
如图所示:
图9
“热点功能树”与“热点功能列表”的区别在于,后者只是把频繁使用的功能以列表的形式展现出来,前者是把频繁使用的功能以菜单的树形结构展示出来,功能路径被完整的展示出来,层次结构清晰,后者无法把完整功能路径展示出来。
作者声明:
1、本贴中使用了中国工商银行和中国农业银行的个人网上银行界面截图(这是真实系统截图),还使用绘图软件制作了中国联通某系统的界面原型(这是我想象出的软件界面,实际上没有这个系统,我只是为了逼真,说明问题而已)。
2、我是一名普通市民,曾经在软件公司工作过,现在已经转行,这是我的创意发明,看看能否用在网上银行和管理信息系统上,如果有用,那是最好的了,如果没用,可以给我回复,我会删掉此贴。我是想借用iteye这个论坛给网上银行和管理信息系统提点小建议,没别的意思。我是软件的用户,我可以善意的提改进建议。如果有价值,希望能采纳,谢谢。
3、帖子中使用的名词“热点功能列表”和“热点功能树”听起来太专业,简单的说就是用户频繁使用的功能。每个软件用户在多次使用软件之后,都会有一些功能是他频繁使用的,我的这个创意就是把用户自己频繁使用的功能罗列出来,和快速通道类似,但是更加自动化了,不需要用户定制,由系统自动计算得出的。在实际使用时,可以将这个功能的名字改的通俗一些,就叫做“频繁使用的功能”。
4、我的帖子副标题叫《从“快速通道”到“热点功能列表”,软件操作界面向智能化迈进!》,有点夸张,但是表明了我的意图,希望软件用户使用起来更加方便,更加快捷,更加人性化,软件变得更加智能。