创业告一段落,回美国继续完成学位

2012年1月14日 admin 2 条评论

当投资者笑着说,我们不能给你翻倍的投资,你还是回去读书的时候,我已经没有反驳的理由,嗯了两下就走了出来。骑车回家的路上,眼泪止不住的掉下来,心想最努力的一次为什么这么失败。

父母觉得有上百万投资,表明投资者看好,才让我留下创业,不然就要回去读书。上次瞒着他们回来,这次也没法再固执了。因此虽然有两个投资者各同意投资几十万,也达不到目标。不过这个因素除外,这次创业也有不少地方需要总结。

最重要的还是需求没找准。喜分分做的个性化阅读,花了不少精力,挖掘用户兴趣,再为他们推荐文章。不过有信息过载痛点的毕竟是少数,而且推荐效果的提升是长期的过程,并不能让用户马上眼前一亮。

然后是用户体验做的不好。虽然这次已经比上次Bookiki花了更多心思,但是因为产品定位不准,造成用户进入网站无所适从。相比较而言,Flipboard等抓住了移动端网页阅读不方便的需求,用良好的用户体验赢得了用户。

团队也没有准备好,全职和兼职做,心态和投入的精力毕竟是差很多。

现在的网站和应用数量是爆发式的增长,每个都在竞争用户的时间。激烈的竞争让每个网站都在用户体验上下很多功夫,用户也越来越“懒”。绝大部分用户不会仔细琢磨网站,进来后如果没有看懂,就不会再来第二次。因此如何找准需求,让用户以尽可能小的成本,发现网站独到的好处,就是每个创业网站要反复思考,和初始用户反复沟通的问题。

在开发到12月初,我意识到了这些问题,觉得需要尝试新方向,就开发出了微博影响力应用 。应用上线三周就有19万用户,还有薛蛮子,黄健翔等好多名人用。当时看着实时监测上不断飙升的在线人数,还真是兴奋。之前有不少影响力应用,但从增长势头来看我们这个算最猛的。这个应用为什么能火起来?首先用户使用成本低,用户连接下微博帐号就能用。然后抓住了用户的心理,每个用户都对自己的影响力好奇。另外应用发出的状态会@深受此用户影响的好友,形成了病毒营销。而且我们还生成了一张美观的图片,在用户的相册得到了曝光。

本来开发这个应用是出于推广个性化阅读目的的,看到这么火,我想干嘛不扩展来做成社交影响力评价。这其实是个很大的方向,也被所有谈过的投资者看好,我还找到了在营销领域有经验的socialbeta等朋友合作。不过终究是因为有父母设定的期限,而且应用的接口调用不稳定(估计是新浪看到我们太火,自己也已经做了微数据,封了我们),没能继续做下去。

机会总是有的,不过自己没准备好。当初回国的时候我觉得一切都准备好了,回头来看并没有。我也没有后悔,要是回到当时还是会做一样的选择,这些道理经历过后才明白。阵痛之后总是有很多收获,无论在产品,技术还是管理。有这么一些经验体会最深:

1,要多揣摩用户心理,特别是技术出身的创业者。找准用户心理,就像按了个按钮一样,会四两拨千斤。可以读读《影响力》,《引爆点》,《社会心理学》等书籍,多做做小应用实践下。

2,创业者太容易对自己的宝贝很乐观,要多质问自己。比如,用户到底什么时候用我的产品?起床和睡前都要刷一下?碎片时间用用?作为一个工具,需要的时候打开用?如果找不到一个用户很难拒绝的理由,肯定是产品还有问题。

3,投资没谈成没关系,多听听意见。相对于你自己,投资者见过的项目更多;相对于你朋友,投资者更无情。因此投资者提出的意见,大部分有价值。当然中国绝大部分投资者不懂技术,还有小部分非常急功近利,不过不用怀才不遇,用用户数据说话即可。在融资方面,我非常推荐@桂曙光的《创业之初你不可不知的融资知识》,讲的非常全面细致,在我看来是创业者必读。

 

我今年8月底就会毕业了,还是打算回来创业。读书期间希望开阔下眼界和人脉,做些应用继续积累经验。感谢我们团队阿彪,皓亮,炳文不求回报地坚持这么久。我一直明白创业是一场长跑,以后回头来看,这次不过是跑了一圈而已。

 

 

分类: 未分类 标签:

我遇到的新浪微博Python SDK错误及修改方法

2011年11月29日 admin 没有评论

新浪微博的python sdk是在国外一个为twitter api做的开源项目上改的(这也说明他们接口设计也是基本相同的),可是这个改过的SDK并没有经过完整测试,问题实在太多。这里列举出我在使用PythonSDK中遇到的问题和解决办法。并附上我改过的整个SDK包。这个包是基于sinatpy2.x-(2011-6-8).zip 这个版本。

问题一:当代码分布在多台机器上时,请求授权会失败

这个是网站上线之处碰到最头疼的问题,也算是SDK最严重问题。我断断续续调了三天,真的是排除所有可能错误情况才找到这个错误。详情和解决方案见(这个解决方案我用到redis来跨机器存储,你也可以用数据库等其他方案):

http://code.google.com/p/sinatpy/issues/detail?id=5

问题二:Python SDK一个代码块被注释掉导致cursor不能用

Python SDK最新版(6月还是7月)版, parsers.py里JSONParser里parse函数被注释掉的那个代码块,是返回cursor的。我把注释去掉就能用了。cursor会在followrs接口中用到,不然没法翻页。至于为什么被注释掉,多半是为了解决某个兼容性问题。

http://forum.open.weibo.com/read.php?tid=14665

问题三:上传图片时(upload接口)的问题

1,api.py中840行左右,if file_type not in ['image/gif', 'image/jpeg', 'image/png']: 如果直接这么用,上传jpg图片时会出现Invalid file type:’image/pjpeg’。至于为什么被识别为’image/pjpeg’的原因不详。所以在这个list中加上’image/pjpeg’解决问题。

2,api.py中890行左右,’Content-Length’: len(body),直接跑会出现string expected,int found的错误。所以改为’Content-Length’: int(len(body))

3,在调用api.upload(filename, status=message.encode(‘utf-8′))要确保filename是ascii编码的。原来传入utf-8的时候,在sdk里解码会出错,所以直接在sdk外编码为ascii再传入

问题四:关于时间格式的错误:ValueError time data u” does not match format..

这个错误很诡异,也没找到具体原因,只是找到临时解决办法。详见:

http://forum.open.weibo.com/read.php?tid=11780

问题五:关于Tag的model没有value属性(尚未更新到我上传的压缩包里)

修改方法:修改models.py中Tags类,在setattr(ts,”id”,k)后加上setattr(ts,”value”,v)

 

我修改过的sdk下载:(如果你没装redis的话,并不能直接用。请参考上面问题一中列出的google code链接)

weibopy

发现新问题会更新在这里

分类: 未分类 标签:

喜分分开始公测了

2011年9月21日 admin 2 条评论

喜分分Xifenfen.com 为你提供个性化,社交化的阅读,帮你解决信息过载问题。喜分分根据你关注的话题,与好友喜好相似程度和订阅的频道为你推荐最感兴趣的网络内容;方便你导入并整理你在社交网络(人人,微博,Google Reader)上的分享或收藏;通过标签体系和精选链接让你发现特定领域下最有价值的资源。

 

导入各个社交网站的分享和收藏
喜分分已经可以连接到人人网,新浪微博和Google reader,并从微博和reader导入你分享和收藏的链接,在这里仍保持原来分享或收藏的状态。同时你也可以搜索自己链接。我们即将开发从浏览器导入功能,并允许你按文件夹方式组织链接并分享给朋友。



微博新闻排行榜
我们从不同网站抓取新闻,并通过API得到这些新闻在微博的分享数,制作成分类排行榜。较新浪,网易等网站的排行榜来源更加丰富,排序更为客观, 方便你查看近期热点。现有频道包括IT, 国内,国际,财经,体育,娱乐,游戏,女性,社会,科技。登录后每个频道都可以订阅到你的新鲜事。
点击进入(不登录也可以访问): http://www.xifenfen.com/top_news/

精选链接:瓜果

喜分分的“瓜果”功能让大家以某个主题整理最有价值的链接,比如我整理的“创业者最值得读的文章”

