03 | 验证码是个好设计吗?
验证码
英文名: CAPTCHA,(Completely Automated Public Turing test to tell Computers and Humans Apart 的缩写),用来区分人类和电脑的全自动图灵测试。
据维基百科的描述,验证码出现于十年前,是为了防止机器(程序)假扮成人,去占用原本为用户准备的资源。
从某种意义上说,它可能是个有效设计,但不认为它是个好设计。因为挡住机器这件事本应该是服务提供方的责任,而服务方却将其成本转嫁给了用户。
引发思考
第一个思考:不要将责任推卸给用户
举一反三,如果再激进一点考虑,我们的软件服务中还有不少推卸责任的设计,比如让用户在成千上万的商品中筛选和比价,比如各种复杂的界面参数设置和兴趣选择。要是想得再发散一点,所有的银行账户密码似乎也没有必要,超市排队也是一样。
第二个思考:方案选择的平衡
然而从服务提供方的角度来看,它却用最低的成本快速地解决了当时面临的问题。这是产品设计方案选择过程中不得不做出的“平衡”,很多时候我们没有办法第一时间实施对用户的完美方案,这就需要在产品利益和用户利益之间,找到微妙的动态平衡点。
第三个思考:验证码的进化
这些更高级的验证码服务,大部分都在标榜自己的“人工智能”属性,不管真假,这确实是个非常典型的机器学习应用场景,提供各种行为特征,训练算法去分辨人和机器。我们把这个思路放大来看,如果可以把过去看似理所应当,其实是由于服务提供方的成本考虑,而把责任推卸给用户的那些功能或流程拿出来重新思考设计,再搭配成熟的机器学习算法,或许就可以带来一系列革命性的用户体验进化。比如免密支付,让用户不必再耗费精力记录密码,比如无人超市,让用户无需排队付款,无人驾驶,让用户在通勤的过程中不需要费神开车,等等等等。
讨论:
可以做用户调研,也可以用验证码做营销,比如输一遍品牌名什么的,这是一个用户绕不过去的路障
会利用验证码帮图书馆项目做 OCR 辅助,也挺有意义的,我之前在丁香园的时候一直想利用验证码做一些专业性的事情(因为登录的都是专业医生),但没来得及实施,如果用户量大而且有什么特别的专业属性其实可以考虑考虑的。