互联网产品 | iJohn.org - Part 2

Archive for the ‘互联网产品’ Category

8th
十一月 2011

比较Google,百度,搜狗的即时搜索效果
爱因万江斯坦@2011年11月08日 00:13 Post in 互联网产品 No Comments »

刚在2011年11月07日 23:26 发表了一篇博文,Common law is the law for the common man,随后在Google中搜索了一下,结果如下,时间大概是在11月07日 23:40分:


 

在搜索结果的第五条,出现我15钟前发表的博文,结果显示:14 minutes ago,五分钟后,考虑到搜索结果是来自于google.com.hk ,其中是会包含英文的,我又选择了只搜索中文(简体)结果:

ok,这一次结果是出现在第一位了,紧跟的第二条相关性够高,但页面时间太久远了。

再来看看百度的搜索结果:

不错,也出现在第一条,显示的是15分钟之前,与Google不相上下,因为有搜索的时间差,但第二条的相关性与第三条差很多呀。

 

再看看搜狗,没有我刚才发的文章,后几页也木有,但前两条的结果我在Google与百度里竟然没有找到,三家的算法用的好怪:

 

再试试了搜搜,有道,就连相关性都没有了,更不用说即时性了,大家可以忽略不计了。

一个好产品的市场占有率真的是与其产品质量成正比的。当然了,我发的博文能如此快的出现在搜索引擎的结果中,也与我用的是wordpress有关,因为它有自动更新功能:“当您发表一篇新文章时,WordPress 将会向下面的站点发出通告。更多关于“更新服务”的信息。”

 

后记:考虑到我搜索的关键词比较长“Common law is the law for the common man”,很考验分词算法,而且还是英文的,其结果Google与百度相比,百度好像搜索结果更好一些,当然我是基于中文的结果去比较的,没有比较英文。
我又搜索了一下这篇博文的标题:“比较Google,百度,搜狗的即时搜索效果”,这一次竟然是Google赢了号称最懂中文的百度,在Google的第一页第四个结果就是我的博文,而百度翻了五页了,都没有该文的索引。
12th
十月 2011

“我的上司乔布斯教给我的8堂管理课”
爱因万江斯坦@2011年10月12日 17:28 Post in 互联网产品 No Comments »

史蒂夫·乔布斯影响了无数人,这其中包括前苹果工程师,Posterous创始人Sachin Agarwal。在他看来,乔布斯教给了他如何在一家百亿美元的大公司中建立创业文化,以及如何建立一个应该由工程师说了算而不是由经理说了算的环境。让我们来看看他从乔布斯学到的8堂管理课。

1. 一家科技公司应该由工程师而非经理主导

苹果并没有过多地进行产品管理,大部分项目组规模都不大,而且他们都是由工程师驱动的。最重要的是,大多数经理都是工程师,而非纯粹意义上的产品经理或者由MBA充当。这意味着监管项目的人懂得技术,清楚项目的需要,并能真正参与到团队中。

2. 建立起经理和员工之间的相互尊重

由于大部分经理有着很强的工程背景,产品经理与程序员之间没有很多公司中存在的彼此看对方不顺眼的情况,而且二者之间存在着许多相互尊重,这对于苹果小而紧密的项目团队来说至关重要,也是苹果成功拼图上的关键一块。

3. 给予员工自由,让他们改进产品

在苹果,如果员工使用产品当中发现一个困扰他们的问题,他们有权直接动手修复它,而无需官僚的打报告等待批准。
在苹果,所有的项目都是由长期目标驱动,但最好的东西往往来自于工程师们的自发奉献。

4. 激励你的员工成长

经理们往往会给下属略超出他们的能力、具有挑战性的任务,但员工往往能从中获益匪浅。在挖掘员工潜力、激励员工成长方面,苹果做得相当到位,能给予他们所需要的技能,与公司一起成长。

5. 最后期限至关重要

在苹果对最后期限的要求非常严格,而他们总是能在最后期限前完成任务。Agarwal称,“至于质量方面,我在苹果学到的东西是,我们不能将没有达到‘苹果水准’的东西推向市场,这意味着我们有时候要砍掉一些在最后期限前无法完成的东西,坚持最后期限,并逐步改善。”

这或许就是苹果的妥协文化的根源。

6. 不要和你的竞争对手搞扩军备战

苹果从不会和竞争对手搞扩军备战,他们更多地专注于自身产品的目标,而不是拿自己和竞争对手相比。苹果从未试图在同一水平上超越他们,而是在更高的水平上做自己的事情。这一使命已经深植于苹果的企业文化中,所以苹果的员工不会专注于竞争对手在做什么,而是以创新为导向,拿出产品,挑战现状。

7. 雇佣那些痴迷于你的产品的人