http://www.xifenfen.com/itemlist/1/

完善的标签系统及按标签过滤
我们有完善的标签体系,用户可以编辑标签,系统记录了编辑历史。在每个标签下你可以看到最近分享和最佳分享。

你可以按标签和好友筛选新鲜事,并保存为一个选项卡,得到更精准的结果。

新鲜事:个性化阅读

通过前面提到的导入用户在社交网站分享,通过爬虫网站获得用户可能没分享的新闻,我们获得了丰富的数据。我们挖掘出了用户关心哪些话题,对哪些话题更关心;用户关注了哪些用户,与哪些用户的兴趣更相近;结合用户关注的新闻排行榜下的频道,我们为用户在首页新鲜事中提供了个性化的阅读。这个推荐算法在不断根据用户的点击学习用户习惯并调整推荐。

 

建议用Chrome, Firefox或Safari浏览,老版本IE,360,搜狗的兼容性还有问题

我们即将推出的功能:评论;导入浏览器收藏夹并分组自己的分享及收藏;浏览器插件

 

每个用户都有10个邀请名额,欢迎邀请你的朋友来测试哦

关于我们:http://www.xifenfen.com/about/

创始人:刁轶夫,程允彪,严皓亮,王炳文

特别感谢贾鹏翔帮我们设计的可爱logo

 

 

分类: 未分类 标签:

第四代搜索引擎前沿总述

2011年8月29日 admin 没有评论

第四代搜索引擎前沿综述

刁轶夫   2010年5月

此文是我大四的时候一篇课程论文,现在看来,自己做的事情还真跟这篇文章里写的关系很大。过段时间我想写写社交搜索与传统搜索在实现方法上的对比,所以把此文翻出来贴上。这里粘贴图片不方便,看有图片的版本,请下载:第四代搜索引擎前沿综述.pdf

最早发布于:http://www.newsmth.net/bbstcon.php?board=SearchEngineTech&gid=23434

1.介绍

随着因特网的普及,网上信息的发展呈现两个基本的趋势:规模的爆炸性增长,覆盖领域的不断扩大。如何在海量,非结构化信息中,提取对用户有用的信息是信息时代的核心课题。搜索引擎正是通过对信息的自动搜集,索引,在用户发出请求时经过实时排序,为用户呈现其最有价值的信息。

由搜索引擎衍生而来的关键词广告产生了巨大的商业价值,并造就了谷歌、百度等互联网巨头。但同时,谷歌以pagerank为核心的第三代搜索引擎已经不能满足日益增长的需求,数据量的增长和数据覆盖范围的增加迫切呼唤第四代搜索引擎。

我认为,第四代搜索将把个性化信息及人际推荐关系叠加到链接分析上,大大改善搜索结果排序效果;同时,跨媒体搜索将实现诸如用图片搜索图片等功能,打通文字,图片,视频,声音的界限,颠覆现在全部基于关键字的搜索方法,为用户带来更加直观的搜索体验。

2.搜索引擎发展历史及趋势

2.1 搜索引擎发展历史

从Lycos和Yahoo的时代到现在,搜索引擎的发展已经经过了三代。Andrei[1]的文章中对前三代搜索引擎的特征做了描述:

第一代:页面分析 仅使用页面内信息,文本信息,TF/IDF等
第二代:使用链接信息 链接分析,对搜索结果点击数据,链接文字
第三代:语义分析 拼写建议,关键词建议,关键词优化
第四代:正在发展 结合个性化数据,人际关系数据,跨媒体搜索

其中,第一代搜索引擎以早期Yahoo为代表,第二代以Google的创立为标志,之后Google经过改进Pagerank和一系列技术,演化至第三代,而第四代搜索引擎有大量公司如Cuil,Quora探索,但还未形成成熟的产品。

下图援引自Google创始人论文[2],说明第二代,第三代搜索引擎的主要原理:

 

首先搜索引擎通过爬虫技术(Crawler),根据网页链接爬取互联网内容;然后建立倒排索引(Inverted Index);同时通过Pagerank技术,基于random walk的思想计算出每个网页的Pagerank。前面几步都是独立于用户查询进行的。当用户提交查询关键词后,搜索引擎将首先对查询此进行分析(拼写建议,搜索建议,中文及日文等还需要分词),然后查询倒排索引,根据两项因素对网页文档排序:1,查询词语文档的匹配程度,主要通过TF-IDF反映;2,网页的质量,通过预先算好的Pagerank反映。其中,TF-IDF是第一代搜索引擎已经发展出来的技术。

2.2 现代搜索引擎的核心:PageRank

Google推出后即风靡全球,其对搜索质量的提升,主要就在于Pagerank基于链接分析的排序技术,大大提高了搜索结果质量。Pagerank自1998年提出至今10年时间,一直是第三代搜索引擎的核心,也经过了一定的改进。在孟涛[3]的文章中,对于近年来Pagerank的改进算法进行了较全面的综述。

Pagerank的算法的基本思想是通过网页间的互相引用(以链接形式表现),来区分出网页质量高低,类似论文的引用。

如果网页Q被共m个Pi网页所链接,则其权值PR(Q)为

 

其中(1-λ)称为缓冲因子,为从一个网页随机跳转到另一个网页的几率。odpi为网页Pi链向其他网页的链接数量。

若将所有的网页权值看作一个矢量,则Pagerank的矩阵表示为:

 

Pagerank技术很好的利用了链接信息,并且能够较快收敛,因此取得了很好的的效果。在之后,出现了pagerank技术的各种改进:

  • Weighted Pagerank算法:Web中存在不同的块结构: Domain, Host, Directory,等等(Host最好)块内和块外的链接应该给不同的系数。改进后公式:

 

  • Two-Layer PageRank算法: 经典PageRank算法认为网页之间均等,随机跳转在网页之间; 实际上存在网站和网页两极结构,应该修正马尔科夫模型到两级
  • Ø Block-Level PageRank算法: 网页可以细分到Block,各个块分量不一网页与Block之间互有链接。改进之后的计算公式

网页到块系数                       块之间的权值矩阵

 

网页间的权值矩阵(Z:块到网页的矩阵)

 

 

2.3 第三代搜索引擎的缺陷

基于链接分析的第三代搜索引擎呈现出以下几点局限性:

1,一个关键字查询词对所有用户呈现的搜索结果均相同。但是实际上,比如一个计算机用户搜索“树”可能指数据结构,与其他用户有很大区别。

2,Pagerank基于链接反映网页质量的方法,只反映了网页制作者对于网页质量的评价,并没有反映网页浏览着对于网页的评价。对于一些不善于进行链接优化的网站,虽然内容可能很优质,但是Pagerank可能并不高。同时,一些新网站很难在短期内提高Pagerank,而一些擅长优化技术的网站会用大量垃圾链接作弊。

3,基于关键词的搜索方法是建立在用户对于搜索有明确目的,并能清晰表述这种目的的假设上。但是实际上,用户的搜索引擎使用水平参差不齐;并且由于存在同义词等现象,同一个搜索请求有不同的表示方法,搜索结果也大为不同。

4,现在的图像搜索,视频搜索,音乐搜索也都是基于关键字,如图像Tag,音乐电影介绍等,而文字对于这些信息的表现能力是很有限的,也不直观。

5,并不是所有有价值的信息都能被搜索引擎爬取到,比如学校论坛,公司内网资料等有价值的资料就无法被搜索引擎检索,这叫做Hidden Web现象;同时一些信息需要经过人脑的加工,这方面问答平台更能胜任。这部分不能被爬取的信息实际上占了人类所有信息的大部分。

2.4 下一代搜索的趋势

此处的下一代搜索即指第四代搜索引擎,一个主要的变化是从信息检索(Information Retrieval)到信息推送(Information Supply)的转变,信息推送将主要通过个性化搜索和社交搜索实现。

第四代搜索将呈现出以下几个主要趋势:

1,个性化的搜索。基于个人的网页浏览历史,搜索关键词历史,个人档案信息,使得即使是同一个搜索关键词,也能为不同用户呈现不同的搜索结果。个性化搜索将基本解决2.3节提到的第一点局限。

