验证码:UX 终结者

网络验证码技术虽然是外国人发明的,但却在天朝泛滥成灾。

我们有那么多同学去做 UX ,花了那么多心思给用户提供更好的体验。到最后,被一个验证码全毁了。万恶的验证码,以及走不动的进度条,总是最烦人的。

简单的麻烦——淘宝的滑动验证码

48022-20160305151513034-1640022452

淘宝和微博目前使用这个验证码,原理和 Google 的 reCAPTCHA 2 类似。第一步让用户拖动滑块(触屏或鼠标),然后记录鼠标或手指触摸的轨迹,猜测用户是人还是机器。同时还会测试浏览器的排版引擎,JavaScript 引擎等等,确定这是一个人类使用的浏览器,而不是机器人程序。

在滑动过程中,鼠标位置/手指位置的数据是发送到服务器进行验证的(密文,如下图)。由于这一过程很短,采样率有限,而且直线滑动的人为特征性也不是很明显,即使算法再好也很容易被破解程序骗。

Spectacle.G10324

如果第一步判断不是人或者把握不准,则进入第二步,即传统的图形验证码。

e3d4062a23f78089d8463eb8a87d9414_r

有没有必要

它挡不住破解程序。滑动验证比图片验证要弱,所以图片验证码才会作为第二道防线。只要写一个程序控制鼠标,并且让鼠标轨迹看起来不那么有规律就可以了。(配合浏览器,骗过浏览器性能验证机制)

如果是通过用户的交互行为来判断其是人还是机器,大可不必显示这个滑块。用户在浏览网站或使用应用的过程中必然要进行大量交互,记录这些数据要比滑动那么一下有效得多。

滑动验证是不能证明其对错的,它的数据和算法都是不透明的,而且可以推测其原理极其复杂。即使用户觉得自己是滑动到了最右端,它仍然可以强硬地不通过验证,给用户一种很无奈的挫折感。目前看来这算法确实有问题,因为通过率出奇地低于文字验证码的通过率。如是玄学,寡人不服 XD

这就造成了两种常见结果:

  1. 破解程序没被挡住。
  2. 一些用户验证了两步。

在我使用的十次当中,有七次没有通过滑块验证码,而不得不使用图形验证码。滑动和使用图形验证码所需的反应时间其实是差不多的,这意味着我比使用单一图形验证码反而多用了 70% 的时间。

而某些破解程序,已经能够做到 80% 以上的成功率。令人唏嘘不已。

两步验证码的组合更是浪费时间。

我只能说:这不合理。

四处滥用

昨天,有个人在微博上给我发消息,我用 Android 应用回他一下,然后就冒出了验证码,必须要完成验证才能发送消息。然后连续输入错误,消息没有发送成功。

我今天在淘宝注册账号,更改设置,总共输入了十几次验证码。即使我已经输入了短信验证码,后续还是被要求输入滑动验证码。

对于已经登录的用户,验证码通常是没有必要的。如果想验证用户是不是机器人,为什么不在登录的时候提前验证好?如果想验证用户是不是本人,则应该输入密码或者短信验证码。

我在使用 Facebook 和 Twitter 的这些年里,除了短信验证码和手机令牌,从来没有遇到过滑动验证或文字验证码的时候。Paypal 和 Amazon 的验证码也出现得极少,甚至于我都忘记了他们的验证码是什么样子。

当一个交互过程需要安全检查,而人们又想偷懒的时候:加个验证码吧。

验证码是一个在设计过程中绝对应该尽可能避免的东西。不管形式怎么变,用户都会反感,因为它带来了麻烦,且不止一次。它不能保证安全,任何现有的验证码机制都有破解之法。越复杂的验证码,对于人类的挑战也越大。

Sweet Captcha

Spectacle.N10324

参考链接

  1. Inside reCAPTCHA – Google “点击验证”的原理和简单破解方法
  2. 淘宝滑动验证码研究

互联网内容的语言

