我的项目简淘网与TOP开发大赛

来源:互联网 发布:vip域名可以备案吗 编辑:程序博客网 时间:2024/05/14 19:40

此文为淘宝的“赢在淘宝”TOP开发大赛而作。该比赛的网址为http://open.taobao.com/win/。

 

我的参赛项目是简淘网(http://www.simtao.com),已经在展示中,链接是http://open.taobao.com/win/production_detail.php?appid=13645

项目名称:简淘网_页内关键字广告

项目效果显示在http://top.outtrip.com/about/demo.htm。

该项目的推广口号:“大道至简 以简驭淘

我来自上海,毕业于某院校计算机科学系。从高中时就开始在当地少科站玩苹果II型计算机,家境当时属偏下水平,属于上海穷人,高一时我父和我打赌赌输,不得不兑现承诺给我买了一台80286型电脑。我当时不知道,那台电脑花去了家中所有的积蓄。幸亏有那台电脑,使我比同龄人接触电脑早好多,使我在读大学的时候,可以靠编程赚钱。感谢我的父亲!

 

毕业后工作的这10来年,做过大大小小数十个项目,跳过几次槽,做过程序员、项目经理、部门经理、技术总监等职位,还创过两次业,最终还是因为太喜爱编程,找了一份能够继续有机会写程序的某小公司技术总监职位。在项目中使用过的计算机语言有C/C++, PHP, C#.NET, PERL, ERLANG, JAVA等,其中最喜欢的是后三种。

 

现在的工作很轻松,除了不断改善公司软件的核心架构之外,大部分精力被放在把公司产品的代码写的更优雅上面。然后就是研究一下最新的技术,最新的算法,剖析一些著名开源软件的源代码,并实践那些代码中所使用的设计模式等等。

 

人到中年,生活安逸,工作无压力,人开始渐渐胖起来,不得不每天晚上靠在跑步机上跑几下减减肥。剩下的时间,不是打PS电玩,就是看美剧,总觉得创业,应该是那些朝气蓬勃,敢做敢为的年轻人的事。

 

直到2009年9月2日,在javaeye上看到淘宝网的TOP开发大赛广告,才知道淘宝已经开放API。之前曾研究过facebook,校内之类的API,潜意识里感觉到淘宝的API开放,将孕育巨大的商机。于是萌生了报名参赛的念头,一开始即不是为了大赛奖品IPHONE和MACBOOK,对“淘宝动力”资质更是不甚了解,参赛只是想知道“吾老矣,尚能饭否?”

 

紧接着的两个晚上,先把API文档从头到尾读一遍。用API开发,其实就是就米下锅,因为API开放内容非常有限,不能天马行空的想一些功能,然后指望能够找到对应的API,这样结果往往会相当的失望。所以,必须要先对API有个大致的了解。

 

考虑到比赛的时间很短,允许提交作品的时间仅三个月,我又有自己的工作,只能使用业余时间。因此,提交的作品,最好能够使用我已有的技术积累。同时,通过翻阅这个活动的相关宣传文档,了解到淘宝是希望通过这次比赛,找到一些有技术实力,并且善于经营的优秀团队,入选其核心合作伙伴队伍。这两点,成为我选择参赛项目的重要参考依据。

 

这次淘宝大赛选择的参赛作品主要分为卖家工具、买家工具和社区营销插件三类。我没在淘宝上开过店,未曾有机会通过实践获得作为淘宝卖家的切身体会,因此如果说让我写一个卖家工具帮助卖家更好的销售产品,那除了我模仿其他人的作品外,就只能是建一个空中楼阁,不能切中实际需求。而买家工具这方面,虽然我在淘宝也经常买东西,但却从没想过需要辅助购物工具来帮忙。通常来说,有产品搜索,有淘宝旺旺与掌柜聊天,就足够了。个人觉得淘宝这个平台,为买家已经考虑的相当周到。另试想,如果某个买家辅助购物工具即便能够使买家获得更好的购物体验,而真正能为此辅助工具掏腰包的买家,又占多少比例,如果让卖家来付费,那这个工具就丧失了普遍性,只能为很小的一部分买卖服务?因此,如果我在社区营销插件这个领域再找不到合适的思路,那也就无缘这次比赛了。

 

回顾我之前做过的几十个项目,有一部分是网络安全相关的国家保密项目,涉及加密算法、授权与访问控制、网络安全审计等领域,显然不能拿出来再利用,而且也是驴唇不对马嘴。剩下的包括系统集成项目、企业ERP系统、呼叫中心系统、互联网站等,都不太适合。

 

突然想到曾在08年,用业余时间,给我在美国的弟弟做过一个内文广告系统,这个系统在美国已经被多个证券类网站使用,主要功能是当网站正文中包括某个上市公司的名称时,访客把鼠标移至其名称上,能够弹出一个框显示该上市公司股票的实时行情,在框下同时又放置了一些证券公司的banner广告,引导访客前去开户。试想,若把这个系统改造一下,让它显示的不是股票行情,而是淘宝的推广商品,会不会大受网站主的欢迎呢?

 

其实内文广告公司在国内已经有几家,做的比较大的譬如有clickeye。内文广告的优势一是吸引眼球,二是精准,依赖关键词匹配相关的广告内容。但是在国内,“精准”优势已经被clickeye糟蹋殆尽。弹出的广告内容和激活它的关键词,没有任何关系,文不对题。造成此问题的原因就是广告发布者竞价购买关键词,并在所购买的关键词上投放任意广告,广告内容可以和所购关键词无关。

 

如果把内文广告系统和淘宝开放的API结合起来,关键词不采用竞价销售,而是从淘宝公开的关键词库中获得,投放的广告仅仅是淘宝的推广销售商品,并且做到严格的关键词和销售商品名称相匹配,就可以有效的解决内文广告不够“精准”的问题。同时,淘宝推广是CPS结算而非CPC结算,因此也不需要处理虚假点击的问题。想到此处,真的有醍醐灌顶,豁然开朗的感觉。

 

但此时还不能盲目的立即着手行动。首先要查一下最大的淘宝推广商品服务供应商阿里妈妈有没有在做类似的产品,一查,还没有。然后以“淘宝 内文广告”或者“淘宝 文中广告”或者“淘宝 关键字广告”等在百度和谷歌上查询有没有别人已经实现类似产品,一查,也没有。但是查到有人在阿里妈妈的社区提出类似的思想,等待别人实现。

 

这还等什么,行动立即开始。

 

在选择使用何种开发平台的时候,有过一丝的犹豫。在给弟做的那套系统上进行二次开发,可以最短的实现这个项目。该系统是运行在.net framework 3.5 sp1下的,使用C#开发,采用了目前最先进的.net开发思想,譬如使用了全新的asp.net mvc架构,使用了ado.net entity framework、linq和lamda表达式等等。开发效率非常高,甚至感觉优于RoR。但是,基础平台Windows不是可以免费获取的,或者付钱买正版,或者使用盗版然后成天提心吊胆担心收到律师信。反复的思量后,还是决定放弃原已开发完成的成熟系统,转而重新开发。

 

整个项目分为插件、网站和蜘蛛三个部分:

  • 插件运行在用户的浏览器上,使用javascript语言是唯一选择。
  • 经过反复权衡各种开发语言和平台后,网站最终决定采用j2ee方案,在Linux系统中部署。我个人从以往所参与的诸多项目中感觉,使用java的开发效率要高于使用PHP及其他语言。
  • 蜘蛛程序负责抓取客户网站的页面,分析其中的关键词,初期采用perl语言编写。大规模使用后,将采用并发性能和分布性更好的ERLANG来改写。

 

J2EE也有很多种方案,有重量级的基于EJB3.0的,也有轻量级的基于spring的。初期阶段,考虑采用spring架构。需要用到的基本组件包括freemarker、spring mvc、spring security、blazeDS、hibernate jpa以及若干的spring module。

 

因为有之前的基础,项目原型开发的很快。我每天晚上7点左右回到家,每天花5个小时在开发上。淘宝为java开发提供了相关SDK,可是在官方可供下载的SDK是相对较旧的版本(taobaoke部分),我在旺旺上联系到了TOP的技术支持,获取了最新版的SDK以及SDK的源代码,为开发带来了很多便利。TOP的开发平台提供了一个叫作沙箱的测试环境,对真实的淘宝网进行模拟,开发者可以在沙箱中进行开发,测试通过后,可以申请接入到正式环境中。可是直到我写这篇博文进行回顾的时候,沙箱仍然不支持taobaoke API的基本功能。无奈之下我只能在正式环境中直接进行我的开发。

 

开发过程倒是相当的顺利。使用的都是自己非常熟悉的技术。大约花了不到1个月的时间就发布了第一个版本,放在域名outtrip.com(这个域名我本来是想用来开发一个户外运动及旅游网站)上,取名傲趣内文广告。

 

终于等到了可以申请参赛作品展示的日子,踌躇满志的写完参赛作品的文字介绍,并庄严的点击了“申请展示”的按钮。然后就是度日如年的等待,等待应用审核通过后上架。谁知,几天后,系统中噩耗传来,我的作品被审核者拒绝了,理由是“系统没有实现免登陆”。原来淘宝原则上是不允许使用TOP API开发的应用采用独立的用户系统(后来获知非买家和非卖家应用,没有严格要求)。当时就急了,立即致电TOP的杜娟,询问该怎么办?杜小姐真的是很帮忙,立即帮我联系审核者忠忠,经过一系列解释后,忠忠同意将该应用审核通过,但是还是强烈建议我将应用改为免登陆,也就是使用TOP的用户认证系统对访客进入认证,而不是自己的独立用户系统。

 

又是一个艰难的抉择,独立的用户系统是我的项目今后营销及获利的关键,涉及广告费用结算。如果利用淘宝的用户系统,则需要我去说服我的用户去注册淘宝帐户。这样我将无法积累自身的用户资源。于是,我选择从现有的版本中分支出一个比赛专用版本,剔除了独立用户系统,部署在域名top.outtrip.com上,重新作为参赛作品提交。这次很顺利的通过了审核。而原有系统,则部署在域名simtao.com上,取名“简淘”,运行在TOP正式环境中,开始试运营。

 

在试运营期间,技术上的问题频出,譬如网站编码问题和浏览器兼容性问题。和给弟做的运营于美国的内文广告系统最大的不同在于,中文网站最常使用的有GB2312和UTF-8两种编码方式,蜘蛛程序在分析页面的时候,需要对两种编码方式区别对待,否则无法正常识别关键词。而记录和统计关键词的时候,为统一数据,只采用其中的一种方式,于是其中就有许多编码转换的环节,稍有不慎,或者是引起推广广告无法正常弹出,或者是弹出显示一堆的乱码。更糟的是浏览器的不兼容性,在美国,用IE6的人不多了,但是在国内,用IE6的人可能还占有四成的比例,而IE6在CSS支持和Javascript运行上,都有很多问题。这些问题折腾的我几个晚上失眠。颇有趣的是,有时晚上搞到后半夜都搞不定的问题,在凌晨睡着的时候会开始做梦,梦里也在编程,也在尝试解决问题,一觉醒来,灵感突现,问题竟然会立即被解决。

 

然而,这期间最大问题还是宣传,得先让别人知道你的作品。在宣传中发现,冒冒失失的跑到别人的地盘上去做宣传,很难成功。譬如我先尝试到alimama的社区里去发贴,结果发现在一小时之内就沉到第二页去了,速度非常快,没几个人可以看的到。去chinaz站长站发贴,跟贴的人倒是不少,没沉下去,有说做的不错的,也有些是看热闹的,可是一小时后,被版主锁了贴,别人无法再跟贴,就很自然而然的沉了下去。两次失败后,明白了,要先混个脸熟,要先成为社区的积极分子,这样别人才会对你的贴子感兴趣,版主也就不敢随意的封你的贴,至少会先跟你打个招呼。如果再努力一把,混成版主,那就更好办了。于是我开始混迹于各大论坛,其中还包括淘宝TOP的官方论坛以及7个官方的旺旺群。由于我实在太积极,譬如在旺旺群里,和其他的开发者每天都在热烈的讨论问题,引起了淘宝TOP官方的注意,终于有一天他们找上我,说问我愿不愿意当这些官方群的管理员以及论坛的版主。哈哈,于是我就成真的成了官方TOP旺旺群的群副,以及TOP的论坛的版主。

 

 

在旺旺群里积极的参与讨论,收获很大,不仅是收获“群副”。之前简淘网刚上线时,心里忐忑不安,不知道能不能成,是群里的成员给了我很大的鼓舞。在群里,还认识了baiok,一个来自福建的天才少年,后来决定和他组成“亮剑”团队,以团队的形式参加TOP大赛。群里还有很多成员给我提了很多中肯的建议,譬如kirain建议使用本地缓存预存商品信息,我立即接受并着手修改,结果惊喜的发现修改后弹出淘宝推广窗品的速度有明显提高,而且暂时也不再担心会超出每天1万次的API调用限额。另一个网友则向我透露了一个关于淘宝未公开的图片信息细节,这个信息使我再一次简化代码,大大降低了本机的CPU负荷、存储负荷以及广告弹出延迟。更有一个热心网友,仅仅是因为我帮他解决了一个技术上的小问题,他就花了两天时间来义务帮我整理淘宝的热门关键词。

 

参加TOP开发大赛确实是一次有趣的经历,不管最终结果如何,至少这个过程,我是享受过了。如果能够获奖,那也许就能立即开始我的第三次创业。如果啥都没得到,那我也会继续利用业余时间经营simtao.com,或者是找其他天使投资,或者是把这个项目贡献给我所在的公司。随着TOP API的不断完善,也会有越来越多的IDEA能够通过TOP API转化为实际的应用,我也会持续关注,并且在适当时机推出更多的TOP API应用。


原创粉丝点击