2,社交搜索大大提高网页排序质量,其影响主要在两方面:a,网页浏览者(普通用户)对于网页的评价(收藏行为,评分,举报等)将可以作为排序的依据b,通过用户的社交圈推测用户兴趣,通过用户间的不同程度信任关系为其提供不同权重的网页排序推荐。社交搜索也包括问答系统,用优质的设置提高信息的质量。社交搜索将基本解决2.3节中提到的2,3,5中Pagerank和关键字搜索的局限。

3,跨媒体搜索将打通文字,图像,声音,视频间的界限,使得用图像搜图像,用声音搜声音,用图像搜视频等都成为可能。

本文的以下3,4,5节就将分别从个性化搜索,社交搜索,跨媒体搜索三个主要趋势进行探讨,并且尝试探讨基因搜索,移动搜索,情绪搜索。

3.个性化搜索(Personalized Search)

个性化搜索是搜索引擎根据用户搜索的历史记录,包括用户所搜索的关键词,在搜索结果中的点击情况,在各个网站的访问情况,书签情况等,然后对这些信息进行分析,在用户搜索新的关键词时,能返回更有针对性的搜索结果,从而提高用户体验

个性化搜索主要存在两个难点:a,搜索引擎怎样才能准确猜测用户在特定时间的搜索目的?人的需求是不断变更的,依据历史记录完全可能得出相差十万八千里的猜测。b,如何在利用用户信息为其提供个性化服务的同时,保护用户的隐私?

对于第二个问题,Yabo Xu[4]等人的文章中进行了有益的探讨。

首先,他们观察到两个有趣的现象:

a,如果能够提供个性化的服务,用户愿意牺牲一些隐私。

b,不一定需要用户隐私的细节来猜测用户兴趣,实际用更普遍的信息也可推测用户兴趣。

基于这两个观察,作者首先为用户建立了层次化的个人信息档案:

第一分割后的用户兴趣档案:                第二次分割后的用户兴趣档案:

经过隐私划分的用户档案:

通过这样的划分,用户可以通过调整上图中的minDetail参数来控制他可以暴露哪些隐私,从而使个性化搜索引擎可以根据这些隐私优化搜索结果。上图中的expRation则反映了在minDetail水平下的隐私暴露程度。

4.社交搜索 (Social Search)

随着Facebook为代表的社交网站兴起,互联网用户通过网络进行社交的时间大大增加,并且在网络上留下了真实社交关系的数字表达,这使得利用社交关系改善搜索质量成为了可能。如第2节所说,社交关系将从三个方面大大改善搜索质量。

4.1用户对网页评价改善搜索结果排序质量

用户对网页的评价包括主动评价和行为暗示。主动评价包括通过delicious收藏夹的评分,评论等,行为暗示则包括用户对网页的收藏等。Shenghua Bao[5]通过delicious收藏夹的数据,进行了这方面的研究。

他们引入了两个评价指标及相应算法:SSR(SocialSimRank)评价搜索关键词和用户对收藏夹评价的关联性,SPR(SocialPageRank)揭示了网页在浏览者中的热度。

 

上面这个图揭示了通过SSR和SPR建立的搜索引擎的基本结构。

SSR算法:                                     SPR算法:

 

他们的结果显示,通过SSR和SPR建立的搜索引擎,更容易发现优质但是外链较少的网页。比如这个网页http://37signals.com/papers/introtopatterns//index虽然内容很少,但是Pagerank为0,而SPR为10,这样有效的发掘出了内容优质但是不善于搜索引擎优化的网页,并且新网站也更容易得到推广。

但是Shenghua Bao等人的这篇论文也存在一定的局限性,首先数据集delicious仅有用户对网页的文字评论而没有评分,因此无法对网页质量进行较大区分。其次没有考虑不同的社交圈子对于网站的不同评价。另外可以做的提升就是对用户的评价进行opinion mining。

 

4.2 根据用户社交圈推测用户兴趣

一个社交圈子通常有相似的喜好,在社交关系的基础上,可以通过用户的社交圈子来推测其兴趣,从而有产生更准确的搜索结果。同时,用户之间可以建立信任关系,也可改善搜索效果。信任关系的应用比如如下情景:A是搜索引擎专家,B是一个本科生,B通过twitter与A建立了信任关系,同时A又通过delicious对很多搜索引擎研究网站进行了评价和打分;因此,B可以声称在搜索引擎领域对A十分信任,从而在B搜索此领域关键词时A推荐的网页将有更高的排序权重。

David [6]等人正是在此领域做了有益的探索:

 

4.3 高效的问答系统

问答系统是另一个高效的获取信息的渠道,我们熟知的问答系统包括百度知道,AskJeeves等,但是他们主要存在两个关键问题:1,问答者水平参差不齐,十分缺少领域专家的参与;2,通过积分奖励的办法并不能吸引有价值的回答,经常看到的回答都是互联网上的复制粘贴,而缺乏思考。

现在我发现的最好的问答系统是美国Quora.com:

 

Quora的优势主要体现在:1,新用户需要通过原有用户的邀请才能加入,并且通过Facebook Connect登录,自然地在问答系统内形成了社交关系;同时由于初始用户都是硅谷的IT人士,因此从一开始就聚集了大量领域专家,保持了问答的水平。2,由于社交关系的引入,即使系统并没有设置积分奖励,用户仍然十分活跃,他们的参与完全是因为对知识的渴望和分享的欲望,进一步保证了信息质量。3,良好的信息组织形式,包括类似wiki的用户自主建立,编辑Topic,每个Topic下有一系列问题,问题之间又通过Related Question联系起来。4,在现有Quora的信息架构上,未来还可以利用机器学习推测用户的话题喜好等。

5.跨媒体搜索 (Cross Media Search)

传统的文本、图像、音频和视频分析与检索技术都是相互独立的,缺乏面向多种媒体的跨媒体搜索技术。这些多媒体信息应用的发展,要求信息搜索“必须是跨媒体的,也就是说用户通过统一的界面和单一的提问,就能够获得以各种媒体形式存在的语义相似的结果。”为了提供支持多种检索方式和多模态用户信息需求的跨媒体检索,跨媒体搜索技术研究涉及海量多媒体数据的智能处理、多通道信息的融合和集成、快速准确的跨媒体索引等关键问题研究和应用。最终,跨媒体将打通图像,文字,声音,视频的界限,使得用图像搜图像,用声音搜声音,用图像搜视频等都成为可能。

Ritendra[7]等的文章探讨了图像搜索的发展,他们的主要目的是是的图片搜索更加直观,其中涉及的主要课题是图像特征的提取和图片相似度的计算。

 

6.其他趋势

Jeonghee Yi[8]等人发现在移动用户的搜索关键词通常在2.35个词,短于通过PC提交的关键词。另外移动用户的搜索集中在娱乐领域(44%)及旅游(7%)。移动互联网将是新的科技周期,如何根据移动设备的特点优化搜索将是重要的课题。同时基于地理位置的广告和聚会建议也大有可为。

生物信息的发展方兴未艾,测定大众基因序列有可能在近10年普及。当基因信息也可用时,个性化搜索将更有可为,比如根据基因的药物建议,餐饮建议等。

NLP的发展有助于更准确理解用户搜索意图。

7.总结

这篇文章回顾了搜索引擎的发展历史,提出第三代搜索引擎主要存在的弱点,主要是集中在搜索关键词表达性的局限,pagerank算法未考虑浏览着评价的局限,搜索呈现的单一。通过第四代搜索引擎技术的个性化搜索,社交搜索及跨媒体搜索,将有效解决这些问题,使搜索引擎交互方式更加友好,信息来源更加符合用户要求,信息质量更高。总之,第四代搜索引擎是一个激动人心的课题,并且有巨大的商业前景。

8.参考文献

[1] The Next Generation Web Search and the Demise of the Classic IR model

Andrei Broder   Yahoo! Research   March, 2007

[2] The Anatomy of a Large-Scale Hypertextual Web Search Engine

Sergey Brin and Lawrence Page   Stanford University

[3] 网页链接分析算法的研究进展  孟涛  北京大学 2005年

[4] Privacy-Enhancing Personalized Web Search

Yabo Xu,Benyu Zhang, Zheng Chen,Ke Wang   SFU&MSRA  WWW’2007

[5] Optimizing Web Search Using Social Annotations

Shenghua Bao, Xiaoyuan Wu1 etc  上海交大/IBM中国  WWW’2007

