填两遍银行卡有必要吗

   银行卡号 有必要填两遍吗?设计师觉得这个行为很傻很天真

  那么 设计师能代表用户吗?

  用户是怎么认为的呢?

  有没有更好的办法来解决这个问题

  开篇,先讲讲我自己的趣事。早上出门后,我总会电梯里拼命回想,做完早饭我是不是关了煤气,没关的话会不会一把大火把家烧了。有时甚至,我会返回再次确认。

  也许有些男性朋友不太理解这种行为。

  那么,想想你们的爱车,关车门时是不是也会要反复确认?

  为了减少意外的发生,我们总会对重要事务反复确认,这应该是一种天性。

  好吧 言归正传!

  说说我为什么讲这个题目

  背景

  最近我捣鼓提现界面优化。首当其冲优化的,当然是填两遍银行卡。我觉得这是太多余的行为了。和优化小组JS&重构的同事说完以后,他们立刻跳出来反对我。

  JS&重构同事:“填两遍银行卡当然有必要啊!用户填错了怎么办?”如下图:


  大家的看法

  是不是应该填两遍?我采访了组里同学们的看法。


  大家都默认觉得,填两遍银行卡是非常愚蠢的行为。这不是明摆着让用户多操作一步吗?反正银行是可以校验姓名和卡号的,

  即使用户不幸填错,也不会给他造成任何损失呀!

  可我们不代表用户,用户呢?他们是怎么看这个问题的。


  对于用户而言,他们不知道银行卡可以验证姓名。他们只会认为,填错卡号,就意味着钱要到别人口袋去了。他们显得异常紧张。

  即使觉得有点麻烦,但用户对于填两遍银行卡仍然不会反感。他们甚至会觉得,这是一个很有必要的事情。

  因为 银行卡 钱 支付 这些对于用户而言,都是太敏感的信息

  小结:显然,填两遍银行卡不是一个好的设计,它增加了用户额外负担。其实用户真正的诉求不是填两遍银行卡,而是怎么样能让“我”的银行卡号不填错。

  解决方案

  那么……怎么办?在用户填写银行卡时,我们需要解决两个问题:

  a 尽可能使用姓名和卡号即时校验,以最短时间告诉用户卡号与姓名是否匹配,卡号是否填写正确。

  b 心理上,在填写银行卡的过程中给用户心理上的安全感,消除担心会填错卡号的恐惧心理。

  有什么好的办法,既能不让用户那么麻烦的填写两遍,又能消除用户担心填错的心理呢?

  下面是我能想到的几个办法,抛砖引玉。

  1. 扫描卡号

  银行卡会填错,主要是信息在传递过程中出现了错误。用户填写银行卡出现了多次信息传递。用户通过眼睛看到卡号,再将卡号传递给大脑,通过大脑发送指令给手,手再进行输入。

  如果能减少信息传递的次数,不需要通过用户多次传递,那么就能大大降低用户填错银行卡的几率。也不会给用户的心里造成太大的负担。

  扫描卡号,就是一个不错的办法。


  2. 将信息分组也是防止用户填错卡号的有效方式。银行卡号输入后自动分隔显示。


  3. 银行卡号在输入框上方放大显示。当然,这个方法也有一定的弊端,会让用户在输入时分心,不能把所有注意力放在输入框内。


  4. 模拟真实银行卡形式输入。


  5. 再想得远一点,能不能在输入框中加一个小喇叭,点击小喇叭可以将卡号播放一遍。


  大家还有更好的办法么?—————-

  总结: 显然,填两遍银行卡并非是防止用户填错卡号的好办法。它只是为了解决填错而迫不得已的一个解决方案。但设计师是有办法的人,我们可以通过更好的方式来帮助用户解决这个问题,

  让用户在填写银行卡时有更好的体验。

  另外还想说的:我们不是用户,就算是,也不是普通用户。永远不要以一个设计师的眼光来看待用户的行为。

时间: 2024-11-03 09:41:05

填两遍银行卡有必要吗的相关文章

delphi 通过 ado 访问数据库存储过程,如果有插入动作,为什么会执行两遍?

问题描述 delphi 通过 ado 访问数据库存储过程,如果有插入动作,为什么会执行两遍? 20C 如题.这是我反复测试后得出的结论.我实在不理解为什么. 具体测试过程是这样子的:我用ado连接数据库.然后我写了一个简单的存储过程,就是往表里插入数据.然后我用ado调用这个存储过程.然后我就发现,虽然程序里我只调用了一次,但实际上表里的数据却被插入了完全一模一样的两条. 这算是bug还是怎么回事?是不是有什么我不曾注意到的细节没处理好? 存储过程代码如下: create procedure p

