文档章节

404 not found 背后的布道师

王尘宇
 王尘宇
发布于 2017/09/06 23:49
字数 2277
阅读 1
收藏 0
[核心提示] 从 404 公益页面第一版上线,到第二版开放 API 接口及分享路径,仅用了不到 24 小时。页面第一次上线时,所带来的用户访问流量让合作伙伴宝贝回家寻子网几乎瘫痪。
编者注:往期「极客人物」栏目中我们介绍了风格迥异的极客人物,他们利用不同的网络技术来解决自己学习工作中产生的问题亦或者为了满足自己的娱乐需求。极客公园认为「极客人物」不仅仅会为自己服务,也并非只是孤胆英雄,他们可能是一支团队,并能够利用自己的余热向社会公益问道解惑。 2013 年 5 月 12 日,济南市一个 8 岁的小女孩钰钰失踪,父母立即报了案,腾讯 404 公益页面上很快挂出失踪信息。9 天后,钰钰的尸体被警察在一个树林找到,她的妈妈听到噩耗后哭倒在床上久久不能站立。 404 公益页面的志愿者 lily 在网上搜索到该事件的报道,得知这个女孩已经是该家庭失去的第二个孩子,“如果能再早一点找到她就好了。” 当用户因为点击错误链接或权限问题被拒绝访问时,一般浏览器默认会跳转到 404 页面。这个历史遗留问题的体验并不友好,腾讯技术公益团队引用 宝贝回家寻子网的数据将这个冷冰冰的页面替换成了走失儿童的信息提示页。 从 404 公益页面第一版上线,到第二版开放 API 接口及分享路径,仅用了不到 24 小时。页面第一次上线时,所带来的用户访问流量让合作伙伴宝贝回家寻子网几乎瘫痪。 为了解决这种让人心碎的故事。腾讯技术公益团队开始在公司内推动互联网产品无障碍化,让特殊用户群体也能享受到使用软件的权利。 一次培训期间,stone 与同住的 twinsen 就一个哲学问题争论了整个通宵,虽然没分出对错,却因此发现双方共同的梦想——“为公益做点事儿”。于是,stone 和外表粗犷内心细腻的 twinsen 成了挚友,另一个合伙人 tea 在一场技术比赛中被“相中”。三人一起携手做公益项目,并力推“404 公益”,帮助家庭找回失散的儿童。腾讯技术公益团队最初则由这三个热血青年组建而成。 随后这支团队变得更加壮大。rizen 和 jolt 都是最早参与 QQ 空间的无障碍优化的员工;曾利用业余时间为盲人投诉最大的一个大型外部网站开发了一套无障碍化方案的 tamino 和 hank 负责网站通用无障碍引擎主力开发。beta 和与 scorpion 一起用了一个通宵的时间完成了 404 的核心框架。 集结完成的技术公益团队开始向 404 页面以及无障碍页面发起挑战。

从零开始

技术公益团队的第一个项目始于 2009 年。一个偶然机会,stone 接触到盲人群体,从此开始推动产品针对特殊用户群体的可访问性,把使用互联网的权利还给盲人,并进行 QQ 邮箱、QQ 空间等产品的无障碍化改造,让盲人可以通过读屏软件流畅使用互联网产品。 前期的工作辛苦而漫长,这份“工作”没有 KPI,他们耐心收集盲人用户的反馈,利用夜晚和节假日时间整理一个个琐碎需求,反馈给产品团队,跟踪改进。“每一个细小的改变都给他们带来实质性的帮助,让我们很有动力。” 2012 年 6 月 26 日,“腾讯信息无障碍联盟”成立,正式推动公司产品无障碍化,通过产品志愿参与的方式,将“无障碍化”推广到公司 20 多个产品中。 2012 年 11 月初,腾讯网新版底层页中加入了无障碍元素,多方打听,得知是一名前端开发人员 rocky 所做,他的想法很简单:“我们曾经都抱怨过不平等,所以我们应该在能创造的环境中,力所能及地创造公平氛围,让更多用户都能访问我们的产品。”找到志同道合者,技术公益团队二话不说就把 rocky 给“收编”了。不过,项目落地过程仍然有不小的困难,“产品是否做无障碍化是一个模糊的选择。我们能做到的,就是多呼吁,多影响。” 之后,团队又积极联合更多业界同行,推动整个互联网行业的产品无障碍化,终于在今年 11 月 11 日成立了“中国信息无障碍产品联盟”。为了快速大面积的推动互联网无障碍化进程,rizen 等无障碍团队的技术骨干发起了“互联网通用无障碍解决方案”开源项目,尝试为所有“有障碍”的网站提供一个通用的智能优化方案,以及方便志愿者快速的对已有的网站进行快速的无障碍化改造。

技术改变公益