苹果员工首先是苹果的粉丝,这让他们的工作更加具有积极主动。

是否对公司、产品具有热情,是否对整体风格和使命认同,这是苹果招聘过程中考虑的重要因素。苹果员工通常会热爱自己的产品,并会为之不断努力。

8. 在工作和生活中平衡

苹果强调工作与生活的平衡。苹果的理念是,你努力工作的目的是为了能够更好地享受自己的生活。因此苹果会为员工提供优良的健康服务,慷慨的圣诞节和感恩节假期和优良的办公环境。苹果的格言是:“努力工作,享受生活。”

总结:哪怕你已经成为一家大公司,也还要保持创业文化

 

苹果的成功之处在于,它是一家巨大的创业公司。

没有官僚主义,以工程师为中心的文化,强调员工的热情与忠诚,这家大公司一直保持了创业初期的公司文化。这也正是苹果为什么取得如此巨大成功的秘诀。

7th
七月 2011

技术型领导
爱因万江斯坦@2011年07月07日 11:38 Post in 互联网产品 No Comments »

Facebook前工程总监黄易山撰写了一系列文章,很好地总结了Facebook卓越研发文化中的宝贵经验。本文是这一系列文章的第五篇,也是最后一篇。

何谓技术型领导

所有从外部聘用的管理人员包括技术部门负责人,都必须能够编写代码,并且要达到炉火纯青的地步。如果是一家技术公司,CEO也应如此。

现在有个误区就是认为编程不是高管或者经理的必备能力,仿佛只是一种花哨的打字形式。但其他专业化行业都不这样认为:银行业高管必须能够阅读资产负债表;汽车业高管则需要了解催化转换器等。

有人可能会说,技术的精通程度无法检验,因为一个杰出的管理候选人最近几年可能只关注于管理,与技术已无直接的接触。而且,一个杰出的经理可以管理一切事情。显然,这是不真实的。

当然,并不是希望候选人能用当前有限的扩展性技术创建一个大规模系统,或者在芯片集这种底层进行优化,或者能记住特定语言或框架的详细语法。但检验一个经理候选人是否具有较强的个人技术背景是合理并且可取的。当然我指的是基本技能测试,如果候选人曾经是一个称职的技术人员,他肯定能通过编程测试,包含某些简单迭代或递归算法,以及计算机基础学科中指针、散列和操作系统原理等概念题。

即使是一些门槛很低、许多人可能认为任何一个程序员都会的问题,还是有很多程序员搞不定(我并不是说能够做到这一点就意味着是一个优秀的程序员,但做不到这一点则意味着你肯定不是一个优秀的程序员)。在其职业生涯早期,他们发现自己不是优秀的程序员,但又恰好处在一个技术要求没那么严谨的组织中,因此他们能够被提拔,完全是因为他们碰巧很擅长与人打交道(或善于用人)。现在,他们中的许多人已经进入了技术管理和高管候选人的行列。此外,他们通常非常善于谈论一场精彩的比赛,听起来就像他们知道自己在做什么(否则他们也不会到那个位置)。

检验一个候选人是否具备技术实力的唯一方法是:给他们出一些简单的代码题目进行测试或者找一些他们写过的开源代码直接评估检验。不能通过测试或者没有可供验证的公开技术记录的候选人将不会被雇用。

原因是显而易见的——那就是管理者需要纵观大势,以便作出明智的决定。一个有经验但无技术背景的经理可能会有好想法,但在同等情况下,一个有类似技术背景的经理则可能有更突出的表现。换句话说,前者肯定提供不了技术领导力,如果希望你的公司成为行业的技术领导者,你的领导者首先需要具备技术。

为什么需要技术型领导?

一个没有技术型领导的“技术”公司往往会失败,原因可以归咎于以下两者或者其中之一。

领导无法分辨技术人员执行的工作是否符合标准,因为在面临技术挑战时他们无法区分是技术人员执行力太差还是确实遇到了技术瓶颈。进而,也就无法实行绩效管理,这会导致业绩平庸,并将最终导致彻底甚至反复的失败。

业务需求导致领导不顾技术人员的建议或者想法。当今严酷的商业环境要求企业领导推进企业不停地超越旧边界,这意味着领导不仅要告诉他的员工警惕“该死的鱼雷”,还要能够深化拓展,不能仅求安逸。不幸的是,非技术型领导人没有个人能力来衡量首要技术问题的实际风险状况(例如:某些特殊情况下已经非常过时的限制),并往往会推翻那些不应该被推翻的建议。

在Facebook之外,我见证了不止一个由于管理层缺乏核心技术力而导致的大型公司的失败。而在Facebook,个人技术能力恰巧是所有工程管理人员所必需的,甚至包括部门领导及CEO(是的,Mark Zuckerberg还在继续参与Hackathon编程活动)。这使得该公司敢于多次进行技术冒险,以达到更大的产品创新目标并实现一贯快速的前进步伐,正所谓越了解游戏规则,玩得就好。