世界上的语言有成百上千中,不只有英文,俄文,法文,西班牙文,中文这样的广义语言,还有方言,古语等狭义语言,比如美式英语,英式英语,简体中文,繁体中文,文言文,吴语,粤语等。地理分布越广,文化组成越复杂的语言,其分支往往越多。中文尤其复杂。

如果要设计一个互联网应用,并希望支持多语言,就有很多问题需要考虑。 继续阅读 →

Shadowsocks + openSUSE

入墙回国之后,不能上 Dropbox 和 Gmail 非常头疼。原来用的大路货 GoAgent 现在也不能用了。本想买个 VPN 帐号但是都死贵,还限制一台设备登录。于是网上搜索一番,还是决定用 Shadowsocks 代理了。

Shadowsocks + Linode 东京 VPS,速度很快,可以看 YouTube 高清(720p)。 Linux, Windows, OS X, Android, iOS 都能用。由于是代理的形式,需要应用支持代理才行。大多数浏览器, Thunderbird 邮件客户端,以及 Dropbox 等都支持代理。可以满足基本上网需求了。

我的服务器操作系统和桌面操作系统都是 openSUSE ,也是这篇唯一的特色了。 继续阅读 →

Aaron Swartz

Aaron Swartz为什么而死?那不是失败或者结束,是抗争的开始。他为人类的自由和未来做出了贡献和牺牲,我们怀念他。

谷歌CEO佩奇专访

财富:当你在考虑未来将要下的赌注时,你会怎样选择?

这是我们一直在大量思考的问题。不幸的是,没有一个完美的答案。一定程度上是因为我觉得谷歌处在一个未知的领域,从这个意义上说,我不认为历史 会为我们提供任何示范,告诉我们:"为什么我们不这样做?"我们处在一个相当大规模的环境中。我们正在做许多不同的事情。我们想要成为一个与众不同的公 司。我们希望我们所做的东西里拥有更多的社交元素。我们希望人们在使用产品时感到快乐。我们希望我们的员工在谷歌工作时感到快乐。

不好意思,现在回到你的问题——选择去做什么。我们想做可以激发这个世界上最了不起的人也愿意为其付出的事情。譬如你看到的自动驾驶汽车。你知道有很多人 (因交通事故)死亡,也有大量的劳动力被浪费。如果你有更好的交通工具,你就会有更多的工作选择。这对社会是好的,对经济也可能是好的。我喜欢这样去选择 问题:如一些大的方向,科技发展会对这些方向有着非常大的影响。而我们也非常肯定可以做到。不管技术方面需要投资多少,但最终的回报一定会大得多。

财富:(在一个充满自动驾驶汽车的世界里)还有什么会发生改变?我们不再使用交通灯?你是否可以预料到将会发生的改变?

这是很难完全预料的。我认为,你知道,我们(当前)面临的问题之一就是停车。这里我引用一个构建停车场设施的成本,每个车位约40000美元。 所用建筑材料全部是混凝土和钢筋。你是否真的想在所有的停车场建设中使用混凝土和钢筋?这看起来很愚蠢。如果我们有自动驾驶汽车,或者我们只有少量的自动 驾驶汽车,我们就能在停车这方面节省数亿美元,这还仅仅只是在谷歌公司。你可以想象一下这样的体验——汽车把你载到办公楼前,然后自己去停车。任何时候在 你需要它的时候,譬如你的手机显示你正在离开办公室,你的车便立即自驾到楼下等待好。

财富:早期重大改变是围绕着公司的产品部门进行整合。你对已完成的部分是否感到满意?如果改变是要让公司更有效率,是否已做到?

这是我的工作,我的个性就是从来不会感到满足。但总的来说,我对我们已做出的改变感到满意。我认为,我们已经将焦点放到了公司上,这非常有帮助。我总的来说是开心的。

财富:网络搜索正在经历一个相当重大的转变。你认为搜索应该能够做到些什么?我们今天看到的东西,是否就是未来的趋势?

在过去十年,关于搜索我一直都在说着同样意义的东西。完美的搜索引擎会真正理解你的任何需要。它会深入地了解世界上的一切,并准确地回复你。