[6] Personalized Social Search Based on the User’s Social Network

David Carmel,etc  IBM Haifer/L3S research   CIKM’09

[7] Image Retrieval: Ideas, Influences, and Trends of the New Age

Ritendra Datta etc  The Pennsylvania State University   ACM Computing Surveys

[8] Deciphering Mobile Search Patterns:A Study of Yahoo! Mobile Search Queries

 

分类: 未分类 标签:

Web开发入门

2011年7月26日 admin 8 条评论

我读过的相关书籍发布在豆列(已更新):程序员的自我修养 http://book.douban.com/doulist/1268022/

最近常有同学问我Web开发如何入门,那就把我的经验分享出来,希望对计算机专业出身和非专业的同学都有帮助。本文也部分适用于移动应用开发。

一、准备工作

1,  做好失败的心理准备

Web应用的竞争异常激烈,开发难度也是入门容易做好很难,所以第一次开发的应用不成功是很正常的事情。不过这正是一个积累的过程,反正你需要的只是电脑和少量服务器经费,所以多磨练几次,水平自然会提高。

2, 习惯阅读及查阅英文资料

前沿信息基本源自美国,翻译的东西不及时,不全,很多水平不高,再加之中文原创资料毕竟很有限,因此是否能熟练地查阅英文资料决定了你获取信息的及时性和质量。另外习惯用英文思考,你才能更好地用英文表达自己碰到的问题,借力StackOverflow, ServerFault, Quora这些社区。阅读原版书,常上英文程序员社区,并且把谷歌的默认界面语言调为英文,都是强迫自己使用英文的好办法。特别值得一提的是,原版书里以O’Reilly和Apress出版社的最为推荐。

3, 边学边练

Web开发非常强调实践性,千万不要一本书读完了,却一行代码或者一行命令也没敲过。即使你看似简单的问题,也要亲手做做,因为由于软件配置,软件版本的不同,书上写的并不一定能执行成功,只有你做过才知道,做过之后记得记好笔记。

4, 时时跟进技术趋势。

创意总是相似的,虽然我很反感抄袭,但是基本所有创意都是以别人的为基础。跟进技术趋势除了在条件许可的情况下多玩玩最新的数码产品外,更重要的是时刻保持对科技文章的饥渴感。

我觉得关注三个基本够了:Hacker News, Techcrunch, 36氪。另外天涯海阁经常报道创业网站,月光博客的见解一般比较到位。除此以外,多多订阅各种技术geek的博客。

这里有张更全的列表 http://www.tisiwi.com/123

 

哦对了,当然还有团队,资金,创意这些准备,不过其他文章谈的很多了,我这就不谈了。

 

二、编程语言及框架

古往今来,程序猿们不知在这个问题上浪费了多少口水流口水。一句废话来总结这个问题的答案,就是没有最好,只有最适合。免责声明,我曾经接触过的Web开发语言是PHP, Java, Python,现在用的是Python下框架Django。

首先大家需要弄清动态语言(PHP, Ruby, Python等)与静态语言(C/C++,Java为代表)的区别。简单的来说,动态语言在执行的时候才编译,静态语言先编译好再执行。动态语言往往更高级(体现在更丰富的数据结构,更简洁的用法上)。从效果上来说,动态语言编写过程快,运行过程慢;静态语言则恰恰相反。那么在Web开发中选择哪种类型的语言好呢?现在已经有一个争议很少的标准答案:动态语言。那是因为网站性能瓶颈在于I/O,特别是在对数据库的操作上,随着CPU速度不断提高,程序语言执行速度的差别已经对网站性能鸭梨不大;而程序员的时间是宝贵的,使用一门开发更快速,让程序员更愉悦的语言,可以让开发过程更加高效。当然,程序语言的速度也有成为瓶颈的时候,不过那是当你达到Google或者Facebook级别的时候,不然Gmail不会是C++写的,Facebook也不会弄个Hiphop把PHP翻译成C++了;你并不用担心,到那时再进行改写就好了。

在参考现在大网站用的是什么语言时,要搞清楚他们选择那门语言是在什么时候,当时有哪些可选项,他们是否对此后悔。比如Zuckerberg选择了PHP, 直到现在Facebook也在前端用PHP; 但是Quora的创始人,前Facebook的CTO Adam D’Angelo就出来解释为什么Facebook仍然用PHP,那是因为‘Facebook is stuck there’,Facebook(因为代码量太大)困在PHP上了。同理,在Ruby和Django都还不成熟的时候,J2EE是中流砥柱,Ebay, 淘宝等很多大型网站都是J2EE的架构,但是现在大家越来越发现J2EE过于笨重(开发缓慢),而开始提倡轻量级框架。京东网用.Net也是类似的情况,现在想转型也转不了了。顺便说一句,尽量不用微软系的东西,因为需要跑在Windows上,服务器的正版授权开销是吃不消的,另外现在也极少有web程序员学.Net了。

那在动态语言里,我们又改选则哪一门呢?主流的选择就是PHP, Ruby和Python。PHP是一个让人又爱又恨的东西,不过恨的成分居多。PHP无疑在流行语言中配置最为简单,上手最为迅速,流行开源软件很多(Wordpress, Joomla, Drupal等),在大型网站中应用也很广泛(微博,腾讯网,百度很多产品比如有啊)。不过因为PHP的发明者说,他是一个不喜欢编程的人,所以PHP多少是有点业余,在语法和功能上有不少缺陷。大公司已经有不少PHP程序员,而且在市场上好招聘,所以他们倾向于用PHP,而小公司则没有这个约束了。Ruby现在在欧美最为流行,不过我并不了解,代表网站是Twitter(现在已经大量用Scala改写)和Groupon。Python是我现在用的开发语言,语法非常简洁,可以应用在几乎所有领域(桌面开发,Web开发,Linux系统管理),并且可以与其他语言很好的结合,典型的应用是Quora, Dropbox,豆瓣。同时,Python也是Google三门官方语言(C++,Java, Python)之一,并且刚刚成为MIT的计算机教学语言。当然还有Scala这种很有潜力的语言(Foursquare和Twitter大量采用),不过入门者就不用考虑了。

选好语言,还应选择本语言下的编程框架。优秀的编程框架贯彻了MVC的思想,并帮你实现了ORM, 用户模块,后台管理等功能,同时在防止SQL注入等安全性上也很有帮助,庞大的社区更提供各种插件和帮助。PHP下框架主要是CodeIgniter(在欧美最流行,最轻量级),Cakephp和Zend; Ruby下是Rails一统天下;Python下以Django为主,也有web.py, pylons, tornado等轻量级框架。

学习语言可以去买一本经典的书,而因为Web框架的代码变化很快,其最好的资源就是官方网站的Tutorial。 当然,你还需要数据库和服务器软件。对入门者来说,最直接的办法就是安装wamp或者xampp套件(php+apache服务器软件+Mysql数据库),wamp只在windows下,xampp则在各个平台下都有。安装套件是傻瓜式的操作,可以省去你不少配置烦恼;当然,以后你部署Linux服务器的时候,还是要学会用命令行方式安装这些软件。即使你有前端人员配合,你也需要学习HTML和CSS。这方面最推荐的书籍是Head First HTML+CSS,以对话的形式来讲述,非常易懂也非常清楚。进阶可以看O’reilly的各种XX Definitive Guide.  HTML5是未来的趋势,不过现在还有很多浏览器不支持,所以不建议直接用HTML5开发。不过如果你开发移动应用,苹果和Android的手机浏览器都对HTML5支持较好,而且用HTML5在多个平台开发速度快,适合制作原型,当然运行速度还是比原生应用慢。如果你想做Javascript,最方便的就是直接开始学习Jquery, 免除你不少调试浏览器兼容性的烦恼。

除此之外,你还需要一个代码版本管理工具,以往最著名的是SVN和Google Code,不过现在基本所有开源项目都迁移到Github去了。Github上建立开源项目是免费的,私有项目有7刀和12刀以及更贵的套餐。

特别需要提醒的,是要注意文字编码问题。除了理解编码的原理外,尽量在所有的地方都设置为UTF-8编码(HTML, 代码,数据库连接校验,文档)以最大程度避免问题。

参考:

Quora上讨论,为什么Python比PHP好 www.quora.com/Why-is-Python-better-than-PHP

