引言:2009年,iPhone手机刚刚出现,TouchChina创始人沈卓立拉了一帮朋友,用业余时间做了一个景点导游的项目。从2010年创建TouchChin到现在,沈卓立的景点导游应用已经拥有500多万用户,AppStore上的排名在旅游旺季能排进前10名,平时基本稳定在第20名左右。近日,InfoQ编辑专访了TouchChina创始人沈卓立,请他分享一下景点导游软件开发和运行过程中遇到的技术挑战。

InfoQ:首先,请介绍一下您的团队情况。

沈卓立:我们现在的团队有三十个人左右,主要产品团队,其中包括技术人员一共有十多人,4个人的设计团队,还有10个人左右的编辑团队,其他是运营推广和一些支持团队。

TouchChina的核心团队现在有五个人,有三位是公司的创始人。其中,创始人之一的James(薛文丞)原来是做设计出身的。TouchChina的景点通里故宫所有的图片设计都是他制作的,品位非常好。James现在主要负责产品方面的、设计方面的、视觉影像方面的工作。第三个合伙人叫张碧仿,是我大学同学。他原来在苹果是做市场,现在还是做市场的工作。

当TouchChina拿到天使投资之后,我邀请了原来在Sun公司的同事赵晓峰过来当CTO,他是一位非常出色的CTO,在技术和商业两方面敏感性都非常好。在内容方面,我邀请了鲜文敏,她原来是搜狐旅游频道的主编。

InfoQ:TouchChina景点通的创意来自于哪里?具体是如何实现的?

沈卓立:在Sun公司工作的时候,出差比较多。出差过程中经常顺便也就旅游了。但是,即使之前哪怕是花一两个月做足旅游的功课,仍然有很多不熟悉的地方,尤其对当地的一些文化背景、历史背景以及当地有特色的东西。

当时的想法就是,如果有一个手机端应用能够随时随地跟着自己,然后帮我做旅游景点的介绍。到某个旅游景点,能够应景地介绍一些有景点的故事和背景,旅游体验一定会更好。

早在2005年-2006年的时候,我就想做一个景点导游的软件了。2009年的时候,当时iPhone手机刚出来,所以我拉了一帮朋友,用业余时间在一起做了一个景点导游的项目。第一个旅游景是故宫。但是,当时并没有想到最后要出来创业。在我心里一直有个遗憾,当年没能赶上互联网发展的高潮,但是移动互联网这一波,我希望能赶上。真正最后推了我一把的是2010年 Sun公司被Oracle收购。我原来喜爱的那个“技术传教士”的职位没有了,在Oracle公司又没有找到合适的职位。2010年上半年,我干脆我就拉着我的那帮朋友出来创业了。应该说,2010年的创业,是我做出了一次听从内心召唤的选择。我觉得如果我现在不去干这事,可能到20年以后我们非常后悔。

2011年获得了第一笔天使投资,大约几百万人民币,而2013年A轮融资,我们还将获得几百万美元的资金注入。目前TouchChina已经与国内各大城市的旅游局和5A级景区进行合作,例如,国家博物馆,拙政园以及凤凰古镇、周庄等著名景点。我们期待着不久的一段时间,我们的导游软件能在宏大的旅游行业构建成一个成熟的商业模式,实现景区景点,商家等共赢的局面。

InfoQ:您在Sun公司的工作经历与您后来创立的TouchChina有没有什么帮助?

沈卓立:当初在Sun做了多年的Java传教士,我主要负责客户端,包括像JavaSE ME和一些Web技术。

我现在都仍然觉得在Sun做技术传教士是个最幸福的职位,很难找到比这个更好的技术职位。因为我总是需要向别人讲解比较新的技术,所以,我总是最先接触到新技术,这个职位始终很有挑战性,很有新鲜感,也很适合我。如果不是Sun被收购,Oracle是一个销售导向的公司,与Sun大为不同。我在Oracle没有遇到合适的职位,我可能也不会被迫选择出来创业的。

现在回想起来,在Sun期间Java传教士的工作给了我非常大的帮助,因为它相对于来说层次也比较高,宣讲的对象不仅是所有技术人员,还会去拜访一些企业CIO或CTO。

在大型企业里,技术人员往往都是深入到一种技术领域里,做自己最擅长的一件事。但是业界到底有什么用,为什么要这样做,其实不是特别清楚。那么,技术传教士的职位给我一个更高和更广的眼光,去接触实际操作过程中出现的问题,了解到都有哪些技术可以用来解决这个问题,以及这个技术是怎么样演进的,还包括一个问题被解决以后而带来另外一个问题怎么样去解决等等。

在Sun公司工作的经历,自己学会了用一个通过技术手段去解决实际生产中各种复杂的问题。

InfoQ:很多创业者之前都拥有不错的工作环境。你是通过一种什么方式召集身边的朋友放弃他们自己的工作投身到以你为核心的事业中?