我认为有些我们计划做的事情与购物是相关的。在购物时我们更多的转为投标模式。部分原因是为了保证我们所获的信息可以更好地结构化表示,我们有一些非常准确的信息可以向大家提供。因为很明显的,如果你购买一样东西,这就是一个商业行为。

我们非常专注在确保数据精准、对一切事物都数据结构化等方面。我们如今在地图服务领域已累计了七年的经验,也因此获得了大量精确的数据,如这是哪条街道, 这是什么业务,这栋大楼的轮廓是怎样的。为了满足用户的需求,我们的数据越准确、越详细,结构化做的越好,结果也就越好。这也是为什么我们收购了ITA, 以确保我们拥有最好结构化的旅游信息。

《财富》:我们正在从桌面转向移动,有很多人都担心移动广告的前景,你认为这种新服务的商业化前景如何?

很显然,我们是一家有着大量收入和员工的大企业,所以我们将核心业务——搜索和广告,以及一切相关的东西看待得非常非常严重。这些业务的确会经历像现在的 一些分裂。但我认为这样很好。这正是科技产业好的方面,新生事物如新的软件,能比就软件更可以真正满足人们的需求。这就是机会。

我们很早的时候就在Android上下了赌注。我们认为移动体验真的需要反思,对吧?这是正确的。Android非常成功。我认为,正是由于我们投入开发 Android,并从中获得到经验和知识,所以我们对移动市场的理解更加彻底。我认为,我们处在货币化的早期阶段。事实上,一个支持定位功能的手机是非常 有利于实现货币化的。

我把一大堆过去不能,而如今可以在移动平台上实现的东西看作是一种添加剂。考虑到这些,我想我们今后会比现在赚到更多的钱。

我想没有公司在这一次市场转变中,不以移动广告创新和实现移动平台货币化来帮助自身更好地适应。我们已经得到所有发展所需的方方面面。

财富:在只有桌面搜索的时期,谷歌的竞争对手是雅虎和微软。如今的市场竞争是否已完全不同,是Siri吗?还是亚马逊的商业查询服务?

显然我们会从某种程度上考虑竞争。但我觉得我的工作主要是让人们不去考虑我们的竞争对手。总的来说,我认为人们有考虑现存事物的倾向。我们的工 作是去思考人们尚未想到,但又真正需要的东西。当然,如果我们的竞争对手已经知道那样东西,他们也不会告诉我们或其他任何人。我觉得我们的优势、弱点和机 会,与其他任何公司相比都是不同的。

财富:我不知道就这个行业来说是不是独特的,但有些公司很明显的在竞争(谷歌、苹果和亚马逊等),这些公司拥有完全不同的商业模式。

你若那样认为,我实际上觉得很遗憾。所有大型科技公司,他们之所以大,是因为做了一些伟大的事情。但我更希望看到企业在用户端进行更多的合作。 互联网是在大学校园里诞生的,它被设计用于进行交互操作。而随着我们不断将其商业化,我们在互联网上添加了大量孤立的岛屿,我认为这对用户而言完全是一个 遗憾。

财富:苹果是谷歌某些服务的大型分销合作伙伴。你怎样看待这种关系?你与苹果之间是否正在就此类问题进行沟通,并试图解决?

我想说的是,我认为如果每个人都能更好地相处,用户也不会受制于他人的行为,这将会是美好的。我曾尝试以身作则。我们尽可能地让我们的产品广泛可用。那也是我们的哲学。但有时候我们被允许那样做,有时候则受到限制。

我想说,我们当然会跟苹果沟通。我们与苹果有一个很大的搜索合作关系,以及其他方面的合作等等。我们会跟他们沟通,诸如此类的。

财富:谷歌的运营模式为70-20-10,即70%的精力用于发展搜索和广告业务,20%用于应用程序开发,10%用于开拓新项目。这是还适用?