Progit简体中文版 progit.org/2010/06/09/pro-git-zh.html

Mozilla出品的前端开发参考 https://developer.mozilla.org

Chrome Dev Tools官方教程 http://code.google.com/chrome/devtools/docs/overview.html

MIT算法课程,资料齐全,难度适中(以python讲授)http://courses.csail.mit.edu/6.006/spring11/notes.shtml

 

三、服务器和域名

服务器是个让人头疼的问题,特别是在我国。你首先有必要了解一下我国的一些国情:1,由于各个电信公司的垄断,各大公司的网络之间互连带宽非常有限(比如电信与网通之间)。解决这个问题的唯一办法是选择双线(电信+网通)或者多线机房。2, 有很多大学有缩减版的上网服务(比如浙大的10元VPN),只能访问教育网定义IP地址段的服务器,除了不能访问国外网站外,国内有些IP段也无法访问,所以在购买前你需要进行测试。3,国内服务器市场竞争不充分,相较于美国,在提供更差服务的情况下,价格更贵。4, 国内对域名有严格的监管,并且备案流程十分复杂,工信部的指导资料极度复杂且含混不清。

我现在认为对创业者而言最靠谱的服务器是云计算平台。云计算有两大流派,分别以亚马逊AWS(主要是EC2)和Google App Engine为代表。EC2在使用上相当于传统的VPS,通过命令行可以对主机以root权限管理。GAE则仅允许你使用它配置好的环境,并且不能使用Mysql数据库而只能调用它以big table为基础的key-value存储。GAE仅支持Python和Java, 限制了你的编程方式,相当于将你的程序与其平台绑定,因此只适合做做博客或个人应用来玩玩,并不推荐。而EC2则相当强大,其按小时计费,随时可以开启新的instance(虚拟机器)的方式,不仅利于灵活的扩展网站,更是非常有利于创业者的现金流。在国内,新浪App Engine类似于GAE,不过仅支持PHP,前几天使用感觉还不错,功能也很全面了。阿里云涵盖了EC2和GAE的两种方式,不过由于其刚开放一个月,服务还完全不稳定,甚至在安装Apache的时候也会卡在连接网易镜像那里。阿里云是按月计费,价钱比EC2还要有竞争力。

当然,你也可以选择传统的虚拟主机,VPS或者主机托管,三者的价钱从便宜到贵,功能从弱到强。虚拟主机是指服务器提供商为你配置好环境(一般仅支持PHP),然后你把程序和数据库脚本上传上去即可运行。VPS和主机托管的管理方式类似,都是通过命令行,可以有root权限管理。不过VPS的主机只能租用,并且同虚拟主机一样是多人共享一台,只不过系统资源和权限都比虚拟主机要丰富。主机托管的价钱最贵,主机的产权归你。我还没在国内发现靠谱的服务器厂商,就不推荐了。美国最大的是Rackspace, 从国内访问很快的是Linode,另外Slicehost, Dreamhost都不错,不过你把服务器放在那的话,部分教育网用户就无法访问了。

接下来谈域名和备案。域名的注册很简单,国内最大的是万网,国外最大的是Godaddy,服务和价格都差不多。域名最好想个.com的,因为用户习惯已经养成。双拼的域名基本不可能注册的到了,你可以试试看三个字的拼音,还基本都可以注册。备案是非常麻烦的,并且2010年以后工信部修改了备案的流程,管理更加严格;据说他们自己有爬虫系统,爬到没有备案的网站是会直接要求服务器商关闭的。所有使用国内服务器的网站都需要备案,并且现在只能通过服务器提供商代为备案。在2010前备案过,在网站上可以查到备案主体,并且有备案密码的情况下(或者可以通过工信部网站重置密码),可以让服务器接入商在本主体下加入新的域名。更换服务器提供商是需要重新向工信部申请的。更详细的信息就需要你咨询服务接入商了。

 

四、网站运维/扩展网站性能

绝大多数网站在发布第一个版本后就不会很频繁的推出新功能,那么他们在做什么呢,除了不断修复bug,就是运维服务器,还不断修改程序以应对不断增长的用户量。对于小网站来说,有比较简单的几步可以做:将Web服务器和数据库服务器分离,避免频繁的上下文切换。配置数据库Master-Slave,不仅增加了并发量,也实现了热备份。将Web服务器分离为两台,在前端用负载均衡器(Load Balancer)调度,增加并发性。向更大规模扩展的过程,根据每个网站的情况就差别很大了。需要你组建一个团队,具有数据库,分布式系统,信息检索等背景。Nosql特别适合Web2.0站点,不过需要注意的是Nosql技术并不成熟,也没有一个Nosql方案像Mysql那样统领江湖,因此使用时有一定风险。特别是Nosql不支持事务性,所以对于用户数据等关键信息,还是放在Mysql里合适,对于需要denormalization的冗余数据,Nosql非常合适。最为推荐的Nosql方案是MongoDB和Redis,Redis的数据结构特别方便,我们在一个功能里使用了Redis后性能就得到了飙升。此外,在网站进入超大规模后,也是绕不开以Google GFS+MapReduce+Bigtable为代表的分布式系统和分布式计算的,其开源实现是Hadoop。

我认为最有帮助的几本书和文章:

《Mysql 性能调优与架构设计》简朝阳

《High Performance Mysql》

《构建高性能Web站点》郭欣

《Linux系统管理技术手册》 Evi Nemeth等

如果希望更深入的了解计算机系统,需要阅读很多经典论文:

http://www.cs.cmu.edu/~15712/

Nosql综述: http://blog.nosqlfan.com/html/2171.html

Designs, Lessons and Advice from building large Distributed System(Jeff Dean, MapReduce发明者) www.odbms.org/download/dean-keynote-ladis2009.pdf

On Designing and Deploying Internet-Scale Services

http://www.mvdirona.com/jrh/talksAndPapers/JamesRH_Lisa.pdf

Scalability lessons from Google, YouTube, Twitter, Amazon, eBay, Facebook and Instagram

http://www.dodgycoder.net/2012/04/scalability-lessons-from-google-youtube.html

Quora上关于设计新鲜事的讨论

http://www.quora.com/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed

 

分类: 未分类 标签:

这两年明白的几个道理

2011年7月24日 admin 没有评论

原载于我的人人网,2010年2月14日

绝大部分人生的道理都有人悟出,只不过我由于年少轻狂或者阅历不足,并没有好好领悟。这两年逐渐有些开窍,回顾走过的路,发现一些道理特别珍贵。

磨难是一笔财富

好事多磨,越高的成就意味着前面越多的付出,越多的困难。

磨难既有客观造成的,也有主观寻找的。客观的比如天灾人祸,主观的则多来自于对自己潜能的挑战。

在我看来,磨难对于人的成长至少有两个重要作用:一方面积累了势能,其实就是成功的欲望和决心。另一方面,遭受了诸多磨难,就会在有新的困难时以平常心待之,明白这是成长成才路上必要的经历,而用乐观的精神来面对。

慢就是快。

这个短语最初听自校友段永平的博客。开始不理解,后来领悟到这其实是个辩证统一。慢不是指效率低,而是有计划,有节奏,经过慎密思考后再做出重要决定。

慢是相对于现在浮躁的社会而言,强调踏实的作风。当今社会有太多人喜欢快,很容易走向冒进的极端,到头来发现做了不少无用功。考虑清楚自己到底想要的是什么,自己有多大能力,风险是否能够承担,计划是否能够切实执行,再往前走,反而会超过许多急匆匆赶路的人,我想这就是“慢就是快”的含义。

专注

能力再强,时间和精力也是有限的。发展再全面,也总有一些短板。想得到的越多,就会发现失去的越多。

社会分工会越来越专业,每个人都要培养自己的核心竞争力,想清楚自己的核心竞争力在哪里,然后专注培养。

专注和全面发展也不矛盾。首先很多东西是触类旁通,在自己领域有深刻的感悟后,再兼顾其他领域就会相对容易。其次全面发展也有个度,在自己能力范围内,要力争做到优秀。

不能改变就先去适应

年轻容易愤青,但是愤青过后事情还是没有任何改观。国家体制,社会文化都还存在深刻的问题,尖锐的矛盾。要从根本上改变这些问题,并不在我们现阶段能力范围内。批评可以,抱怨不行,失去信心更不可取。

