本文由Yurii原创,转载请注明来源: Life Sailor

本文链接 Google Maps的故事【上】


最近,我读完了Bill Kilday回忆Google Maps前世今生的《Never Lost Again》,觉得这本书相比各种“精益创业”的教材毫不逊色,而且更引人入胜。

出于兴趣,我又查证了不少资料,写了一整篇Google Maps的故事,下面是第一篇。

Keyhole

如果你是军迷,大概听说过美国军方的“锁眼”(Keyhole)侦查卫星。到上世纪90年代末,型号为KH-11的第五代“锁眼”,已经能够监视全球各热点地区,提供1.3米的分辨率了。

所以,Keyhole的创始人John Hanke决定给自己的公司命名为Keyhole,但这其实这只是个权宜之计,因为John真正想要的是Earth.com。Earth.com这个域名,1992年被IBM的一名员工买下,他对John开价100万美元,对1999年的创业公司来说,这当然无法承受。所以,Keyhole这个名字就被一直用下来,到被Google收购为止。

Clipmapping

Clipmapping大约可以翻译为“片段映射”,是SGI(Specialized Graphical Innnovation)的“副产物”,这项技术能把不同分辨率的图像合并起来,在用户进行缩放操作时提供“无缝”的体验。简单说,在用户放大地图时,它的工作流程类似“小比例尺地图定位-小比例尺地图放大-中比例尺地图定位-中比例尺地图放大-大比例尺地图”。如今我们在使用电子地图时,缩放操作看起来那么自然,那么符合直觉,背后依靠的就是Clipmapping。

传统上,Clipmapping技术主要用于电子游戏,在游戏里经常需要用它来渲染大型地图,玩家在游戏里行走,他所接近区域就要逐层放大。至于真实世界的地图,如果你还记得,“传统”上它们就是现定于几个固定比例尺,地图和无缝缩放似乎天然就是绝缘的。如果你要查看的区域位于地图的边缘,或者横跨几张地图,那更是痛苦不堪。

1999年,SGI的Michael Jones、Chris等人花了一个周末,研发出将Clipmapping应用到地图上的技术(他们称其为CTFLY,City-Fly),让用户能够自如缩放不同比例尺的地图。所有见过这个Demo的人都被震惊了,原来地图还可以做得这么炫!有人甚至联想到了当时流行的电影《国家的敌人》。

不过,使用Clipmapping来制作地图并不单纯为了炫酷,还有工程上的考虑:使用Clipmapping,用户不必下载所有的数据,就可以看到自己感兴趣的那部分内容,真正实现“弱水三千,只取一瓢”。对于地图这样涉及到海量数据的项目而言,这项技术再合适也没有了。要知道,那还是在1999年,即便是采用了Clipmapping技术的CTFLY,也需要价值4000美元的Dell电脑才能跑起来。

大概是CTFLY太好了,所有人都被炫酷界面所吸引,反而忘记了继续沿着“地图”的方向走下去。SGI也认为,这技术如此先进,用来做游戏能赚大笔的钱,为什么要去做地图那种没有回报的事情呢。不过,Michael等人业余仍然在花时间打磨CTFLY,让它越来越好,越来越完善,结果最终被董事会下了终止令:“它的确很酷,不过,别再做了”。

不甘心的Michael等人提出,能不能把CTFLY拿出去成立一家新公司,自己拿投资,自己养活自己?董事会同意了。经过猎头的推荐,他们找到了John Hanke,双方对CTFLY都很满意,都希望在地图上做一番事业,于是Keyhole成立了。

EarthView与Esri

因为买不到Earth.com,John只能给自己的产品取名为EarthViewer,对应的域名是earthview.com。但是取名只是第一步,更关键的是,它的市场在哪里呢?

当时市面上已经有垄断级别的数字地图厂商了,也就是Esri(读音ez-ree)。Esri创立于上世纪70年代,到2000年,它已经拥有几十万客户端,地图超过一百万张,营收达到3亿美元,是当之无愧的巨无霸。

相比之下,Keyhole手里的Clipmapping技术只提供了更好的用户体验,却不是与Esri竞争的法宝。那么Keyhole要怎么办?经过仔细分析,Keyhole发现了Esri的几个缺点。

第一个缺点是复杂,Esri是典型的行业软件,必须由取得GIS专业的学位专业人员经过培训才能操作,每遇到新客户,都必须由专家来定制解决方案;第二个缺点是数据不统一,用户经常要自己导入各种数据,并祈祷这些数据能正确读取,并且能彼此对齐;第三个缺点是速度很慢,如果没有预先把数据全部装载到本地硬盘,大范围的地图响应非常慢,几乎不堪使用。