是的,我们仍然在考虑这个问题。我认为我们正处在谷歌史上一个特殊的点上,如今我们有一些项目属于从那20%转移至70%的过程中。譬如Android项目应该放在哪里?它可能属于那70%的部分,但货币化的发展仍处于早期阶段。

财富:那Google X(包括自动驾驶汽车、谷歌眼镜等项目)会绝对属于那10%的范畴吗?

是的。我的经验是这样,这听起来有点滑稽,因为我觉得投资者总是会对此有所担心。你知道的,他们会说:"哦,天啊!他们要把所有的钱都花在自动 驾驶汽车项目上。"我觉得,无论我如何努力,我永远不能大于10%,实际上也很难让人们为十分超前的东西工作。让人们做循序渐进的事情会更容易。

财富:Google+是一次大的押注。既然是一次大赌注,那么对你来说它最重要的部分是什么?与Facebook形成竞争?

还是关于跨越谷歌所有产品实行身份识别?你之前谈到了普及率高于预期。那么什么是未来成功与否的标准?

我认为Google+真的相当不错。我很高兴Google+的用户感到快乐,同时用户数也获得增长,这意味着我们正做着正确的产品。我们的办公 大楼里有一个巨大的开发团队。如果你四处走走,你会看到每个人都充满激情,他们四处奔跑,并努力工作。我认为他们做着伟大的东西。他们使产品变得更好,每 一天都变得更好。这就是我衡量的标准。

Google+还有另外一面。我认为,要使我们的产品真正好地工作,我们需要有一个可行的方法来进行内容分享。在Google+诞生前,我们有18种不同的方式来分享东西。而现在我们只用了一个可行的方法,并且在不断改善中。

财富:在某些情况下,有些人并不是Google+的活跃用户,而是你们把这些人(的Google+资料放到搜索结果中去)。

谷歌曾经作出承诺,只列出最匹配的、无偏袒的搜索结果,但有人指责谷歌已背叛这一承诺。你对此有何看法?

你应该这样想,我们要做的是创建令人惊叹的产品,要真正做到这点就需要一个长期的专注力。就像我之前提到的,我们必须了解应用程序,我们必须明白你可能购买的东西,我们必须清楚机票的信息。我们必须要了解任何你可能会搜索的东西。而"人"就是一个你可能会搜索的大的领域。

所以,在这个问题上我们的考虑会有点不同。我们要让"人"成为搜索的第一对象。我们需要让这个设想运作,我们需要从现在就开始做起。譬如你看到一个产品, 你说:"好像这个产品不如我想象的一样工作。"我们会回答:"嗯,是的。它今天才刚刚推出。"其中部分原因是用户需要与新产品交互,你必须提供你的名字, 并让它为你工作。所以从我的角度来看,这并没有任何问题。我认为人们并不关注长远发展。我再一次认为,如果我们能在满足信息需求上做好,这会是很重要的。 我们真的需要明白很多东西,并且是深入的明白。人就是其中一部分。

财富:许多竞争对手都谈到,你用别人的钱在搜索中展示谷歌的服务。这也引起了监管部门的注意。谷歌是否应该在这些领域有不同的做法?

我们的思考方式是,我们的客户就是我们的最终用户。人们希望获得一些信息,希望从我们这里获得真实、准确、良好口碑的信息。这是我们的首要任 务。我认为会有一些公司从事某些专项业务,他们所做的正是我们业务的一部分。我们看到机会去创建更加美好的产品,这将超越前面提到的任何一部分。给出一个 我最喜欢的例子,譬如你正在做假期计划。如果有一个系统可以为你做假期计划,你肯定会为此感到高兴。这个系统知道你的喜好,知道天气情况,知道机票价格, 宾馆房间价格,还能梳理后勤工作,将所有的信息归纳到一起。这就是我们期望的搜索。

你开始说道"你的竞争对手"。我不认为这些公司都在抱怨我们的各种服务。所以,我不那样看问题。