作者介绍:黄易山,1997年毕业于卡内基-梅隆大学。2001年加入PayPal,曾任高级工程总监。2005-2010年在Facebook领导研发,在公司研发环境的建设上发挥了重要作用。

29th
五月 2011

马化腾是个好产品经理
爱因万江斯坦@2011年05月29日 23:40 Post in 互联网产品 No Comments »

21st
四月 2011

天涯社区的进化经验(二)产品篇
爱因万江斯坦@2011年04月21日 13:16 Post in 互联网产品 No Comments »

产品与技术
• 拙劣的产品设计,会对技术设计造成很大的麻烦
– 产品设计要平衡技术特点,技术设计要为产品提供思路
– 尽可能去理解业务及其目标,才有可能设计出最恰当的技术方案
• 和产品人员共同决策
• 不要增加太多新功能,创建容易维护难,会分散不多的产品及技术资源,更重要的是分散了用户关注。
• 创新不是发散的,要基于核心功能创新
• 支持产品快速优化,前端代码要易维
• 追求完美的设计只是美好的愿望, 做实用主义者。
• 优先解决让用户最恼火的问题。
• 综合考虑时间成本、服务器成本、技术风险、现有人员能力。
• 维护轻重缓急任务清单,优先做重要的事情,当前重要的事情不要超过三个。

保持技术朴素
• 尽量保持简单、低成本,易维护性、可扩展性,不一味追求新技术,适合的才是最好的,让技术保持朴素。
• 通过简单、常见的技术来组合出灵活的系统。
• 试图了解和利用现有技术,保持技术的连贯性。
• 不要为将来做太多技术准备,很多事情可以放在以后做,把握做事的最佳时间点。

6th
十二月 2006

web网站的发展方向
爱因万江斯坦@2006年12月06日 00:41 Post in 互联网产品 No Comments »