对于极客而言,除了有一颗热诚的心,还得对技术有灵敏的嗅觉以及执行能力。 无障碍通用引擎的工作机制为:有一个后台管理端和一个服务器,服务器上放着一些策略文件,还有一个主脚本引擎,主脚本引擎是在访问任何网站的时候自动被激活的用户脚本,对于不支持用户脚本的浏览器也只要点收藏夹的一个按钮,拉一个 js 用户脚本进来,js 引擎进来之后,会驱动整个页面元素的扫描,在扫描的过程中将策略拉过来,告诉他扫到什么样的节点该补充什么样信息,扫完后把信息补完,然后读屏软件、可读屏的浏览器或可读屏的操作系统在这个页面的标签节点属性满足这些要求之后便能更好地读屏,让视障用户来经过 TAB 切换或纯键盘就能直接访问。 一方面,残障用户可以在现在没有实现无障碍的网站上加入这个通用引擎,使现在网站使用的无障碍化。另一方面,网站或浏览器的开发者,也可以直接将这个通用引擎嵌入产品,通过这种方式,就不需要盲人用户自己操作,就能实现产品的无障碍。 为了提高失踪儿童的找回率,QQ 空间 404 页面还根据失踪儿童的走失地点等信息,定向投放给用户。比如今天北京走失了一个小孩,就将这个小孩的信息定向投放北京地区,持续 1~3 天,北京地区用户在这 1~3 天内不再随机看到其他地区失踪儿童信息,但其他地区用户还是看到轮流显示的失踪儿童信息。 每天约有 85 万人看到失踪儿童信息,其中大部分会通过社交网络将这些信息进行分享,分享到 QQ 空间的内容占所有分享内容的 53.55%,其次是 QQ,分享占比为 24.95%,剩下的依次为腾讯微博 (15.61%),新浪微博 (4.29%),人人网 (0.92%),开心网 (0.67%)。 今年 1 月开始接入其他网站,10 个月来已有 1000 个网站接入。其中应用宝,中国寿光网、AcFun 弹幕视频网、面包网、奇热网、开心集品等 9 家网站对失踪儿童信息的传播超过了 100 万次。 宝贝回家网一共提供了 288 名失踪儿童信息,通过 QQ 空间 6 亿多网友的扩散和传播,失踪儿童被找到的机会大大提高,目前已找回 18 名,找回率已达 6.25% 而中国失踪儿童找回率 大概为 0.1%。 在国内,大型互联网公司互相掐架屡见不鲜,时间久之,起诉成了日常习惯,却对提高互联网技术以及改善生活水平没有推进作用。我们的空气还是如此糟糕,交通依然拥堵。就像极客公园发起的「创新者联盟」,希望联合互联网圈内优秀的产品人,一起推动中国的科技创新一样。为何国内这些巨头们不能联合起来为公益做些事情?

© 著作权归作者所有

王尘宇
粉丝 1
博文 450
码字总数 469557
作品 0
西安
私信 提问
人人网任命开放平台首席布道师 加大开放力度

8月8日消息,近日人人网任命前微软中国开发布道师王立楠为人人网开放平台首席布道师。 人人表示,这是公司自上市以来第一次在企业管理层面进行的排将布阵,从而全面发力开放平台。 据了解,王...

红薯
2011/08/08
1K
12
SegmentFault D-Day 2015 北京站

SegmentFault D-Day 介绍 2014 年 SegmentFault D-Day,5 个月,9 场技术沙龙,覆盖北京、杭州、南京上千的开发者,我们受到了越来越多的开发者的参与和肯定。这些肯定也让我们不敢减弱技术传...

文洁洁洁
2015/03/09
351
1
王立楠:跨平台是伪命题 用户体验才是真

10月19日消息,人人开放平台首席布道师王立楠表示,跨平台是伪命题,其实在跨平台过程中,一个平台是被另外一个平台取代的,而决定它的是用户体验。 到底浏览器的应用和原生应用之间有多大差...

红薯
2011/10/19
1K
27
SegmentFault D-Day 2015 北京站

SegmentFault D-Day 介绍 2014 年 SegmentFault D-Day,5 个月,9 场技术沙龙,覆盖北京、杭州、南京上千的开发者,我们受到了越来越多的开发者的参与和肯定。这些肯定也让我们不敢减弱技术传...

文洁洁洁
2015/03/09
4
0
【沙龙】云通讯:更懂你的通讯开发工具专场沙龙#深圳#

微信电话本火了,陌陌准备上市了,还有众多类似“免费通话”、“020社交”、OTT应用等场景的互联网产品都在跃跃欲试,不管是通话还是社交,其背后的核心技术都离不开“通讯”,如何才能快速集...

micjohn
2014/12/08
15
0

没有更多内容

加载失败,请刷新页面

加载更多

js中将字符串转换成json的三种方式

使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON )。 ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了...

物种起源-达尔文
12分钟前
5
0
centos7下面python3.7安装

我这里使用的是CentOS7,默认系统自带python2.7的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的...

chenhongjiang
17分钟前
5
0
带你入门SpringCloud统一配置 | SpringCloud Config

前言 在微服务中众多服务的配置必然会出现相同的配置,如果配置发生变化需要修改,一个个去修改然后重启项目的方案是绝对不可取的。而 SpringCloud Config 就是一个可以帮助你实现统一配置选...

桌前明月
18分钟前
5
0
9.21 日常记录

先说说最近的状态: 一句话,很不好。缺失了目标感,做什么事都是浑浑噩噩的。 每天都是想着轻松的活路去做复习,没有看书,根本没有去思考如何让自己变得更好。 回想起年初的约定,也是一个...

Garphy
27分钟前
4
0
借助Python 函数进行模块化代码

你是否对函数、类、方法、库和模块等花哨的编程术语感到困惑?你是否在与变量作用域斗争?无论你是自学成才的还是经过正式培训的程序员,代码的模块化都会令人困惑。但是类和库鼓励模块化代码...

问题终结者
31分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部