针对于此,Keyhole虽然很小,但仍然明确了与“巨无霸”Esri竞争的策略:EarthViewer必须做到普通人就能使用,必须提供完整统一的数据,必须提供流畅的操作体验——Clipmapping技术让操作界面恰恰符合了普通人的直觉。同时,依靠飞速发展的互联网,技术上可以做到在中心节点保存海量数据,在客户端按需进行读取和计算,这样就同时保证了数据完整性和操作速度。

让我佩服的是John的眼光,他的愿景相当明确,就是提供普通人能用的地图产品,所以他根本不畏惧客观条件的限制。按照John的说法:我们不是为现在的硬件做开发,而是朝着硬件发展的方向去开发。未来的设备计算能力会越来越强,还会有越来越多的设备提供GPS信息(虽然他当时没想到手机也会有GPS)……

当然John也会客观考虑现实情况,早就有人向他建议采用BS架构而不是CS架构,方便用户使用。但是John考虑到当时的硬件处理能力和前端技术,没有采纳这个建议——要知道,当时连Firefox都没有出头,IE仍然占据着浏览器市场的最大份额,更重要的是,Ajax没诞生,流行更是六年之后的事情了。

看到这里,大家基本可以想象Esri的未来了。老实说,看到后来我有点为Esri惋惜,“船大难调头”的悲剧又一次上演。EarthViewer大获成功之后,Esri也尝试做同样的产品,提供了同样炫酷的效果,一度把Keyhole的人吓了一跳。但他们迅速发现,Esri的产品在演示时竟然没有联网线,也没有接Wifi,瞬间Keyhole的家伙们就放心了:Esri的界面再炫酷,却无非是新瓶装旧酒。后来Esri想过和Keyhole合并,但John没有同意。

Blue Marble

Blue Marble(蓝宝石)是NASA网站上的公开项目,包含了各种地图数据(到今天仍然在更新),EarthViewer 1.0的数据就来自这里。但对于真正的生意来说,这样的数据显然不够,所以John等人开始四处搜罗数据。当时,他们主要找到三种数据来源。

第一是卫星地图,受益于美国国会1992年通过的法案,之前军方垄断的卫星地图技术也可以用于商用。Keyhole的人接触了两家很大的商用卫星地图提供商:Space Imaging和Digital Globe。Digital Globe已经可以提供亚米级的卫星照片,足够当时的使用。Digital Globe的数据对Keyhole的发展至关重要,后面还会提到。

第二是各地政府部门,各地政府部门大都保存有本地的航空地图。Keyhole的生意模式很简单:你给我数据,我给你访问账号。有意思的是,有越来越多的政府部门愿意主动提供数据给Keyhole,因为它们之前的数字地图“实在是太难用了”。而且,地图数据都处在割裂状态,两个城市、两个政府部门之间共享地图都极难获得,也就无法参照、协同。

第三是掌握大量地图信息的商业公司。其中最有名的是Airphoto USA,老板J.R.Robertson自己有十四架装载有专门航拍设备的飞机,手中拥有大量地图。Robertson给John的开价是,每个城市的题图40万美元。初创公司当然拿不出这么多钱,但John的给了另外一个选择:EarthViewer每卖出一份拷贝,Robertson可以拿到25%的收入。Robertson同意了。

Nvidia

2002年左右,Keyhole的第一笔来自Sony的投资快用光了,John必须去寻找新的投资商,他想到了Nvidia。当时Nvidia已经打败3dfx(一个古老的名字),成为图形加速卡的霸主,蓬勃发展的游戏行业对图形加速卡提出了旺盛的需求,Nvidia的市值高达100亿美元,有实力投资。更重要的是,John真正想做的是全3D的地图,他需要类似Nvidia这样厂商的支持。

Keyhole给出的条件是:Keyhole为Nvidia独家定制优化版本,换取Nvidia的投资,并把EarthView客户端包含在Nvidia的显卡附赠光盘中。但是Nvidia的团队对此置之不理:和家大业大的Nvidia比起来,Keyhole实在太小了,根本不懂什么是规模。

John没有放弃,他设法直接联系到了Nvidia的创始人黄仁勋。最终结果是,黄仁勋同意给Keyhole提供50万美元,定制Nvidia专属版本EarthViewer NV。John答应了,因为有了这50万美元,公司还可以多撑两三个月,而开发专门版本只需要几周的时间。