互联网的发展,带来了很多的新生事物,一堆一堆的新名词和新技术在不断的充实这张连接全世界的大网,也许N年以后,这张网除了联起地球,还会成为联起外太空的智慧生物的信息大网。想想在地球上访问来自另一个行星上的某位外星人的网站,会是什么感觉,先科幻一下了,呵。
自从HTML这种基于WWW的文件格式在互联网上传播开来,web网站也就诞生了。
咱不说远了,就说说自2000年到现在,web网站的类型和它的发展趋向吧
2000年那会,应该正是网络泡沫经济的时候吧。尽管是泡沫,但它是web网站一次空前的繁荣,那个时候的网站都类型比较集中,都是门户型网站。主要是提供信息,新闻,和邮箱等服务。门户型网站的特点是内容依赖于网站本身所提供,按现在的话来说,就是和访问者几乎没有互动,访问者要自己去网站上不停的点击,不停的通过超链去找到自己的感兴趣的信息,一旦访问者发现有的网站信息更新速度更快,就会很快的喜新厌旧,转向其它网站。
不过,出于新奇,确实能带来一时的人气和流量。但这种类型的网站,太讲究大而全,要运作起来需要相当高的成本,钱总有烧完的一天,当时我访问过的很多网站,现在都已经不存在了(欢迎大家列举一些大家以前经常去,而现在已经不存在的网站了),这种类型的网站最终只剩下sina,sohu,163这样的实力强劲的门户网站了,它们代表了第一代互联网web网站,这种大而全的门户网站,流量很高,但主要是提供信息给用户,就是web网站是主动方,而用户是被动或少量主动的接受方,所以门户网站也一直在不断探索新的发展方向。
那时IM软件也还刚刚起步,大家在互联网中交流还主要是电邮和BBS,但随着成本不断增加,赢利模式仍然混乱,这种提供单一功能的网站也相继死去或被并购。能活下来的,都已经不在风光。
所以,我们看一下,第一代的web网站是特点:提供静态的信息,单一的电邮和BBS互动功能,这是和当时的网络环境,和互联的伊始相呼应的,那一代是门户网站的天下。
随着互联网硬件的发展,以ADSL为主流的半宽带入户(本人觉得宽带接入小于1M就应算是半宽带,不能称之为宽带),互联网的普及,更多针对性的功能web网站也相继出现。
就在这个时候,一个承上启下的web巨人出现了:Google。它把第一代的门户网站做了一个简洁的总结,告诉大家,一个网站的首页其实只要一个输入框和一个提交按钮就可以了。
Google本身不提供内容,它通过后台的复杂运算给出一堆可供选择的信息给用户。我们仔细看看,用户在Google上获取信息的过程:是用户自己提交想要的信息关键词,点击搜索,然后,Google会在众多的门户网站和其它你所想不的到的地方都为你都找出来。Google在全世界的迅速普及让当时的门户网站们看傻了眼,互联网从不缺少奇迹。
这个时候,用户和web网站之间的互动开始了。web2.0的概念开始初倪端。
由于网络速度的提高,一些功能性的网站得以出现,,如视频网站,音乐在线网站。同时由于网络的普及,电子商务网站也出现了,无论是B2B,还是B2C,C2C,唉,概念真麻烦。
这个时候的网站,已经不再是只提供文字图片信息,开始有视频和音乐,但总的来说,他们与第一代的web网站特点大致相同,都是单纯提供内容,而很少与用户直接互动。
这个时候,web网站的发展是处在一个发展期,因为赢利模式依然不清晰,大家不知何时才能在互联网赚到money,那时连Google都有过要卖掉自己的念头,可惜yahoo当时因为已经有了自己的搜索引擎的开发计划拒绝了Google。
我打算把这个时期称为过渡期,是web网站理性思考和平稳发展的时期,差不多从2003年到现在。
在2005年的时候,随着Google在04年的高价上市成功,互联网开始了新一轮的复苏,这个时候是理性的复苏,但其间还是有少许泡沫。
这个时候,web网站的发展方向是:聚合网站内容;充分互动;让用户参与网站内容的提供。所以除了google的兴起,blog开始步入主流的web网站,我本人是从04年初开始写blog,那时整个互联网上blog还远不如现在那么普及。现在,blog地址都开始印在名片上了。
在这个理性的发展期,web网站更加精细化和针对性,不再追求大而全,各种有针对性的社区:旅游,电影,音乐,技术,交友,聚会,人脉社区相继出现,也出现了好几次惊天动地的大收购。
目前是过渡期,所以,新的,旧的,超前思想都会在这个时期出现。
web2.0,说起来也只是个概念,但总的来说,就是web网站开始以人为主了,而不是单纯的做一个信息的发布源了。
如果大家也有自己个搞个网站的想法,那就赶紧想想自己的针对人群,怎样以人为主,这样的网站才有在这个时期发展起来的可能性。
web网站在发展,基于的web的技术也在发展。
在技术方面,RIA开始渐渐流行。我大概是从04年开始接触RIA,当时研究了Flex,Laszlo,结果没想到Ajax大红了起来,呵,自己失策了一把。尽管听到有人说Ajax是过渡技术,但我觉得只要HTML还存在,js还存在,Ajax就不会是过渡技术,Ajax是RIA领域里的一个非常优秀的补充,Flex和Laszlo等的成熟还有待时日。RoR和敏捷开发的突起,也是让我这种老牌的JAVA人看到了解决问题的银弹。
其实说到这里,还只是谈了web网站到目前的发展,由于时间已晚,困的不行,上面写的有点凌乱,停笔先,明天再补充,也欢迎大家在web网站的发展方向和技术发展方向上做点补充。

23rd
四月 2004

敏捷宣言遵循的原则
爱因万江斯坦@2004年04月23日 17:48 Post in 互联网产品 No Comments »

1.我们最优先要做的是通过尽早的,持续的交付有价值的软件来使客户满意。
比较实在的道理,不用多说了。”初期交付的系统中所包含的功能越少,最终交付的系统的质量就越高”。功能慢慢的实现,比较不会容易出错。
2.即使到了开发的后期,也欢迎改变需求,敏捷过程利用变化来为客户创造竞争优势。
这一点很难得,很少有人在开发后期还能对需求的变化面带微笑的。

3.经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。
让客户心里放心,客户至上。对远比一大堆漂亮的文档更有效。

4.在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
力保开发的最终软件是客户所真正需要的。

5.围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。
程序员是我们实现价值的最基本元素,他们应该得到最充分的尊重。

6.在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交流。
face to face 的交流,人都是社会动物,交流,还是简单一点的好

7.工作的软件是首要的进度度量标准。
为什么比能工作的软件更有实际意义!!

8.敏捷过程提倡可持续的开发速度。责任人,开发者和用户应该能够保持一个长期的,恒定的开发速度。

9.不断地关注优秀的技能和好的设计会增强敏捷能力
不断地学习,才会不断的提高。Learning is like rowing upstream,not advance is to drop back.

10.简单–使未完成的工作最大化的艺术—是根本的。
简单,这是我的处事的原则,也是解决问题的原则,能一句话说清楚的事情,就不要说两句。但对于coding,可能多写几条代码才会使问题简单代,太简的代码,反而会复杂,当然,这并不绝对。

11.最好的构架,需求和设计出自于自组织的团队。
一个好的团队的力量,是不可估量的。

12.每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。
人要成长,团队也要成长。