网站建设面试自我介绍,.net做网站,深圳网站制作联系电话,山东住房建设厅官网站首页本文主要来自百度百科#xff0c;作为一个“软件制品时代的软件工程师”#xff0c;看了这篇文章#xff0c;犹如醍醐灌顶。虽然很长#xff0c;推荐一读。 1.含义 “Web 2.0”的概念2004年始于出版社经营者OReilly和MediaLive International之间的一场头脑风暴论坛。Web2.…本文主要来自百度百科作为一个“软件制品时代的软件工程师”看了这篇文章犹如醍醐灌顶。虽然很长推荐一读。 1.含义 “Web 2.0”的概念2004年始于出版社经营者OReilly和MediaLive International之间的一场头脑风暴论坛。Web2.0 更注重用户的交互作用用户既是网站内容的浏览者也是网站内容的制造者。所谓网站内容的制造者是说互联网上的每一个用户不再仅仅是互联网的读者同时也成为互联网的作者不再仅仅是在互联网上冲浪同时也成为波浪制造者在模式上由单纯的“读”向“写”以及“共同建设”发展由被动地接收互联网信息向主动创造互联网信息发展从而更加人性化。
2.主要特点 1 用户参与网站内容制造。例如博客网站和wiki就是典型的用户创造内容的指导思想而tag技术用户设置标签将传统网站中的信息分类工作直接交给用户来完成。
2 web2.0更加注重交互性。
3 符合web标准的网站设计。web标准中典型的应用模式是“CSSXHTML”摒弃了HTML4.0中的表格定位方式其优点之一是网站设计代码规范并且减少了大量代码减少网络带宽资源浪费加快了网站访问速度。更重要的一点是符合web标准的网站对于用户和搜索引擎更加友好。
4 web2.0的核心不是技术而在于指导思想。与其说web2.0是互联网技术的创新不如说是互联网应用指导思想的革命。
3.技术 Web2.0概念的说明通常采用典型Web2.0网站案例介绍加上对部分Web2.0相关技术的解释这些Web2.0技术主要包括BLOG、RSS、Wiki、网摘、SNS、P2P、IM等。
4.原则
4.1 互联网作为平台
Netscape 对 Google
如果Netscape可以称为Web 1.0的旗手那么Google几乎可以肯定是Web 2.0的旗手只要看看他们的首次公开上市IPO)是如何地揭示了各自的时代就清楚了。所以我们就从这两个公司和其定位的差别入手。
Netscape以传统的软件摹本来勾勒其所谓“互联网作为平台”他们的旗舰产品是互联网浏览器一个桌面应用程序。同时他们的战略是利用他们在浏览器市场的统治地位来为其昂贵的服务器产品建立起市场。从理论上讲在浏览器中控制显示内容和程序的标准赋予了Netscape一种市场支配力如同微软公司在个人计算机市场上所享受的一样。很像当初“自行的马车”horseless carriage将汽车描绘为一种熟知事物的延伸Netscape曾推销一种网络桌面webtop来替代传统的桌面desktop并且计划借助信息更新以及由购买了Netscape服务器的信息提供者来推送的各种小程序来开发推广这种网络桌面。
最终浏览器和网络服务器都变成了“日用品”同时价值链条也向上移动到了在互联网平台上传递的服务。
作为对比Google则以天生的网络应用程序的角色问世它从不出售或者打包其程序而是以服务的方式来传递。客户们直接或间接地为其所使用的服务向Google付费。原有软件工业缺陷荡然无存。没有了定期的软件发布只需要持续的改善。没有了许可证或销售只需要使用。没有了为了让用户在其设备上运行软件而不得不进行的平台迁移只需要搭建宏大的、由众多个人计算机组成的、可伸缩的网络其上运行开源操作系统及其及自行研制的应用程序和工具而公司之外的任何人则永远无法接触到这些东西。
在其底层Google需要一种Netscape从未需要过的能力数据库管理。Google远远不只是一个软件工具的集合它是一个专业化的数据库。没有这些数据那些工具将毫无用武之地没有这些软件数据也将无可控制。软件许可证制度和对应用程序接口API的控制——上一个时代的法宝——已经毫不相关了因为Google的软件只需要执行而从不需要分发也因为如果不具备收集和管理数据的能力软件本身就没有什么用处了。事实上软件的价值是同它所协助管理的数据的规模和活性成正比的。
Google的服务不是一个简单的服务器虽然其服务是通过大规模的互联网服务器集合来传递的其服务也不是一个浏览器虽然这种服务是被用户在浏览器中体验到的。Google的旗舰产品——搜索服务甚至不托管它让用户来搜寻的内容。很像一个电话通话过程不仅发生在通话的两端而且发生在中间的网络上。作为用户和其在线体验的一个中介Google作用于浏览器、搜索引擎和最终的内容服务器之间的空间中。
虽然Netscape和Google都可以被描述为软件公司但显然Netscape可以归到LotusMicrosoftOracleSAP以及其他发源于上个世纪八十年代软件革命的那些公司所组成的软件世界。而Google的同伴们则是像eBayAmazonNapster及至DoubleClick和Akamai这样的互联网公司。 DoubleClick对Overture和AdSense
同Google类似DoubleClick是一个名副其实的互联网时代的孩子。它把软件作为一种服务在数据管理方面具有核心竞争力并且正如上文所述它是一个早在连网络服务的名字还不曾有的时候就已然开始其服务的先驱。然而DoubleClick最终还是被其商业模式局限住了。它所贯彻的是九十年代的互联网观念。这种观念围绕着出版而不是参与围绕着广告客户而不是消费者来进行操纵围绕着规模认为互联网会被如MediaMetrix等网络广告评测公司尺度下的所谓顶级网站所统治。
结果是DoubleClick得意地在其网站上引用道“超过2000种的成功应用”。而相对比的是Yahoo!公司的搜索市场从前的Overture和Google的AdSense产品已经在为几十万的广告客户服务。
Overture和Google的成功源自于对克里斯·安德森ChrisAnderson提到的所谓“长尾”的领悟即众多小网站集体的力量提供了互联网的大多数内容。DoubleClick的产品要求一种签订正式的销售合同并将其市场局限于很少的几千个大型网站。Overture和Google则领会到如何将广告放置到几乎所有网页上。更进一步地它们回避了发行商和广告代理们所喜爱的广告形式例如旗帜广告和弹出式广告而采用了干扰最小的、上下文敏感的、对用户友好的文字广告形式。
Web 2.0的经验是有效利用消费者的自助服务和算法上的数据管理以便能够将触角延伸至整个互联网延伸至各个边缘而不仅仅是中心延伸至长尾而不仅仅是头部。
毫不奇怪其他Web 2.0的成功故事也显示着同样的轨迹。eBay扮演着一个自动的中间媒介的角色使个体之间发生的几个美元的偶然性的交易成为可能。Napster虽然已经出于法律原因而关闭将其网络建立在一个集中的歌曲数据库之上但是它让每一个下载者都成为一台服务器从而使其网络逐渐扩大。 Akamai 对 BitTorrent
同DoubleClick类似Akamai的业务重点面向网络的头部而不是尾部面向中心而不是边缘。虽然它服务于那些处于网络边缘的个体的利益为他们访问位于互联网中心的高需求的网站铺平了道路但它的收入仍然来自从那些位于中心的网站。
BitTorrent像P2P风潮中的其他倡导者一样采用了一种激进的方式来达到互联网去中心化internet decentralization的目的。每个客户端同时也是一个服务器文件被分割成许多片段从而可以由网络上的多个地方提供透明地利用了网络的下载者来为其他下载者提供带宽和数据。事实上文件越流行下载得越快因为有更多的用户在为这个文件提供带宽和各个片段。
BitTorrent由此显示出Web 2.0的一个关键原则用户越多服务越好。一边是Akamai必须增加服务器来改善服务另一边是BitTorrent用户将各自的资源贡献给大家。可以说有一种隐性的“参与体系”内置在合作准则中。在这种参与体系中服务主要扮演着一个智能代理的作用将网络上的各个边缘连接起来同时充分利用了用户自身的力量。
4.2利用集体智慧
--Yahoo!是首例伟大的成功故事诞生于一个分类目录或者说是链接目录一个对数万甚至数百万网络用户的最精彩作品的汇总。虽然后来Yahoo!进入了创建五花八门的内容的业务但其作为一个门户来收集网络用户们集体作品的角色依然是其价值核心。
--Google在搜索方面的突破在于PageRank技术该技术令其迅速成为搜索市场上毫无争议的领导者。PageRank是一种利用了网络的链接结构而不是仅仅是使用文档的属性来实现更好的搜索效果的方法。
--Amazon销售同Barnesandnoble等竞争者相同的产品同时这些公司从卖方获得的是同样的产品描述、封面图片和目录。所不同的是Amazon已然缔造出了一门关于激发用户参与的科学。Amazon拥有比其竞争者高出一个数量级以上的用户评价以及更多的邀请来让用户以五花八门的方式在近乎所有的页面上进行参与而更为重要的是他们利用用户的活动来产生更好的搜索结果。Barnesandnoble的搜索结果很可能指向该公司自己的产品或者是赞助商的结果而Amazon则始终以所谓“最流行的”打头这是一种实时计算不仅基于销售而且基于其他一些被Amazon内部人士称为围绕着产品“流动”flow的因素。由于拥有高出对手一个数量级的用户参与Amazon销售额超出竞争对手也就不足为奇了。
具备了这种洞察力并且可能会将之延伸开来的那些创新型的公司正在互联网上留下他们的印迹。
维基百科全书Wikipedia是一种在线百科全书其实现基于一种看似不可能的观念。该观念认为一个条目可以被任何互联网用户所添加同时可以被其他任何人编辑。无疑这是对信任的一种极端的实验将埃里克·雷蒙德Eric Raymond的格言源自开放源码软件的背景之下“有足够的眼球所有的程序缺陷都是肤浅的”with enough eyeballs, all bugs are shallow运用到了内容的创建之中。维基百科全书已然高居世界网站百强之列并且许多人认为它不久就将位列十强。这在内容创建方面是一种深远的变革。
像“美味书签“和Flickr这样的网站其公司已经获得了广泛的关注并且已经在一种被人们成为“分众分类”folksonomy有别于传统分类法的概念上成为先行者。“分众分类”是一种使用用户自由选择的关键词对网站进行协作分类的方式而这些关键词一般称为标签tags)。标签化运用了像大脑本身所使用的那种多重的、重叠的关联而不是死板的分类。举一个经典的例子在Flickr网站上一幅小狗照片可能被加上“小狗”和“可爱”这样的标签从而允许系统依照用户行为所产生的自然的方式来进行检索。
协作式垃圾信息过滤产品例如Cloudmark就聚集了电子邮件用户们对于“一封邮件是或者不是垃圾邮件”的众多相互独立的决策从而胜过了依赖于分析邮件本身的那些系统。
伟大的互联网成功者并不主动地到处推销其产品这几乎成为公理。他们采用“病毒式营销”viral marketing的方式也就是说一些推介会直接从一个用户传播到另外一个用户。如果一个网站或产品依赖广告来进行宣传你几乎可以断定它不是Web 2.0。
即便许多互联网基础设施本身包括在大多数网络服务器中用到的LinuxApacheMySQL以及PerlPHP或Python代码也都依靠开放源码的对等生产peer-production的方式。其中包含了一种集体的、网络赋予的智慧。在网站上列有至少10万种开放源码软件项目。任何人都可以添加一个项目任何人都可以下载并使用项目代码。
经验是源于用户贡献的网络效应是在Web2.0时代中统治市场的关键。 平台总是打败应用程序
在过去每次同对手的竞争中微软都成功地用平台这张牌打败了即便是最占主导地位的应用程序。Windows平台让微软以Excel取代了Lotus 1-2-3以Word取代了WordPerfect,以Internet Explorer取代了Netscape浏览器。
不过这次冲突不是在平台和应用程序之间而是在两种平台之间。每个平台皆有一种截然不同的商业模式一方面一个独立软件商具有广泛的用户基础并且将应用程序接口和操作系统紧密集成从而对程序设计模式予以控制另一方面是一个没有所有者的系统由一组协议、开放标准和对合作的共识来连结到一起。
Windows系统代表了由软件程序接口来进行专有控制的高峰。Netscape曾尝试用微软当初对付其对手所使用的手段来同微软进行争夺但是失败了。然而拥有互联网开放标准的Apache却已经繁荣了起来。此番上演的战局已经不再是实力悬殊的平台对决孤立的软件了而是变成了平台对决平台。问题在于哪个平台或者更深远地来说哪个体系以及哪个商业模式最能适应未来的机遇。
Windows对于早期的PC时代的问题是一种卓越的解决方案。它统一了程序开发者的竞技场解决了很多困扰这个领域的问题。但这种由单一供方控制的一刀切的方法已经不再是适宜的解决方案而成为了一种问题。面向交流的系统需要协同性互联网作为一个平台当然也是如此。除非供方可以控制每一例交互的两个终端这种通过软件的程序接口来锁定用户的可能性微乎其微苹果公司或许是其中的一个。
任何企图通过控制平台来推销应用程序的Web 2.0提供商从定义上讲已经丧失了这个平台的优越性。
这并不是说锁定和竞争优势的机会不复存在了而是说我们相信这种机会不是通过控制软件程序接口和协议来取得的。新的游戏规则正在浮现。那些能够理解这些新的游戏规则而不是企图回到PC软件时代旧有规则的公司才有可能在Web 2.0时代获得成功。
4.3博客和大众智慧
归根底地博客只是一种日记形式个人网页。但正如里奇·斯格仁塔Rich Skrenta指出的博客的按时间顺序来排列的结构“看起来像是一个微不足道的变化但却推动着一个迥然不同的分发、广告和价值链。” RSS是自早期计算机高手们认识到CGI公共网关接口可用来创建以数据库为基础的网站以来在互联网根本结构方面最重要的进步。RSS使人们不仅仅链接到一个网页而且可以订阅这个网页从而每当该页面产生了变化时都会得到通知。斯格仁塔将之称为“增量的互联网”incremental web。其他人则称之为“鲜活的互联网”live web。 所谓“动态网站”即具有动态产生的内容的、由数据库驱动的网站取代了静态网站。而动态网站的活力不仅在于网页而且在链接方面。一个指向网络博客的链接实际上是指向一个不断更新的网页包括指向其中任何一篇文章的“固定链接”permalinks以及每一次更新的通知。因此一个RSS是比书签或者指向一个单独网页的链接要强大得多。 RSS同时也意味着网页浏览器不再只是限于浏览网页的工具。尽管诸如bloglines之类的RSS聚合器RSS aggregators是基于网络的但其他的则是桌面程序此外还有一些则可以用在便携设备上来接受定期更新的内容如在线的阅读工具雅蛙网本身RSS属于个人定制的范畴雅蛙网进一步加以强化。
RSS不仅用于推送新的博客文章的通知还可以用于其他各种各样的数据更新包括股票报价、天气情况、图片。这类应用实际上是对RSS本源的一种回归RSS诞生于1997年是如下两种技术的汇合一种是戴夫·温纳Dave Winer的“真正简单的聚合”Really SimpleSyndication技术用于通知博客的更新情况另一种是Netscape公司提供的“丰富站点摘要”Rich Site Summary技术该技术允许用户用定期更新的数据流来定制Netscape主页。后来Netscape公司失去了兴趣这种技术便由温纳的一个博客先驱公司Userland承接下来。不过在应用程序实现中我可以看出两者共同的作用。 但是RSS只是令博客区别于同普通网页的一部分原因。汤姆·科特斯Tom Coates这样评论固定链接的重要性
在许多方面RSS同固定链接的结合为HTTP互联网协议增添了NNTP新闻组的网络新闻协议的许多特性。所谓“博客圈”blogosphere可以将其视作一种同互联网早期的、以对话方式来灌水的新闻组和公告牌相比来说新型的对等peer-to-peer意义上的等价现象。人们不仅可以相互订阅网站并方便地链接到一个页面上的特定评论而且通过一种称为引用通告trackbacks的机制可以得知其他任何人链接到了他们的页面并且可以用相互链接或者添加评论的方式来做出回应。
如果Web 2.0的一个本质是利用集体智慧来将互联网调试为一种所谓的全球的大脑那么博客圈就是前脑中喋喋不休的呓语那种我们整个头脑中都能听到的声音。这可能并不反映出大脑的往往是无意识的深层结构但却是一种有意识的思考的等价物。作为一种有意识的思考和注意力的反映博客圈已经开始具有强有力的影响。
首先因为搜索引擎使用链接结构来辅助预测有用的页面作为最多产和最及时的链接者博客们在修整搜索引擎结果方面充当着一种不成比例的角色。其次因为博客社区是如此多地自相引用关注其他博客的博客们开阔了他们的视野和能力。此外评论家们所批判的“回音室”echo chamber也是一种放大器。
如果只是一种放大器那么撰写博客将会变得无趣。但是像维基百科全书一样博客将集体智慧用作一种过滤器。被詹姆士·苏瑞奥维奇James Suriowecki称为“大众智慧”the wisdom of crowds的规律起了作用并且就像PageRank技术所产生的结果胜过分析任何单一文档一样博客圈的集体关注会筛选出有价值的东西。
虽然主流媒体可能将个别的博客视为竞争者但真正使其紧张的将是同作为一个整体的博客圈的竞争。这不仅是网站之间的竞争而且是一种商业模式之间的竞争。Web 2.0的世界也正是丹·吉尔默Dan Gillmor的所谓“个人媒体”Wethe media)的世界。在这个世界中是所谓“原本的听众”而不是密室里的少数几个人来决定着什么是重要的。
4.4 数据
每一个重要的互联网应用程序都由一个专门的数据库驱动Google的网络爬虫, Yahoo!的目录和网络爬虫Amazon的产品数据库eBay的产品数据库和销售商MapQuest的地图数据库Napster的分布式歌曲库。正如哈尔·瓦里安Hal Varian的私人对话中谈到的“SQL是新的HTML”。数据库管理是Web 2.0公司的核心竞争力其重要性使得我们有时候称这些程序为“讯件”infoware而不仅仅是软件。
该事实也引出了一个关键问题谁拥有数据
在互联网时代我们可能已经见到了这样一些案例其中对数据库的掌控导致了对市场的支配和巨大的经济回报。当初由美国政府的法令授权给Network Solutions公司后被Verisign公司收购的对域名注册的垄断曾经是互联网上的第一个摇钱树。虽然我们在争论通过控制软件的API来形成商业优势在互联网时代会变得困难得多但是对关键数据资源的控制则不同特别是当要创建这些数据资源非常昂贵或者经由网络效应容易增加回报的时候。
注意一下由MapQuest, yahoomsn或者google等网站提供的每张地图下面的版权声明你会发现这样一行字“地图版权NavTeqTeleAtlas”(笔者:可能这段文字较早了2014.4月看google和bing的地图都是自己的)或者如果使用的是新的卫星图像服务则会看到“图像版权Digital Globe”的字样。这些公司对其数据库进行了大量的投资。仅NavTeq一家就公布投资7.5亿美元用于创建其街道地址和路线数据库。Digital Globe则投资5亿美元来启动其自有卫星来对政府提供的图像进行改进。NavTeq竟然已做了很多模仿Intel的耳熟能详的Intel Inside标识的事例如带有导航系统的汽车就带有“NavTeq Onboard”的印记。数据是许多此类程序事实上的Intel Inside是一些系统的唯一的信息源组件这些系统的软件体系多数是开放源码的也有商业化的。
当前竞争火热的网络地图web mapping领域显示着对拥有软件核心数据的重要性的疏忽大意将最终削弱其竞争地位。MapQuest在1995年率先进入地图领域随后是Yahoo!再后来是Microsoft而Google也决定挺进这一市场他们可以轻松地通过对同一数据的授权来提供一个具有竞争力的程序。
然而作为对比的是竞争地位。像Barnesandnoble这样的竞争者一样其原始数据库来自于ISBN注册商.R. Bowker。但是同MapQuest不同Amazon大力增强其数据增加出版商提供的数据例如封面图片目录索引和样张材料。更重要的是他们利用了其用户来评注数据以至于十年之后是Amazon而不是Bowker成为图书文献信息的主要来源一个学者、图书管理员和消费者的参考书目来源。Amazon还引入了其专有的标识符即ASIN该标识符在ISBN存在时与之对应而当产品不带有ISBN时就创建出一个等价的命名空间。Amazon从而有效地“吸收和拓展了”其数据提供商。
设想如果MapQuest也已做了同样的事情利用他们的用户来评注地图和路线添加新的价值层面。那么对仅仅通过授权使用基础数据来进入这一市场的其他竞争者将造成远远大得多的困难。
Google地图的引入为应用程序销售商和其数据提供商之间的竞争提供了一个活生生的实验室。Google的轻量型编程模型已经引发了不计其数的增值服务的出现这些服务以数据混合的方式将Google的地图同其他可以通过互联网访问的数据源相结合。保罗·拉特马赫Paul Rademacher的是这种混合的一个上佳范例其网站将Google的地图同Craigslist的公寓出租以及住宅购买数据相结合来创建一种交互式的房屋搜索工具。
这些混合大多是由程序高手们实现的创新性的实验产品。但是企业行动将紧随其后。并且人们已经可以从至少一类开发者中发现这一点。Google已经将数据源提供者的角色从Navteq那里夺走并且将自己定位为一个令人喜爱的中介者。在以后几年里我们将会看到数据提供商和程序销售商之间的斗争因为两大阵营都认识到了特定的数据类别在作为搭建Web 2.0程序的积木时是多么的重要。
这场竞赛已经涉及到拥有特定类别的核心数据位置、身份、公共事件日历、产品标识和命名空间等。在许多情况下在那些创建数据需要巨额成本的地方也可能存在一种如同Intel Inside方式一样凭借单一数据源来所有作为的机遇。其他情况下胜者将是那些通过用户聚合来达到临界规模并且将聚合的数据融入系统服务中的公司。
比如在身份标识领域PayPalAmazon的一键式以及拥有数百万用户的交流系统都有可能成为创建整个网络范围的身份标识数据库的正当竞争者。关于此Google使用手机号码作为Gmail账号标识的尝试可能就是朝借鉴和拓展电话系统所迈出的一步。同时像Sxip这样的创业公司正在探索联合身份标识的可能性以寻求一种“分布一键式”从而提供一个无缝的Web 2.0标识子系统。在日历领域EVDB则是通过维基式参与体系来搭建世界上最大的共享日历的一种尝试。虽然评判者尚在观望着任何一个特定创业公司或方式的成功是否但很显然这些领域的标准和解决方案有效地将某些数据转变为“互联网操作系统”internet operating system的可靠的子系统并将促成下一代的应用程序。
关于数据必须注意一个进一步的方面那就是用户关心其隐私和对自己的数据的权限。在许多早期的网络程序中版权只被松散地执行。例如Amazon宣称对任何提交到其网站的评论的所有权但却缺少强制性人们可以将同样的评论转贴到其他任何地方。然而随着很多公司开始认识到对数据的掌控有可能成为他们首要的竞争优势来源我们将会看到在此类控制方面强度更大的尝试。
正如专有软件的增长而导致自由软件运动一样在下一个10年中我们会看到专有数据库的增长将导致自由数据运动。在像维基百科全书这样的开放数据项目、创作共用Creative Commons、以及像Greasemonkey让用户决定如何在其计算机上显示数据这样的软件项目中我们可以看到这种对抗势头的前兆。
一些系统被设计为鼓励参与。在丹·布莱克林Dan Bricklin的论文“共用的丰饶”The Cornucopia of the Commons中他指出有三种创建大型数据库的方式。第一种已经由Yahoo!来体现了就是付费给人们来实现。第二种由开放源码社区的经验启发而来就是让志愿者来完成同样的任务。开放目录项目Open Directory Project一个Yahoo的开放源码竞争者就是该方式的产物。但是Napster体现了第三种方式。因为Napster将其默认设置为自动为任何已经下载的音乐服务任何用户都自动地帮助建立共享数据库的价值。同样的方式已经被其他所有P2P文件共享服务所采用。Web 2.0时代的一个关键经验在于用户增加价值。但是只有很小一部分用户会有意来为你的程序增加价值而不怕麻烦。因而Web 2.0公司均进行了这样的默认设置即作为程序通常使用方式的副产品来聚合用户数据并创造价值。正如上面所指出的他们在搭建那种用户越多则效果越好的系统。
米切尔·卡普尔Mitch Kapor曾经指出“体系是策略”。参与是Napster的本质其根本体系的一部分。
同更经常被引用的所谓“吸引志愿精神”的原因相比这种体系结构上的洞察力可能更能抓住对开放源码软件成功的本质。互联网、万维网World Wide Web、以及像Linux、Apache和Perl这样的开放源码软件项目的体系结构均是这样一种设计使得作为一种自动产生的副产品谋求其自身利益的用户们创建着集体的价值。这些项目中的任何一个都有一个很小的核心、一种设计良好的扩展机制、和一种让任何人来添加任何合乎规定的组件的方式不断增长着被Perl语言的创始人拉里·沃尔Larry Wall称为“洋葱头”the onion的外部层面。换句话说这些技术通过他们本来的设计方式体现着网络的效应。
4.5软件发布周期
如上文在对Google和Netscape的比较中谈到的互联网时代软件的代表性特征就是它应该被作为服务来交付。这种事实导致这类公司的商业模式上很多根本性的变化。
1. 运营必须成为一种核心竞争力。Google或者Yahoo!在产品开发方面的专门技术必须同日常运营方面的专门技术相匹配。从软件作为制造品到软件作为服务的变化是如此地根本以至于软件将不再能完成任务除非每日加以维护。Google必须持续抓取互联网并更新其索引持续滤掉链接垃圾和其他影响其结果的东西持续并且动态地响应数千万异步的用户查询并同步地将这些查询同上下文相关的广告相匹配。
所以Google的系统管理、网络、和负载均衡技术可能比其搜索算法更被严加看管也就不足为奇了。Google在自动化这些步骤上的成功是其同竞争者相比更有成本优势的一个关键方面。
同样也不足为奇的是像Perl、Python、PHP、和当前的Ruby这样的脚本语言在Web 2.0公司中扮演着重要角色。Sun公司的第一个网管哈桑·施罗德Hassan Schroeder曾对Perl有一个著名的形容“互联网的管道胶带”the duct tape of the internet。事实上动态语言常常被称为脚本语言并被软件制品时代的软件工程师所贬低是系统和网络管理员以及创建可经常更新的动态系统的程序开发者们所喜爱的工具。
2. 用户必须被作为共同开发者来对待这是从对开放源码开发实践的一种反思中得出的即便所涉及的软件不太可能以开放源码授权方式来发行。开放源码的格言“早发布并常发布”release early and release often事实上已经演变成一种更为极端的定位“永远的测试版”the perpetual beta。其中产品在开放状态下开发新的功能以每月、每周、甚至每天的速度被加入进来。Gmail、Google Maps、Flickr和其他类似的服务可能会在某个阶段打着测试版的标识多年。
故此实时地监测用户行为来考察哪些新特性被使用了以及如何被使用的将成为另外一种必须的核心竞争力。一位工作于一个主要在线服务网络商的开发者评论道“我们每天在网站的某些部分提供两到三个新的特性而且如果用户不采用它们我们就将其撤掉。如果用户喜欢它们我们就将其推广到整个网站。”
Flickr的总开发师卡尔·亨德森Cal Henderson透露了他们是如何在短至每半个小时就部署一个新版本的。显而易见这是同传统方式有天壤之别的开发模式。虽然不是所有的网络程序都以像Flickr这样的极端方式来开发但几乎所有网络程序都有一个同任何PC或者客户-服务器时代截然不同的开发周期。正因如此ZDnet杂志才论断Microsoft不会打败Google“Microsoft的商业模式依赖于每个人在每两到三年都升级他们的计算环境。Google的模式则依靠任何人每天在其计算环境中自行探索新东西。”
虽然Microsoft已经体现了从竞争中学习并最终做得最好的强大能力但是毫无疑问这一次的竞争要求Microsoft可以扩展到任何现存的软件公司来成为一种在深入层面上显著有别的公司。天生的Web 2.0公司在享受自然而然的优势因为它们不需要去摆脱陈旧的模式及其相应的商业模式和营收来源。
4.6轻量型编程模型
一旦网络服务的观念深入人心大型公司将以复杂的网络服务堆栈来加入到纷争之中。这种网络服务堆栈被设计用来为分布式程序建立更可靠性的编程环境。
但是就像互联网成功正是因为它推翻了许多超文本理论一样RSS以完美的设计来取代简单的实用主义已经因其简单性而成为大概是应用最广泛的网络服务而那些复杂的企业网络服务尚未能实现广泛的应用。
类似地网络服务有两种形式一种坚持SOAP(Simple Object Access Protocol简单对象访问协议网络服务堆栈的形式主义另一种则简单地在HTTP协议之外提供XML数据这在轻量型方式中有时被称为RESTRepresentational State Transfer代表性状态传输。虽然商业价值更高的B2B连接例如那些在Amazon和一些像ToysRUs这样的零售伙伴之间的连接使用SOAP堆栈但是根据Amazon的报道95%的使用来自于轻量型REST服务。
同样的对简易性的要求可以从其他“朴实的”网络服务中见到。Google的Google地图的推出就是一个例子。Google地图的简单AJAXJavascript和XML的结合接口迅速被程序高手们破译被随即进一步将其数据混合到新的服务之中。
地图相关网络服务已经存在了一段时间例如像ESRI那样的GIS地理信息系统以及从MapQuest和Microsoft的MapPoint。但是Google地图以其简洁性而让世界兴奋起来。虽然从前销售商所支持的网络服务都要求各方之间的正式约定但Google地图的实现方式使数据可以被捕获于是程序高手们很快就发现了创造性地重用这些数据的方法。
这里有几条重要的经验
1. 支持允许松散结合系统的轻量型的编程模型。由企业开发的网络服务堆栈的复杂设计是用来促成紧密结合的。虽然这在许多情况下是必须是但是许多最重要的应用程序可以事实上保持松散结合甚至是脆弱的结合。Web 2.0的理念同传统的IT的理念迥然不同。
2. 考虑聚合syndication而不是协调coordination。简单的网络服务例如RSS和基于REST的网络服务是用来向外聚合数据但并不控制其达到连接的另外一端时发生的事情。这种想法是互联网本身的基础一种对所谓端到端原则的反映。
3. 可编程性和可混合性设计。像最初的互联网一样RSS和AJAX这样的系统都有此共同点重用的障碍非常低。许多有用的软件事实上是开放源码的而即便它不是也没有许多东西来保护其知识产权。互联网浏览器的“查看源文件”选项使得许多用户可以复制其他任何用户的网页RSS被设计得使用户能够在需要的时候查看所需要的内容而不是按照信息提供者的要求最成功的网络服务是那些最容易采纳未被服务创建者想到的新的方向。同更普遍的“保留所有权利”all rights reserved相比随着创作共用约定而普及的“保留部分权利”Some Rights Reserved一词成为一个有益的指路牌。
轻量型商业模型是对轻量型编程和轻量型结合的一种自然产物。Web 2.0的理念善于重用。一种像CITE classhighlighthighlighttrue/CITE这样的新服务是通过将两个现存服务抓取到一起来简单地创建起来的。还没有商业模式目前为止但对于许多小规模的服务Google的AdSense或Amazon的associates fees计划或者两者都是为同类服务提供了营收模式。
这些案例为Web 2.0的另外一个关键原则提供了启发我们将之称为“装配中的创新”。当商品组件充裕时你可以通过以新颖的或者有效的方式来装配这些组件来创建价值。很像PC革命为硬件商品装配提供了许多创新的机会其中像Dell这样的公司创造了这种装配的科学并从而打败了那些商业模式上要求产品开发方面的创新的公司我们相信Web 2.0为各个公司提供了通过在利用和整合由其他人提供的服务方面逐渐完善来赢得竞争的机会。
4.7软件超越单一设备
另外一个值得一提的Web 2.0特性是Web 2.0已经不再局限于PC平台这样一个事实。在对Microsoft的告别建议中长期的Microsoft开发者戴夫·斯塔兹Dave Stutz指出“超越单一设备而编写的有用软件将在未来很长一段时间里获得更高的利润”。
当然任何的网络程序都可被视为超越单一设备的软件。毕竟即便是最简单的互联网程序也涉及至少两台计算机一个负责网络服务器而另一个负责浏览器。而且就如我们已经探讨过的在将网络作为平台的开发中把这个概念拓展到由多台计算机提供的服务而组成的合成应用程序中。
但是如同Web 2.0的许多领域一样在那些领域中“2.0版的事物”2.0-ness并不是全新的而是对互联网平台真正潜能的一种更完美的实现软件超越单一设备这一说法赋予我们为新平台设计程序和服务的关键性的洞察力。
迄今为止iTunes是这一原则的最佳范例。该程序无缝地从掌上设备延伸到巨大的互联网后台其中PC扮演着一个本地缓存和控制站点的角色。之前已经有许多将互联网的内容带到便携设备的尝试但是iPod/iTunes组合却是这类应用中第一个从开始就被设计用于跨越多种设备的。TiVo则是另外一个不错的例子。
iTunes和TiVo也体现了Web 2.0的其他一些核心原则。它们本身都不是网络程序但都利用了互联网平台的力量使网络成为其体系中无缝连接的、几乎不可察觉的一部分。数据管理显然是它们所提供的价值的核心。它们也是服务而非打包的程序虽然对于iTunes来说它可以被用作一个打包的程序来仅仅管理用户本地的数据。不仅如此TiVo和iTunes都展示了一些集体智慧的方兴未艾的应用。虽然对于每个情况其实都是同网络IP入口的周旋。iTunes中只有有限的参与体系虽然增加的播客podcasting将这一规则规律性了不少。
这正是我们希望看到伟大变革的Web 2.0领域中的一个随着越来越多的设备正连接到这个新的平台中来。当我们的电话和汽车虽不消费数据但却报告数据时可能会出现什么样的程序呢实时的交通监测、快闪暴走族flash mobs、以及公民媒体只不过是新平台的能力的几个早期警示。
风险投资家保罗·科德罗斯基Paul Kedrosky 写道“关键在于去寻找一种你共识相左的具有可操作性的投资”。有趣的是我们注意到Web 2.0的每个方面都涉及到同共识的分歧每个人都在强调保持数据隐私的重要性而Flickr/Napster等等却使其公开化。这并非只是为了分歧而分歧比如追求宠物食在线而是在可以从中创建出一些东西的地方发生分歧。Flickr缔造了社区Napster创造了收藏的广度。
另外一种看待这种现象的方式就是成功的公司都放弃了一些昂贵但被认为重要的东西以便免费获得一些有价值的曾经昂贵过的东西。例如维基百科全书放弃了集中的编审控制以作为对速度和广度的回报。Napster放弃了“目录册”的想法列出所有销售商正在销售的歌曲并因此获得了广度。Amazon放弃了用于一个实体店面的想法却从而服务于整个世界。Google放弃了大众用户开始的时候却得到了80%的其要求从前未被满足的用户。下面的说法很有一些合气道借力打力的精神“你知道你是对的——整个世界的人都绝对可以更新这篇文章。而且你猜怎么着这对你是个坏消息”。
——内森·托克英顿Nat Torkington
4.8丰富的用户体验
最早可以追溯到1992年魏培源Pei-Yuan Wei开发的Viola浏览器互联网就被用来在网页浏览器中传送“小程序”applet和其他一些活动内容。1995年Java的引入就是围绕着这样的小程序的传送。JavaScript和后来的DHTML都被作为轻量型方式引入来为客户端提供可编程性和丰富的用户体验。几年以前Macromedia缔造出“丰富的互联网应用程序”Rich Internet Applications一词该词也被Flash的竞争者开放源码的Laszlo系统使用以便凸显Flash不仅可传送多媒体内容而且可以是GUI图形用户界面方式的应用程序体验。
然而互联网传递整个应用程序的潜能在Google引入Gmail之前一直没有成为主流紧接着就是Google地图程序一些基于互联网的带有丰富用户界面以及PC程序等同的交互性的应用程序。在网络设计公司Adaptive Path的耶希·詹姆斯·加莱特Jesse James Garrett的一个讨论会论文中Google所使用的这组技术被命名为AJAX。他写道
Ajax不是一项技术。它其实是几项技术每项技术自身都很繁荣它们以强有力的全新方式结合起来。Ajax涵盖
-- 运用XHTML和CSS实现基于各种标准的展示。
-- 运用文档对象模型Document Object Model实现动态显示和交互。
-- 运用XML和XSLT实现数据交换和操作。
-- 运用XMLHttpRequest实现异步数据检索。
--JavaScript将所有这些绑定到一起。 AJAX也是Web 2.0程序的一个关键组件例如归属Yahoo!的Flickr37signals的程序basecamp和backpack以及其他Google程序例如Gmail和Orkut。我们正在步入一个史无前例的用户界面创新阶段因为互联网开发者们终于可以创建像本地基于PC的应用程序一样丰富的网络程序了。
有趣的是许多正被探索的功能已经存在了很多年了。90年代后期Microsoft和Netscape都对终于被认识到的那些功能有所洞察但是它们对于所要采用的标准的争斗使得实现跨浏览器的应用程序变得困难。仅在当初Microsoft确定无疑地赢得了浏览器之战的时候而且那时事实上只需要针对一个浏览器标准编写这种程序才成为可能。同时虽然Firefox在浏览器市场中重新引入了竞争但至少我们还没有看到对互联网标准的破坏性的争夺以至于我们倒退到90年代。 5.设计模式
在“模式语言”A Pattern Language一书中克里斯多夫·亚历山大Christopher Alexander为精炼描述对于体系结构问题的解决方案开了一种格式上的处方。他写道“每个模式都描述着一种在我们的环境中一遍又一遍地出现的问题并因此描述了对该问题的核心解决方案。以此方式你可以使用该方案上百万次而从不需要重复作同样的事情。”
5.1长尾
小型网站构成了互联网内容的大部分内容细分市场构成了互联网的大部分可能的应用程序。所以利用客户的自服务和算法上的数据管理来延伸到整个互联网到达边缘而不仅仅是中心到达长尾而不仅仅是头部。 应用程序越来越多地由数据驱动。因此为获得竞争优势应设法拥有一个独特的难于再造的数据资源。
5.2 用户增添价值
对互联网程序来说竞争优势的关键在于用户多大程度上会在你提供的数据中添加他们自己的数据。因而不要将你的“参与的体系”局限于软件开发。要让你的用户们隐式和显式地为你的程序增添价值。
5.2 默认的网络效应
只有很小一部分用户会不嫌麻烦地为你的程序增添价值。因此要将默认设置得使聚合用户的数据成为用户使用程序的副产品。
5.3 一些权力保留
知识产权保护限制了重用也阻碍了实验。因而在好处来自于集体智慧而不是私有约束的时候应确认采用的门槛要低。遵循现存准则并以尽可能少的限制来授权。设计程序使之具备可编程性和可混合性。
5.4 永远的测试版
当设备和程序连接到互联网时程序已经不是软件作品了它们是正在展开的服务。因此不要将各种新特性都打包到集大成的发布版本中而应作为普通用户体验的一部分来经常添加这些特性。吸引你的用户来充当实时的测试者并且记录这些服务以便了解人们是如何使用这些新特性的。
5.5 合作而非控制
Web 2.0的程序是建立在合作性的数据服务网络之上的。因此提供网络服务界面和内容聚合并重用其他人的数据服务。支持允许松散结合系统的轻量型编程模型。
5.6 软件超越单机
PC不再是互联网应用程序的唯一访问设备而且局限于单一设备的程序的价值小于那些相连接的程序。因此从一开始就设计你的应用程序使其集成跨越手持设备PC机和互联网服务器的多种服务。