在双方的会谈中,黄仁勋还提到,Keyhole有没有考虑过,在展示街道级别的地图时,同时提供“实景”呢?John没有考虑过这个问题,“这相当于收录几十万英里长的实景图片”,他停了好一会儿才说,“做到这一点,大概要20年后”。

EarthViewer NV发售之后广受欢迎,Keyhole的人收到各种用户的留言,典型的是“天呐…天呐…老天呐…”。EarthViewer NV每份要卖79.95美元。按照之前的合同,Airphoto USA的老板Robertson可以分得20美元……

QuickBird

在EarthViewer NV发售后不久,Keyhole开始接触到Nvidia显卡在全球的用户。显然,EarthViewer需要给全球各地的用户提供地图服务。这时候,John找到了Digital Globe。

Digital Globe在2001年发射了QuickBird(快鸟)商业卫星,提供0.6米级别的分辨率,在全世界名列第四。QuickBird卫星可以每天工作24小事,一周工作7天,全年无休地扫描地面,并且不断提供最新的数据。更重要的是,这些数据是没有国界的。

Digital Globe掌握了大量的数据,也明白用户需要这些数据,但它没有合适的处理和展现形式,而这正是Keyhole所擅长的,堪称天作之合。于是在EarthViewer NV之后,双方进一步达成了合作:Digital Globe负责向Keyhole提供数据,而Keyhole容许Digital Globe直接访问全球主要大城市的地图数据。

为此,Keyhole的工程团队做了大量的工作,不但能存储海量的历史数据,而且打通了前后端,能展现同一区域在不同时间的地图。从此,EarthViewer提供了两个版本,一个使用Digital Globe的数据,一个使用Airphoto USA的数据,用户可以自由切换。

CNN

在EarthView的早期,重要的客户是房地产经纪人。因为有了EarthViewer,它们不必再亲自跑来跑去看各种房子了,只要在软件上点几下,就可以看到房屋所在的地方,周围的环境。这种需求是存在的,但是,它还太小众。

从2002年开始,EarthView开始挖掘更多行业的用户。它的销售Dave Lorenzini属于创业公司最喜欢的那种人:他们知道自己要干什么,管得越少,结果越好。Dave Lorenzini开拓了各行各业的用户,并努力达成了不少长期合同。不过,Lorenzini花了很长的时间和CNN谈,却一直没有好的成效,到2003年初仍然没有谈成,合同金额从40万美元大幅下降到7万5千美元,达成可能性也从九成下降到五成。

当时Keyhole一年的收入大概是200万美元,但仍然不能覆盖支出,Nvidia的50万美元也已经用完。Keyhole当时接触的一家投资机构是In-Q-Tel,但这家机构的速度也很慢,迟迟不能决定。Keyhole的人不知道的是,In-Q-Tel是中情局的投资机构……

2003年3月27日早上,CNN终于给Keyhole发来了合同,确认价格是7万5千美元。虽然金额很低,但John达成了一个了不起的成就:CNN同意在用到EarthView的时候,在电视画面上显示EarthView.com的URL。

经历过那段历史的人都知道,2003年3月20日,以美国为首的联军开始攻打伊拉克,各大电视台也开始了连篇累牍的报道。最早,Keyhole的人以为,CNN只会用EarthViewer事先录制一些动画,作为报道的补充。不过这一次,CNN的记者Miles O’Brien突发奇想,他不再想用事先录制的动画,而打算在演播室打开EarthViewer软件,从地球全貌出发,逐步定位到巴格达,“亲临”战场。于是电视观众们看到的是这样的画面:

现在是格林威治时间早上7:30分。我们通过在地球上空几百英里的卫星来看看巴格达,这些照片比人工报道更能说明情况。我们使用EarthView的软件来放大地面,看看轰炸的成果……

此时此刻,屏幕的右上角还醒目地飘着EarthView.com的文字链接……

大概程序员都不太喜欢看电视,所以Keyhole的人还在照常工作。然而那个下午,爆发的流量涌入EarthView的网站,瞬间打垮了所有的服务(值得庆幸的是,有一组独立的服务器专门为CNN服务,所以CNN不受影响)。大家正在面面相觑,忽然有人收到了朋友的短信:嘿,老兄,我在CNN上看到你们公司了!

更奇妙的是,因为之前购买了Digital Globe的服务,EarthViewer可以不断获得最新的数据,所以在直播时,嘉宾可以方便地比较伊拉克的历史图片,发现最新的进展。在电视直播的历史上,在战争报道的历史上,从来都没有发生过这样的事情。

甚至军方也受到了影响。美军内部从上到下,无数的指挥官都在问:CNN用的这个东西到底是什么?为什么我竟然还用不上这个该死的玩意儿?甚至有不少美军士兵自费购买了EarthView,以便在执行任务时更有把握。