沈卓立:现在对于移动互联网来讲,我觉得对于技术背景的创业者是一个福音。为什么?因为技术移动互联网实际上传统的门槛是比较低的。那么技术背景的人有一个优势,就是你有什么点子自己就可以做了,去验证你的点子靠谱不靠谱。如果你没有技术只有想法,你去找一个技术来帮你实现那就很麻烦了。

还有一个原因是,团队成员之间的性格有关关系,大家是不是可以共同认可。所以,我觉得当初选择创业这件事,并不是说我有多少人格魅力去感召大家,因为大家都看到了移动互联网的大好未来。

当然,团队里面最有执行力的人肯定先来挑这个头的。我曾经打过一个比喻,创业就像大家都在荒漠中,谁也不知道出路在哪里。但这时候,你树了一杆旗起来往一个方向坚定地走过去,虽然你其实心里也不知道这个出路到底对不对,但是大家看你走得特别坚定,他会以为你知道出路,慢慢地就聚拢在你的旗帜下。

因此,对于创业来说,比较重要的是你先把这个旗扛起来,而作为技术背景的创始人来讲,是比较有能力把这个旗举起来的。

走过三年多的时间了,虽然我似乎觉得还没有从荒漠中走出了一条出路。但是,在这个过程中,我们的团队在荒漠中的生存能力都得到了非常好的锻炼。这条路能不能最后走通我不知道,但是我相信跟三年前比,我们现在绝对走得更好。

InfoQ:TouchChina在产品研发运营过程中,遇到了哪些挑战?最后是如何解决的?

沈卓立:从技术上讲,App开发并没有什么特别高级的科技。关键在应用开发之前,你得考虑清楚怎么样构建一个体系架构以支持运营。TouchChina的应用运行时会实时地产生信息,因此,体系架构需要做得相对比较灵活些。首先,因为旅游相关的服务品类比较多,所以我们的数据增加会比较灵活。

对于我们来说,要把景点做一个抽象,对餐饮做一个抽象,所有的这些抽象集合起来,怎么样来通过某一种消费比较统一的形式把它展现出来。当然具体的形式会有些差别。

我不大同意将旅游资源每一个分类都做一个单项,我希望它们融合在一起的,把这些不同抽象点通过一个线路来串联起来,这个对后台是一个挑战。而且对数据结构是有挑战的,原因在于这些数据不是单一结构的,而是混合结构的数据集。虽然现在大数据非常热。但是我们现在还是用传统的解决方案,我们也在用MongoDB,在用NoSQL数据库来做一些解决方案。而Hadoop现在对于我们来说有点像是高射炮打蚊子。

另外一个挑战,就是旅游高峰期某些热门景点的并发数突然间爆发到很高点。这在技术上对我们的团队是一个很大的挑战。例如,2012年的十一黄金周期间的峰值要比11月初的时间高出四五倍都不止。 但是,我们不能按照峰值来做带宽、做架构,而是用云服务器来解决这个问题。我们原来采用亚马逊的云服务器,但是亚马逊在国内网速太慢。在尝试很多家的云服务,我们现在主要用的是阿里云和百度云这两家的云服务做一些负载均衡的任务。现在我觉得国内的云架构还没有做到这样像亚马逊那么弹性,所以有的时候我们还需要额外花一点钱再买一点带宽。

其中对于百度云,对我们来说是很好的入口,现在有积极的信号显示,百度开放云的步子走得还是比较快。

InfoQ:在TouchChina的产品开发过程中,有没有让您印象深刻的技术或设计?

沈卓立:我觉得有一些细节比较有意思。在产品设计环节,我们觉得有很多时候,在办公室绝对想象不出来用户是怎么用的,必须到亲自观察用户的使用场景。

我们常在iPhone手机上用两根手指对图片进行放大和缩小的操作,这是正常的情形。但是,我们去景区观察,凡是在景区旅游的人,没有几个是两只手游览景区的,要么是拿着吃喝的物品,要么是拿着相机拍照。因此,我们自以为游客可以一只手拿着手机,另外一只手的两根手指滑动地图进行查看的情形几乎就不存在,基本都只能用单手来操作手机。因此,我们在软件里面加入了一个放大和缩小的按钮。这个设计完全是从生活中来,在办公室坐着的设计人员绝对想不出来,所以给我印象很深。

InfoQ:现在的TouchChina的应用除了正常的更新之外,在其他技术或架构层面上还会做哪些优化?

沈卓立:我们现在在做一些产品的演进,包括我们把模块都提取出来,做到让模块可以复用。所以我们现在有很多的模块,景点通也是用这个模块,地铁通也是用这个模块,以及城市指南也是用同一个模块。

具体来说,就是把一些独立的功能进行模块化,使用公用的框架做一些演进。因为现在LBS App一个比较大的问题,就是发布周期非常长,如果有些实时信息发布出去,用户体验顿时就差很多。所以我们现在也在尝试做一些WebApp,把某些更新频繁的模块用HTML 5来实现这样的工作。