怎么办?先适应。适者生存,只有生存下去才有希望。适应也意味这妥协,但是妥协不能失去底线。在能力范围内,改变自己,影响他人。积累起实力后,就能在更高层次上,更高范围内改善社会和国家。

 

人生的道理远不止这些,我只是说了些感受最深刻的,在新年和大家共勉!

 

分类: 未分类 标签:

互联网的创新

2011年7月24日 admin 1 条评论

原载于我的人人网,2011年3月23日
我在ASES读书会上根据本文做的PPT: http://www.docin.com/p-174877253.html

有个判断国外网站是否在中国成功的标准:1,看他是否被中国网站模仿;2,看他是否在中国被屏蔽。一句话道尽了国内互联网的尴尬和无奈。一堵墙拦住了竞争,也让很多中国互联网企业以为C2C(Copy 2 China)是不二法门,结果走出国门就熄火。互联网的创新有什么独特之处,在中国环境下如何进行创新,这是我来美国学习后一直思考与探索的问题。这篇文章含有我的思考,也为大家指出我认为很有价值的延伸阅读。

 

创新的土壤

要谈创新,当然要从观念谈起。国内的创业者已经习惯从美国抄个点子,硅谷的创业者却总是力求与他人不同,我在看Techcrunch Disrupt 视频时体会最为深刻。造成这情况,也有美国法律监管远为严格的原因。但是国内创业者也需要明白,抄袭不是人人抄的起的,比如千团大战,留下的只有获得千万美元以上投资的那几个。作为小公司,一定要发挥规模小,速度快的优势,找准市场切入点,进行商业模式、技术、用户体验各方面的创新才能存活。

在教育方面,有一篇前Googler写的《浪潮之巅》关于斯坦福及硅谷的一章最为推荐。要说中美计算机教育最大的差距,就是对动手能力的培养,具体表现在作业中编程的量和难度。这个问题涉及国内无关课程太多(思政,金工,水水的通识等),占用太多时间;聘用助教不足;老师对教学不够认真等诸多问题,这里就不展开讨论了。相关的另一个问题是国内的作业编程训练的不足,使的有信心做创业尝试的同学比例太少,导致了创新的积累不足。

大家都清楚硅谷得天独厚的优势,我倒是觉得除了硅谷外,以色列最值得我们学习。岔开一点,犹太人在高科技领域有巨大影响力,Google和Facebook创始人都是犹太人。以色列这么个还处在战争中的弹丸之地,也没有宜人的气候,但是在上海交大排名上,他们Weizman Institute of Science等3所学校却排在世界计算机领域前20,是除了美国以外最强。以色列没有广阔的消费互联网市场,但是他们的技术却支撑着世界许多公司的关键产品,比如Kindle的E-ink技术,最先就是一家以色列公司开发。犹太人为何在高科技领域如此杰出,当然是文化的因素,具体原因我以后探索,甚至期待去以色列实地体会。

互联网领域,创业集群的效应最为明显。究其原因,还是互联网变化太快,一个人闭门造车根本跟不上形势。比如说要调查有哪些新的竞争对手,他们最近有什么新的改进,如果是几个志同道合的朋友,互相为对方推送相关消息,就远比一个人去跟踪效果要好。互联网的新闻源除了有大家熟知的techcrunch,最为及时的还数hacker news,最为深度和内幕的属quora。 在一个互联网的地理集群中创业同样重要,除了经常的技术交流,为以后寻找充足的技术人才也做好了准备。

创新的土壤当然还包括资金,政策,互联网基础设施,但是我觉得远不如观念,教育及创新氛围重要。

 

做比想重要

“There is no such thing as original, it’s who did it first that counts.”

“Good artists copy, great artists steal.”  -Pablo Picasso

这第二句话乔布斯还在一次采访中引用过,但是他”Steal”了什么东西呢?那就是他当年从施乐公司转让来的图形化界面技术(当时施乐有太多好技术却不知道如何变现,就交给jobs免费尝试),推出了第一个不用命令行的电脑。盖茨也是用买来的DOS转手卖给了IBM。Zukerberg是受到划船两兄弟的启发创建了Facebook。但是除了Zuckerberg有嫌疑外,他们这都不算偷,特别是相对于国内公司而言。我认为毕加索这句话的精髓,在于真正精彩的点子存在于自然界和社会中,你所做的创造并不是凭空想出,而是在自然界和社会中去发现它们;有些人可能已经发现了,或者点子比较接近,但是他们并没有做出来,你就去借鉴他们想法,想出更好的点子并付诸实践。而前面引用的第一句话,则是在说好的点子很多人都能想到,谁第一个做出来才决定谁是原创者。这个思想在互联网领域更为重要,因为互联网领域是应用的创新,而非理论的创新。

回过头来说Zuckerberg, 《The Social Network》的热映让大家对这人物充满了兴趣,但是电影中夸大,扭曲无处不在。Zuckerberg在采访中提到,他现在的女朋友在做Facebook前已经认识,更重要的是这句:”They just can’t wrap their head around the idea that someone might build something because they like building things.” 这才真的是创造的乐趣,不需要任何金钱的激励,只要用户喜欢用就能让制作者感到极大的乐趣。Zukerberg的这种对做互联网产品的执着热爱表现在从高中的Synapse开始,到大二做了12个大大小小project,其中包括CourseMatch,FaceMash。这些小网络产品全部与社交关系有关,也正是Facebook的点子来源,其中CourseMatch还是第一版Facebook的一部分。

举Zuckerberg这个例子,就是说明互联网产品并非一蹴而就,而是需要迭代开发,在有了新功能以后就听取用户的建议,尽快进行改进。互联网的速度很快,而中途修改方向甚至重来的成本很低,有胆量快速迭代甚至快速失败,才能逐渐找对感觉。举几个例子可以充分说明这个现象。Groupon的前身是一个叫Thepoint.com的网站,召集不认识的人组织社会活动,比如拉选票,公益活动等。这个网站没有成功,但是却启发了Grouopon。“免费短信”软件Kik本来是想做大而全的IM,做到一半发现把功能砍到只剩最基本的免费消息就不错,结果发布以后两周就有了100万用户。即使是Google宣布失败的Wave,其中最有价值的实时聊天模块也被整合进了Google Doc。那么这种快速迭代的思想就是不鼓励事先规划,成竹在胸吗?也不对。究其原因还是在互联网行业,计划赶不上变化,所以只要方向正确,开始做比一直规划要重要。

在这个观点上还有篇很好的文章《不必有了好idea才创业》

 

技术的力量

在国内外创业论坛或者我们计算机院版上,经常可以看见有人招募技术人员做网站,创始人大多是搞销售或者市场出身,甚至我还看过一个帖子:”强大的多学科背景团队已经组建完毕,就缺技术高手……“。事实证明,创始人不懂技术,结果基本就是失败。原因可以从两方面来说,其一是创始人不懂技术,很容易造成外行指挥内行,你要没有充足的资金也没有马云那样的忽悠能力,哪个技术人员愿意跟你白干?其二是不懂技术的人来设计互联网产品,或者是设想的东西技术无法实现或实现代价过高,或者是不懂应用哪些技术可以更好实现自己的想法,导致出来的产品十分粗浅。Foursquare和Grouonon的创始人都非计算机科班出身,甚至Groupon创始人Andrew Mason还是音乐系毕业,但是他们都在业余时间自学Web编程,Foursquare创始人还在访谈中特别提到他以前不懂技术,找来技术人员总是中途退出对自己项目造成了多大的延滞。对于计算机科班出身的同学而言,学校里面教的东西仍然是远远不够的。Web编程是容易学起来,但是不容易做的精致。除此以外,我认为至少要懂分布式系统和机器学习,才能让网站scale到大规模,并加入各种智能推荐。