后面的事情就不难理解了,《新闻周刊》、《时代》、《纽约时报》等媒体纷纷跟进报道EarthView,Keyhole瞬间名声大噪,各大新闻机构纷纷签约,久拖不决的In-Q-Tel的投资也接踵而至……

KML

本来写到CNN,Keyhole后面的故事就可以想见了。不过,我觉得还是有必要谈一下KML。KML,指的是Keyhole Markup Language,也就是“Keyhole可标记语言”。虽然这项技术不复杂,但意义非凡。

在KML诞生以前,地图和用户之间是没有多少互动的。地图上的信息是制作地图时预先标注好的,用户只能浏览“现成”的地图,所以用户之间也是互相隔离的。但是,KML改变了这一切。

最早的KML非常简单,就是经纬度和时间戳的组合,用来标注什么时间,出现在什么位置。有了KML,用户之间就可以互相交流信息,甲用户的活动轨迹可以用KML描述,发送给乙用户之后,就可以在乙用户那里原样重放出来。这样,EarthView的使用方式就从单一用户专用,摇身一变成了多用户协同参与,打开了无限广阔的空间。等到新版本KML诞生之后,更支持用户自己标注地点,所以每个人都可以生成“专属于自己”的地图。

在KML的推广过程中,有一个案例特别典型。圣克拉拉的地区检察官相信,犯罪嫌疑人Scott Peterson杀害了自己的妻子Laci,但是苦于找不到证据。检察官给Scott的车保险杠下安装了GPS定位仪,记录了他的行踪,但是一堆原始数据并不能说明什么。所幸,检察官是EarthView的用户,他向EarthView求助,能否分析Scott的行踪。

在得到John的首肯之后,Keyhole的工程师把GPS数据转换为KML格式导入了系统,复原了Scott的行踪。大家惊奇地发现:因为有经纬度,有时间,所以能复原当时的速度。按照Scott的说法,Laci失踪的当晚他去钓鱼了。但是根据EarthView恢复的数据,那天晚上他开着车,在海边以极慢极慢的速度行驶。不管他在干什么,至少,这肯定不是在钓鱼。

几周之后,Laci的遗体被海水冲上陆地,地点正是在Scott当晚以慢得不正常的速度开车的海滩。在EarthView复原的行踪面前,法官、陪审团得到了一致的结论。也因此,KML被越来越多的人所了解,价值被越来越多的的人认识到。

如今KML已经成为Open Geospatial Consortium的标准语言,被Google Maps等众多产品使用,最新版本为2015年发布的KML 2.3。

我的评价

如今国内有许多热闹的“精益创业”的故事,但我好奇的是,为何Keyhole的故事如此精彩,却鲜有报道?我搜到靠前的一条新闻,还是2004年新浪发布的《Google宣布收购数字地图测绘公司Keyhole》——其实Google早就注意到Keyhole了,在Google还没有上市的时候就已经决定要收购Keyhole了,而且志在必得,开出了非常优厚的条件,让Keyhole放弃了另一家知名VC的TS。

总的来说,Keyhole的创业故事相当有意思,也很真实(尤其是写到在Google遇到的公司政治,那些倾轧和争斗,基本可以说赤裸裸、毫无掩饰),热衷报道“科技”,讨论“创业”的中文媒体却视若无物,实在有点可惜。作为普通读者,坚持多阅读英文资料,绝对是认识大千世界的不二法门。

对我们很多人来说,Google Maps似乎就是个“起点”。虽然初次接触时很震撼,但那些让人惊异的特性,其实大多是之前Keyhole持续积累的成果:简单通过浏览器完成的操作,无缝平滑放大的感受,历史图片的对比,个人数据的标注…… 每一点今天视为“理所当然”的特性,都需要经历萌发-验证-发展-完善的过程。创业绝不是某些报道描述的那样“顺理成章、水到渠成”,时间、运气、眼光、决断,都是相当重要的因素。

当然大环境也很重要。Keyhole的成功,两个背景条件是相当重要的:一个是1992年美国国会通过法案,容许商业公司使用卫星地图数据,根据报道,Digital Globe现在已经开放了0.4米甚至0.3米分辨率的地图数据;一个是1996年克林顿主导的国家GPS政策(PDD),旨在增强美国民用GPS导航系统的竞争力,目前民用GPS精度可以达到米级别甚至亚米级别。没有这两项政策,Keyhole乃至今天的手机地图都是不可想像的。

