审美这事,萝卜青菜各有所爱。比如比较近微信发布的小程序码,有人感慨“终于换掉了丑陋的二维码”,有人却说它像“菊花”。
微信推出小程序,是因为二维码丑吗?我觉得未必。
先来看看二维码是不是真的丑。这是罗辑思维家的动态二维码,丑吗?
这是专业设计师做出来的二维码,丑吗?
【设计师:月儿妆】
在脑洞大开的设计师手里,二维码们并不甘为一个普通的二维码,它们个个都是有理想有追求的二维码。它可能想变成一个披萨:
【设计师:dgnotdog】
或者变成一个科幻基地:
【设计师:邦古拉朵】
那些说二维码丑的,或许只是缺一个开得了脑洞,又懂二维码原理的设计师。
从无码到有码我们如今常见的二维码,更准确的称呼应该是 QR 码(全称“快速响应矩阵码”),比较早是1994年由日本的 DENSO WAVE 公司发明的,虽然他们持有专利,却将标准开放了出来,任何人不需要申请都可以使用它。这才有了今天“满城尽是二维码”的盛况。
二维码的发明,和二进制紧密相关。二维码中的每一个黑色方块都称为“码元”。它代表着二进制中的 1,没有码元的位置则代表 0,不同的排列方式能够表达二进制中的 1010110 …… 从而存储海量的信息。
据雷锋网了解,一个QR码,比较多可以容纳数字7089 个,或字母4296个,或中文汉字984个(采用UTF-8编码计算)。算起来,两个二维码就能把本文的所有文字藏起来。
设计师能否随意折腾?一个完整的二维码通常包括数据、定位等多个不同区域,每个区域承担不同的功能。设计师将一个普通的二维码设计得精致美观,得益于QR码的强大容错能力。
【作者Great Brightstar 来自维基共享资源】
根据格式的不同,二维码的容错率一般是7%~30%左右,主要由容错密钥区域来承担数据冗余的作用。
所以我们会发现,一个二维码被遮挡一部分,并不会影响正常的扫描,因为它通过信息冗余来完成了纠错。但是,二维码中重要的位置,比如三个定位标志、版本、格式信息等区域不能够被遮挡。
【左边遮住一大块能扫,右边只遮住定位点却扫不出来】
在一个二维码中,每个码元只是起到了“点”的作用,形状并不太重要,所以它可以由方形变成圆角,也可以变成一个独立的图案 。比如可以用一堆糖果来拼一个二维码:
【图片来源:UI设计网】
由此,我们会发现知道,其实QR码能够玩出的花样非常之多。雷锋网编辑认为,微信推出小程序码,并不是为了改善二维码的外观,比较起码不只是因为这个原因,更多的可以是出于安全以及管控的考虑。
雷锋网注意到一件事:
微信以外的软件都无法识别小程序码,这说明小程序码和QR码采用了独立的编码方式和标准。
无独有偶,在微信推出小程序码之前,facebook 和 snapchat 也纷纷推出了 自己“环形码”“幽灵码”“菊花码”。它们相互不兼容,像一个个孤岛。
体系封闭,恰恰降低了被攻击者恶意利用的可能性。
在此之前,二维码由于技术门槛低、人人都可以复制、打印和发布,安全问题已经广受关注。很多病毒软件或者恶意网站,通过转换工具很容易就能生成二维码,手机扫码使用后,病毒软件就可以进入手机,扫码就相当于点击了一次病毒链接。
让用户自己去辨别哪些 QR码是否安全,显然风险过大,攻击者会用层出不穷的方式来诱骗用户扫码,比方说前不久有人利用共享单车实施诈骗的手法。
自成体系的小程序码,或多或少能缓解该问题。至少,以后“菊花状”的二维码可以更放心地扫了,因为每一个二维码的生成和发布,都在微信的管控之内。“ 扫了你家的码,你就得负责。”
微信小程序正朝着一个大的开发者平台发展,管控越来越强、体系越来越封闭,这是一种必然。苹果的 AppStore、谷歌的Google play 应用商店都是如此。
出于安全和管控的考虑,未来支付宝、百度等大公司也很可能会搞出来自己的一套二维码。但 QR码 不一定会消失,不同的二维码将在不同的使用场景,以合适的姿态存在。