我认为一般来说我们对人的数据是很有包括性的。通过谷歌搜索时,你会获得各种不同搜索引擎、旅游服务商以及其他一切信息。我们正尽最大努力以保证所有的内 容都完好呈现。我认为我们的强项来自于让每一个人都参与到其中,不过我们还是需要确保我们在提供详细信息时也为终端用户提供了伟大的服务体验。有时候一些 事情是非常复杂的。

财富:谷歌在支付领域在增长上有些慢。其中的挑战是技术原因,还是生态系统的因素,如合作伙伴、银行、支付提供商等等?

实际上我认为,那是我们真正取得了快速进步的领域。如果你跟用户谈论起谷歌钱包,他们会对此很热情。如果被允许,我们当然想让更多的人是用谷歌钱包。我希望在那个领域看到更多的合作,涉及行业的更多层面。

除了钱包外,我们对接受全球支付也很在行。我们有很多小型广告主。我们在Android Play商城上也表现很好,接受来自不同国家、无线运营商的大量用户各式各样的付费。在这一领域,我们可能有让人无法理解的能力。

财富:摩托罗拉有一些伟大的产品,但无一进入谷歌标志性Nexus产品线。谷歌会与摩托罗拉就这些产品合作吗?

尽管你们对Android合作伙伴承诺将会保持中立,但如果你们开始生产摩托罗拉Nexus,他们是否将为此感到恐慌?

首先,从某种意义上说,我不认为有任何发布摩托罗拉Nexus的切实可能。我的意思是,我们并没有拥有该公司足够长的时间。

财富:你将怎样决定何时生产摩托罗拉Nexus,你又打算怎样将决定告知三星和LG?

我认为这个问题很复杂。也许我可以大概地谈论一下。正确的思考方式是,我们如何将最具成本效益的、最高质量的产品尽可能地提供给最多的用户。这就是我们的业务,这就是我们一直为Android所做的。

我们过去开发Nexus的部分原因是,我们想要推出一款能够全面展示Android特性的产品,并让开发人员可以参与到早期开发中,理解我们做的是什么,在做什么,有哪些相关设备,时间进度,如何发布软件。所有这些事情都已经发生了改变。

每天我们都在评估如何可以正确地帮助我们的合作伙伴,如何生产令人惊叹的创新设备,如何去发布这些产品,如何让创新融入到生态系统中,并让尽可能多的人用到,如何让我们的合作伙伴感到快乐。到目前为止,我认为我们已经取得了相当不错的进步。

财富:你花了多少时间来考虑自己作为一个管理者的角色?你是创始人,当然你此前也管理过团队。

你是如何发掘这些(管理)才能的?与此前作为创始人相比,你如何体会现在作为CEO这种责任心的不同和转变?

这完全是一个不同程度的责任。我花了比之前更多的时间来做日常管理。我认为这是一件好事。我认为我有了不起的顾问。在谷歌生态和董事会中,我有 很多人可以依赖,谢尔盖,还有埃里克。他在很多问题上都十分有帮助。我认为我已经做了很长时间的管理工作,所以现在还算得心应手。但我又认为我有点处于未 知的领域,因为我觉得我正在尝试做的东西并不是——我不方便直接指出另一家公司,譬如说:"我想做他们在做的东西。"于是我尝试让某些事情发生,而不是如 何让其发生。

当我们在开拓新事物时,当我们致力于新的领域时,当改变需要发生时,我往往会看得很深入。然后我确定我有了正确的团队和正确的人,我就会对他们所做的正确 的事情抱有信心。后来我离开了很长一段时间。可能有一个季度。事情变化很大。但其中诀窍在于——要知道哪些事情会有深远影响。 【完】

周鸿祎:互联网产品的灵魂

在互联网领域创业的人越来越多,但究竟怎样才能打造出一种成功的互联网产品?很多人对此一直存在着理解的误区,它也困扰着很多创业者。根据我个人多年的实践,我认为成功的互联网产品要有几个不容忽视的特点:

第一,互联网产品要有一个灵魂,要符合相关领域的游戏规则,能打动用户的心。如果这一点没做好,产品外观做得再华丽,界面再漂亮,后台再强大,也很难成功。