对比之前我翻译的《Wired长文:冷战苏联地图的秘密世界》,苏联政府雄心勃勃的地图计划也是要测绘全世界,但高精度地图只给“自己人”用,给苏联老百姓的地图都要刻意做偏移,简直不堪使用。一句话,社会的管理者没有开放的眼光和胸怀,许多创业根本无从谈起,许多智慧根本无从释放。说到这里,我不由得想起哈耶克说过的:那种明知道一切后果才赋予的“自由”,其实算不得自由。

回到起点,Keyhole的发展历程也很像国内的许多创业公司,从一个技术亮点(Clipmapping)发源的。但是技术绝不是创业成功的充分条件,SGI的几个工程师愿意把Keyhole拿出来做,但非常清楚要找合适的CEO,而且他们也的确找到了,John Hanke恐怕是最适合Keyhole的CEO了。

John Hanke很坚持自己的愿景,非常清楚要做面向大众的产品,也非常清楚不能受已有技术的限制。在几个关键的节点上,他的谈判能力都发挥了重要的作用:与Airphoto USA谈合作,以“分成”方式降低要价;与Nvidia的投资团队谈不拢,则直接找黄仁勋谈,勇于接受50万美元定制版本的任务;与CNN的合作虽然要价很低,但谈成了关键条件,在屏幕上显示EarthView的链接。

难能可贵的是,即便EarthView已经逐渐走上正轨,John仍然没有架子,而是深入一线了解问题。2003年,Esri推出了ArcGlobe作为反击,消息一度让Keyhole的人非常紧张。这时候John叫上作者Bill Kilday,只身潜入ArcGlobe的展示现场,一开始被炫酷效果所震惊,偶然发现演示电脑竟然没有联网,他们才如释重负(这种做事风格倒是和美剧《硅谷》的描述非常相似)。相比之下,一些公司刚刚走上正轨,CEO就醉心于“开会听报告”的待遇,真是让人无语。

John也很讲义气。在与Google谈判收购事宜时,John一开始就把“Keyhole的29个人必须全部保留”作为前提,而没有理会“收购时让一些员工拿钱走人”的惯例,此举得到了团队成员的一致认可。在加入Google初期,John想了很多办法保持团队完整,提醒大家多看多想,避免被按照Google的职能架构分配拆散(实际上,按照作者的回忆,Keyhole在加入Google后马上面临着堪称“险恶”的局面,幺蛾子层出不穷,但Keyhole一直能保持团队的完整,John做出了巨大贡献)。还有个细节也很能说明John的人品:Keyhole被收购以后,之前为Keyhole提供办公场所的房东也分到了1万股的Google股票,他之前心脏不太好正在住院,这个消息对他来说无异于另一次打击……

我见过很多技术创业的团队,技术和产品都不错,最后却没做成,其中不少正是缺乏John Hanke这样的人。要知道,计算机虽然遵守规则和逻辑,但现实世界的规则合逻辑往往比计算机的更加复杂,有全然不同的玩法,只有真正有能力有经验的人才能玩得转(当然限于国内的环境,有这种本领的人,职业操守又往往不让人信任)。

最后不得不说的是,Keyhole的工程师团队相当给力。在被Google收购之前,2002年左右,他们就需要以一己之力处理容量GB、TB级别的地图数据,并且通过互联网提供在线服务,技术上的挑战是相当大的。他们的预算并不多,所以只能购买廉价的设备来提供服务。工程师团队的主力之一是生物化学博士,日裔程序员Chikai Ohazama。

作者非常欣赏他的努力,因为无论业务量如何增长,他总是能让那些廉价Linux组成的系统比需求“提前一步”,既不因为过度超前而浪费,也不因为没做准备而狼狈。这些看起来不“高大上”的成就,都需要极精湛的技术素养才能做到。这样的工程师,也是所有创业团队都欢迎的,所以即便被Google收购之后,Chikai仍然是非常核心的工程师。

结尾放个彩蛋,你知道Keyhole的团队在Google的结局吗?这个团队后来离开了Google,做了另一个大放异彩的产品:Pokémon Go。如果你懒得读书,又希望了解Keyhole团队后面的故事,欢迎用赞赏来督促我继续写作。

P.S. 能读到Never Lost Again纯属意外。之前我翻译了《Wired长文:冷战苏联地图的秘密世界》,讲了苏联地图的故事。读者“赵刚”给我留言说“有本书Never Lost Again讲谷歌地图的,觉得不错”,我才买到的(亚马逊中国有售),在此表示感谢。我曾写过《写作是种高质量的社交》,至今我仍然深信不疑。