国内一直存在IT民工这样的论调,多半源自IT人的自嘲,实际也反映了各公司技术管理的混乱和对技术的不重视。这些问题包括对软件开发流程的不重视,领导为了业绩瞎指挥,甚至还有产品经理截个国外网站的图就让程序员照着做,多种因素积累起来造成程序员成就感不足,还总是跟着无端变化的需求加班。可以看到国内外互联网公司的技术差距是越来越大,仅从开源分布式软件来看,Google的GFS + BigTable + MapReduce三驾马车开启了分布式计算应用新时代;跟进的Facebook,Yahoo,Amazon等公司开发了Cassandra,Hadoop,Dynamo等开源软件应用在自己集群,也为社区做出贡献;日本的Mixi公司也搞出了Tokyo Cabinet,而中国互联网公司却没有一个拿得出手的开源软件。当京东等电子商务公司还在花大量资金扩充仓库的时候,亚马逊、Zappos等仓库里已经用上了Kiva机器人,自动地分拣货品;甚至亚马逊搞云计算的同时还在搞”云仓库“,为不同小公司提供仓储服务。其实差距并不可怕,可怕的是国内公司还在陷于3Q大战这种口水仗,搞周鸿祎所谓的”微创新“,玩”框计算“这样的概念,没有魄力去迎头赶上。

在美国经常可以看到凭借技术上的独门绝技活的很好的公司,比如做地理定位的Skyhook,做验证码的reCaptcha,其中后者还被Google收购。这种大公司收购技术型小公司的模式激活了技术创新的活力,形成良性循环。而国内很少存在这种公司,大公司总想着去抄袭,破环整个生态链,到头来受害的还是自己。

总而言之,技术是小公司创新的门槛,是大公司增长的驱动力。

 

洞察大众需求:产品精神

The Social Network把Zuckerberg塑造为极度内向的geek形象,力主突出他高超的技术;其实Facebook最开始的技术任何合格的程序员都可以做出,反倒是Zuckerberg对社交关系,对社会心理的把握是绝大多数程序员不具备的。顺便说一句,Zuckerberg的母亲是搞心理的,Zuckerberg也是修的心理,计算机双专业,而他大二做的12个Project(他自己称为实验),全部与社交关系有关。

实际上,除了Google以技术出道,几乎所有国际领先IT公司的成功都在于敏锐的抓住了用户需求,其中最杰出者当属苹果公司了。乔布斯懂得技术应用,却并不懂技术实现,但是他以艺术家的特质,持续的关注产品细节,打造硬件,软件及服务结合的商业模式,不断的制造奇迹。据说乔布斯经常观察自己的手,恐怕正是他摸透了手的使用习惯,才以触摸屏,multi-touch技术为基础带领团队开发出绝佳的应用。

特别是在最近几年,云计算平台让小网站按需配置硬件,规模化更为容易;开源软件及社区更为繁荣,降低了开发成本;Apple, Android Market等让软件分发更为容易。在很多互联网应用上,只要像Groupon和Foursquare创始人那样过了技术门槛,关注用户需求开发出有用的产品,以后再招募技术人员修改架构,不断scale,也可以做出好的应用。当然这并不等于互联网行业技术含量会降低,而是提醒有志创业的技术人员要更多关注市场需求和用户体验。我认为产品精神在于市场需求,技术实现,用户体验,反馈数据分析的全方位结合。

李开复的 互联网的产品精神 这篇文章对这话题阐述更为透彻。

 

 

国内外信息交流越来越充分,早已过了抄个美国点子就能成功的时代,无论是对于互联网小公司还是大公司,是时候把创新摆到重要位置,从公司的文化和制度上保障创新。

 

分类: 未分类 标签: ,

创业初体验

2011年7月24日 admin 3 条评论

此文原载于我的人人网,2010年7月16日

衣带渐宽终不悔,为伊消得人憔悴。从创立Bookiki开始,我逐渐体会到了这种全神贯注,乐在其中的心境。创业初体验,酸甜苦辣一一道来。

 

缘起

创业的第一个想法,来自于对火锅店老板的羡慕,小时候的想法很简单,当了火锅店老板就可以天天吃火锅了。父亲经常在商务聚会和旅行的时候带上我,让我从小就耳濡目染,觉得做老板就是这么酷的一件事情。除了创业?我似乎没考虑过其他事业目标。再加上我对金钱和控制的欲望都很强,创业为社会创造价值符合我的价值观,浙大创业的氛围也很浓厚,走上创业的道路也就成为了必然。什么叫做信念呢?就是你相信这条路是对的,实际上你不知道最后走不走的通,也不可能有人知道,但是你就是坚定地去走,而这就是我对创业的态度。

 

从哪开始?

我当时怎么也不会想到,在红十字会的经历会对自己的人生有如此重要的影响。当时在百团大战的众多社团摊位前徘徊,最终还是只报了红十字会,就是觉得自己似乎从来没给社会做出过什么贡献,并且被他们友善的态度吸引。刚进去在职能部门,如同每个干事一样,我也是从贴海报,申请教室开始。到大二上有了机会创办同伴教育,第一次体会了创业的快乐和艰辛,大二下担任副会长开始思考和实践组织文化的培养和制度的建设。在红会组织和参与的许多公益活动,让我感觉到帮助别人,为社会创造价值是多么快乐,多么有意义的事情。也是这时我明白了,通过为社会创造价值而实现个人价值正是我的价值观,也是我今后创办企业的核心价值观。

大三来到加拿大交流,除了他们社会中无处不在的人文关怀,最让我印象深刻的还是他们对于诚信的重视。对盗版软件的抵制,对作弊和学术造假的严厉惩罚,都反映出他们对于版权的重视。在北美的互联网企业中,做产品也是有着“我就是要有所不同”的精神。对于诚信的重视,正是保障产品质量和创新能力的基础。国内虽然对知识产权保护重视不够,但是老一辈成功企业家也无不十分看重诚信。企业的诚信归根结底结底是一种负责的态度,无论是对于社会,用户,员工还是股东。

确立了自己创办企业的价值观,下一个问题就是从哪个领域开始创业了。出于对计算机的喜爱,我在大二下转入了计算机系。在分析过互联网行业后,我认为虽然这个行业渐渐步入成熟期,但是潜力仍然十分巨大,特别是在中国互联网人口超过美国总人口,中国电子商务仅占社会零售总额1%左右,中国移动互联网普及率还很低的情况下,这个行业还可以孕育许多个巨头。在我喜欢的搜索引擎领域,在跨媒体搜索和社交搜索方面有重新洗牌的机会;对数据挖掘的需求随着企业信息化的开展和电子商务的发达越来越大。于是在加拿大SFU交流的时候,我便选修了信息检索和研究生的数据挖掘,对这个领域有了初步的了解。

找到清晰的目标让我心里畅快,那么我应该怎么开始积累呢?

 

Bookiki!

从加拿大回来后,我感到自己技术积累仍然不够,和父母商量后决定去美国读硕。但是我当时隐隐有些着急,去美国读硕后肯定要工作几年才能收回投资,那个时候再创业会不会有些晚?美国很多成功的互联网企业家都在本科甚至高中阶段探索过创业,我再不行动不是落后他们了?我相信创业并不是完全准备好了才开始做,因为那样往往已经晚了。虽然知道当时开始成功的机会不大,但是实践肯定会带来丰富的收获。在加拿大的时候一个课程团队大作业就是二手书交易网站,当时就想回国改进功能,做个中文版的,那就开始吧!

事实确实如我所想,互联网行业启动快,我花了一千多块钱就购置了服务器和域名,在炎热的暑假回到学校开始了开发。当时做这个网站的队友都在加拿大,于是暑假开始做的时候就我一个人。加拿大的队友给这个网站起了个名字Bookiki,我又征求同学的意见起了个中文名书易,然后把原来的程序发布到网上,Bookiki Rocks!哈哈,其实离真正的发布还早着呢。那段时间,我见到同学或qq上跟人聊天就说我的网站,问他们的需求。同时又浏览了几十个国内外二手书相关网站,看他们的运营模式和功能设计。感谢park和叶睿智学长,在架构设计前问了他们不少问题,叶学长建议我爬虫书籍信息,这样较原先用谷歌图书API添加图书信息的方式更加方便。8月初开始我做了一周左右,正好隔壁寝室的阿彪回学校了,他竟然做过爬虫的程序!于是一拍即合,他来做爬虫,我来做剩下的部分。杭州的夏天异常热,经常有37度左右的高温,整个楼层就几个同学。我和阿彪经常都是光着膀子编程,不时在两个寝室间窜来窜去讨论,互相审阅代码,打球的间隙也讨论着,不懂的问题就去论坛上请教。经常会有一些奇怪的问题困扰我们一两天,然后解决掉之后心里又畅快至极。到了九月刚开学,我们终于拿出了有几十万书籍信息,书单匹配等创新功能的Bookiki Beta版。在2009年9月21日的凌晨,我们在发布的最后时刻还在进行调试,然后一点钟我们发了个帖子在校内的cc98论坛正式发布,很快就有人来顶贴,试用。我拿出了航班上攒下的一小瓶红酒,和阿彪及几位同学一起,干杯,Bookiki!那晚真是兴奋得难以入睡!一天后,网站的注册用户有四百多,大部分都很认同网站的功能!我们又根据同学的反馈改了一些bug和细节。开学不久我又组织七人团队参加了学校的创业计划大赛,顺利进入了复赛,还引起了风投trilogy的兴趣。