打动用户的心,这好像是废话,但也最质朴,很多产品其实不是在真正满足用户需求,而是在发明或幻想用户需求,甚至逆着用户需求在做。像国内很多 SNS都模仿Facebook,尽管很像,但都不太成功,而开心网摸对了用户的脉,中国互联网用户上SNS实际是以开心、娱乐为主旨,开心网简单、容易上 手、有好玩的小游戏,这就打动了用户。

第二,互联网产品需要不断运营、持续打磨。好产品是运营出来的,不是开发出来的。而传统的软硬件产品都有个物化的载体,不可能经常改,比较稳定。互联网产品的本质是服务,就是通过某种形式的桥梁和窗口把服务传递给用户,由于用户的需求不断在变,产品就要随时调整。

早些年微软的 WindowsXP比较成功,因为在传统的软件时代,用户需求不多,厂商很容易了解到这些需求;到了互联网时代,闭门造车出来的Vista 就不可避免地失败,因为用户需求变化太快了,厂商对此没有把握好。像Google所有的产品,每过一段时间都会有小的改变,这是做互联网产品的思路:产品 一定是让人去用的,要不断地根据用户反馈去修正。

现在很多人都在讲“以用户和市场为中心”,但实际上还是“以公司为中心”。我曾经看过一家大公司的内部报告,说要做一个IM产品打败腾讯,说可以为自身带来什么价值,可以整合内部产品等,但从头到尾没有涉及能为用户创造何种价值。这种出发点必然预示着一个失败的结局。

我认为自己做客户端的资历比马化腾要老,如果真的做一个IM产品,在产品细节和技术上可能比他做得好,但很难比他成功。因为我们俩的背景不一样,我 是做传统软件出身,而腾讯的创业团队是从做传呼的润迅出来的,他们之前就在做服务,这一点给了马化腾很大的帮助。这是一个分水岭,马化腾很早就掌握了互联 网产品的规律,把它当成服务来做,持续改进。

无论你的想法高明与否,我认为都不如用户的选择高明。有了任何想法,不要奢望做到完美再推向市场,不如先简单地做出一点点就拿到市场上做实验,一旦找对了方向就迅速跟进,一旦不对,再调整的成本也很低。

把用户作为试金石,集小胜为大胜。腾讯今天非常成功,它的商业模式难道是马化腾一天想出来的吗?肯定不是,最初就是一个简单的聊天工具,但这个聊天工具就真的迎合了用户的交友需求。

从前面两点可以推出第三个特点,大家都说产品要做到专注和极致,对于互联网产品我的感觉是“伤其十指,不如断其一指”。在产品方向上,一定要先学会做减法,而不是做加法。要先找对一个点做到极致,否则你什么功能都做,最后都不突出,没有鲜明的卖点。

如果你掌握了互联网产品的规律,我觉得可能你不用太多的人力,只要瞄准用户的需求点,同时在技术开发方面采用“小步快跑,循序渐进,不断试错”的思路,就有可能超过大公司。

再见,Thunderbird

对很多人来说,Thunderbird应该算是老朋友了吧。除了Outlook之外,Thunderbird应该算得上最流行的邮件软件了。

正当它如日中天的时候,Mozilla基金会宣布停止了Thunderbird的开发。我们不得不与可爱的蓝鸟说再见了。

Thunderbird 的谢幕,标志着上一个时代结束。那时候,计算机,本地程序就是我们的全部,而互联网只不过是服务于本地软件的附庸。而现在,越来越多的功能被转移到web 上,我们在网页上收发邮件、聊天、编辑文档、甚至远程会议。在本地管理庞杂而无条理的资源,应对一堆复杂繁琐的软件,实在是令人恼火。相对的,web上正 引导一种快速、便捷、稳定的生活方式。我们不必再理会是否需要安装软件,它如何使用,它崩溃又该怎么办。只要打开网页,完成工作就行了。

未来,mailto标签会立即将我们引导到一个页面,而不是花几十秒打开一个邮件程序。这是时代思维与观念的转变。