log4j输出日志了两遍,求高手帮忙看看

问题描述 log4j输出日志了两遍,求高手帮忙看看 我的项目是用log4j.xml配置的,配置了一个root,然后又配置了一个logger,nane=test,root和logger输出到不同的日志文件中,使用Logger.getLogger("test").info("test").结果两个日志文件都输出了日志,我的期望是只在test那个logger里输出,怎么做才能实现呢?

钻牛角尖————“init()事件发生在所有的控件被初始化,所有的皮肤设置被应用以后。它用来读取或者初始化控件属性”————这句话矛盾不?怎么初始化两遍啊?

问题描述 Init():这个事件发生在所有的控件被初始化,所有的皮肤设置被应用以后.它用来读取或者初始化控件属性.这句话我不理解,感觉矛盾.到了init()这步,所有的控件不是都被初始化完了嘛,为什么还说"读取或初始化控件属性"?这不是初始化两遍嘛?微软上也是这么说的:Init():在所有控件都已初始化且已应用所有外观设置后引发.使用该事件来读取或初始化控件属性.难道"控件初始化"与"初始化控件属性"是两个不同的概念嘛? 解决方案 解决方案二:首

ssh开发-通过连接调用action,执行了两遍

问题描述 通过连接调用action,执行了两遍 SSH框架,JSP页面通过链接调用action,删除一条记录,老是在页面报错,debug发现,action执行完第一遍,接着执行第二遍,并没有return success 解决方案 是不是你页面调用了2次action,如在from表单提交时,同时还写了js提交 解决方案二: 是不是你action的后台代码返回的还是此action的代码,而不是其他页面=.= 解决方案三: 几种可能 1.java文件编译有问题,检查下class文件是否正常编译了 2.

scriptx 连续打印-ScriptX怎么实现一个页面在同一张A4上上下打印两遍

问题描述 ScriptX怎么实现一个页面在同一张A4上上下打印两遍 ScriptX怎么实现一个页面在同一张A4上上下打印两遍,和SetPageRange(false,1,3)这个属性有关系吗? 解决方案 走纸走两次?你要做什么?

about Log4j:日志信息居然打印两遍

问题描述 配置文件={log4j.rootLogger=info,Alog4j.logger.DBLog=debug,A解决方案二: 解决方案三: 解决方案四: 解决方案五: 解决方案六:Log for A 解决方案七: 解决方案八: 解决方案九: 解决方案十: 解决方案十一:log4j.appender.A=org.apache.log4j.ConsoleAppenderlog4j.appender.A.Target=System.outlog4j.appender.A.layout=org.

ajax-用Ajax时被传递的参数要经过两遍encodeURL编码呢

问题描述 用Ajax时被传递的参数要经过两遍encodeURL编码呢 为什么说为了解决中文乱码问题在使用Ajax时被传递的参数要经过两遍encodeURL编码呢,请相关人士回答哈 解决方案 为了适应不同的浏览器,比如ie和火狐默认编码就不一样 解决方案二: 没有这个说法,一次编码就可以了. 解决方案三: asp,asp.net不需要,但是java要,然后服务器端要解码过 http://blog.csdn.net/whaosy/article/details/8776197 解决方案四: 中文是需

程序里有JComboBox,它们触发了ItemListener事件,可是它总是显示两遍,这是怎么为什么啊?

问题描述 packagecom.ibm.iwt.example;importjava.awt.*;importjavax.swing.*;importcom.ibm.iwt.operateFile.OperateFile;importcom.ibm.iwt.operateFile.OperateRSS;importcom.ibm.iwt.window.IWindowComponent;importcom.sun.syndication.io.FeedException;importjava.aw

about Logger4j:日志信息居然打印两遍,蛋疼

问题描述 配置文件={log4j.rootLogger=info,Alog4j.logger.DBLog=debug,A解决方案二: 解决方案三: 解决方案四: 解决方案五: 解决方案六: Log for A   解决方案七: 解决方案八: 解决方案九: 解决方案十: 解决方案十一: log4j.appender.A=org.apache.log4j.ConsoleAppenderlog4j.appender.A.Target=System.outlog4j.appender.A.layout=