一切看起来都是那么顺利,直到政府十月份开始了对互联网的扫黄打非。由于经费有限,我们租赁的是共享虚拟机,也就是说我们网站所在的服务器有几十甚至上百个我们这样的网站。好像是从焦点访谈曝光我们网站所在上海怒江机房有黄色网站开始,就开始了持续的断网。虽然我们的网站既不黄也不非,但是监管者的手段是粗暴的,他们直接关掉整个机房进行检查,不管其中有很多合法网站。从那时候开始,给我们提供主机服务的公司就在不断更换机房,至少是辗转了四次最后把机器搬到了贵州去,中途我们机子所在硬盘还坏了一次,损失了所有数据,好在我们还有前几天的备份。自此我们的主机服务就一直不稳定,推广网站也没有底气,更好的服务器要几千上万,暂时也负担不起。后来的种种举措表明,扫黄只是借口,打非才是实质,这次行动本质是政府要加强对互联网的控制,以进行“维稳”。每次和他们交涉都很懊恼,但是也没有办法,在中国没有完善的法律制度,维权成本大于收益,向政府讨要公道更是不可能。难道放弃吗?不,对创业者来说这样的挫折还有很多,不能改变的事情就要先适应。后来我想起马云和任正非总是在说冬天来了,无论当前经济形势是好是坏。这时为什么呢?因为创业的环境瞬息万变,远比季节变化没有规律,因此任何时候都可能是冬天。之所以要这么提,就是为了营造危机感,在困难还没有来临的时候预测困难,提前准备好过冬的草粮,在冬天真正来的时候才能从容应对。从遭受挫折后抱怨,到随时预感到困难并及时采取措施预防,这是我经过这次“扫黄打非”最深刻的体会。

既然网站不好推广,那就练好内功吧,先集中精力参加创业计划大赛,半模拟半实践地探索商业模式和企业经营。在经过无数次讨论后,我们把商业模式定在了以免费的C2C服务吸引用户,用开在每个学校的B2C作为盈利方式,从学生3折收购再通过网络5折卖出作为商业模式。在进入复赛答辩阶段后,我们在紫金港校区演练了B2C的商业模式。但是这次做的并不成功,卖出的书不多,除去收购成本的一半营业收入都支付了人员工资,剩下的钱用于购置仓库中无线上网硬件,最后所剩无几。总结这次实践,一是项目的准备期在春节,我们团队投入精力不足,较多计划没有按期完成。二是营销做得不够,并没有展现出来网络平台应有的优势。而我们的免费用户也积累地不够,在向B2C转化的时候缺少基础。看来实践总是能出现很多意想不到的问题,实际的商业运营还需要很多的积累。我们根据实践中碰到的问题修改了商业计划书,加入了新学期开始前预订,团购等降低收购风险和扩大销量的模式,然后经过秘密答辩,顺利进入了省赛。这次浙江省赛增设了名叫创业之星的电子沙盘模拟环节,虽然其软件规则和参数还有很多不合理的地方,但是通过模拟经营,请教我们队的财务猛超和惠洲还是融会贯通学习了不少财务知识,特别是树立现金为王,运筹优化管理等概念。最后我们拿到了省赛一等奖,虽然没有进入全国的决赛,但是我觉得这已经足够了。这个比赛本来就有些不切实际注重高科技,专利产品的导向,而我们就是注重过程走到了现在,扎实地从市场调查做起,做了商业实践,也开展了诸多运营和推广的工作,实在地收获了创业的经验。

在就要毕业的时候,我正在担心网站的可持续运转,徐奂老师推荐我们参加了北极光公益创赛,可以拨给我们1万5的实践基金,这样网站及两年的服务器费用就解决了,可以作为公益项目长期运转下去。网站运营尚未成功,但是我们会不断改进,团队补充了技术力量,有了较充足的启动资金,我有信心能行。春节前被CMU录取,即将跨入这个计算机的圣殿,我相信这个项目在录取的过程中也起到很大帮助。机会真的是这样,有时你苦苦寻觅不到,但是把手上的事情做好,却可能发现机会自己找了上来。做这个网站我并不知道会对我产生这么重要的影响,但是我认真走好了每一步,集中精力在这件事情上,因此团队的组建,借此作为留学申请的亮点,做成毕业设计,创赛获奖等等也就水到渠成,获得了全面的成长。再回首,那暑假挥汗如雨的奋斗,创赛中常到凌晨的探讨,成功晋级后的K歌都将永远成为我最宝贵的记忆!

 

积累,现在就开始

创业是一场长跑,大家可以看到很多年轻的富豪,甚至是辍学创业成功,那并不是别人运气好,或者完全是因为天才,而主要是别人积累得早。我也是刚开始积累,这里和大家分享些我的感悟。我认为创业的基础,还是形成负责任,敢探索,不怕失败的心态。在这方面,我看过的三部影视剧集收获最大:肖申克的救赎,越狱,反恐24小时。剧中男主角都是男人的典范,信念坚定地为自己的事业和所爱的人奋斗,极有责任感,对是非的判断能力超群,从来不放弃,总是能机智地绝处逢生。创业很多时候也要依靠直觉,而直觉来源于长期的经验积累,缺少实践经验的学生可以多阅读企业或企业家传记。

在学校中完全可以完成对自己初步的创业教育,但是不要忘了,专业知识同样重要。除了探索所学领域的知识外,我认为经济,财务,部分法律也应该在课堂学习,而管理方面结合社团等实践来学远比课堂学习效果好。

加入一个优秀的创业团体可以起到创业催化剂的作用。在大四加入ASES以后,我就收益匪浅。和正在创业的老大,做风投的花姐,产品经理苏杰师兄,技术牛人添翼,以及和我一样准备创业的雪峰等ASES众线上线下的频繁交流,加之与斯坦福总舵的密切联系,让我有全方位的提高。ASES这个创业社区中形成了互相帮助,出谋划策的氛围,我也在这里顺理成章地找到了先锋,陈田和原来红会共事的炳文加入了bookiki创业团队。

在创业教育上有一系列文章值得阅读,包括但不限于:

—硅谷风投Guy Kawasaki的大部分创业评论,比如这篇:创业的艺术

—《创业家》杂志主编关于商业模式的阐述是我看过最为深刻的:关于商业模式的那些迷思

如果致力于高技术创业,关注技术发展趋势十分必要,这些网站特别值得互联网领域创业者一看:

—一个有硅谷工作经历的台湾人博客Mr.6.cc

—最热门的互联网商业评论 Techcrunch

—问答网站上Quora有众多硅谷人士对互联网行业的讨论 Quora.com

一些创业评论网站也值得经常关注,国内著名的是 挖贝创业邦

创业资源和感悟:Stanford ecornerMIT Entrepreneurship Center

在路上

创业就像孕育生命的过程,充满了痛苦和喜悦。一走上创业这条路,我发现再也无法回头,因为创业已经成为了生活方式,我只有一直快乐地走下去。

 

分类: 未分类 标签: ,

开博前言- Foreword

2011年7月24日 admin 没有评论

博客更便于传播思想, 因此这个博客诞生了。我将先从导入自己已有的几篇文章开始。以后技术类文章尽量用英文,讨论其他方面的文章基本用中文。

Blogging accelerates the spreading of ideas, hence the born of this blog.  I will start off by importing my existing articles. Tech blogs will mostly be written in English, blogs in other aspects will mostly be in Chinese.

 

 

 

分类: 未分类 标签: