要问我喜欢的公司有,我想小米可能是其中之一吧。如今小米早已成长为一个家喻户晓的品牌,在感叹其骄人的成就之时,不免好奇它背后的成因。当然了,任何一件事物的成功,其背后绝非单一因素之功。
不久之前,我在偶然的机会下,读到了一本书,它讲的内容跟小米有关。它就是——《参与感》(作者黎万强)
我觉得书名起的很好,跟主旨紧密相连。通篇读下来,感觉就是说,小米在开发新产品时,跟别的公司不一样,它是完全的让用户参与了进来,二者紧密联系、相互配合,努力,共同打造出了一个又一个好的、伟大的产品来。
但是再回头看看我们的Web世界呢?截止到目前为止(这里是2000年左右),用户还是只能被动的接受一些东西,对Web页面也是只能看看而已。不禁发出感慨:“纵使才如子建,也空无用武之地呀!”
“我想要参与进来!”
“快看,我正在参与……”
1. 维基百科
维基百科是一个人人都可以参与进行书写的电子版百科全书
1996年8月7日,维基百科的创始人之一,吉米·多纳尔·威尔士。出生于美国 阿拉巴马州 的一个偏僻小镇。(阿甘正传里的阿甘也出生在这里)
父亲是杂货店经理;母亲和祖母则经营着小型私立学校,威尔士就是在那里受的教育。
1989年,威尔士获得了 奥本大学金融系 的本科和硕士学位,后来又取得了 印第安纳大学 的经济学博士学位,研究方向则是 期权定价。
1995年时,发生了一件看似和当时的威尔士没关系的事情:
“一个名叫沃德·坎宁安的资深软件开发者,开发了一种能在Web的基础上对文本进行浏览、创建、更改的社群协作式写作技术,并把它取名为wiki。”
而就在6年后,威尔士正是应用的该技术,建立了 维基百科。
它是真正的实现了,用户也能参与到应用的构建中来。发挥大家的力量。截止到2020年1月24日,据媒体报道,维基百科的文章数量已突破600万篇!
2. 掘客网(Digg)
2004年,27岁的凯文·罗斯(Kevin Rose)想到了一个创建新网站的创意:
在这个网站里,任何用户都可以提交一个新闻故事,并且允许其他用户来“挖掘它”。它会提供一个类似于社区投票的功能,也就是说,大家都可以对某一个新闻故事进行投票,打分。分数高的新闻还会登上头版头条,相反就会被“沉没”。
很快,罗斯就找人开发了这个网站,并于2004年12月5日上线。
后面的情况,可以说好的不行了。不到两年的时间,掘客网的流量几乎与《纽约时报》的网站一样多呢,基本上每天都有100多万人登录这个网站,“挖掘”成千上万个新闻故事。
这么看来,罗斯的商业模式很成功!
3. Youtube
2004年底,3名贝宝的前员工:查德·赫利、陈士骏和贾韦德·卡里姆在思考一个问题:
现在大家可以很容易的在网上发布一张照片、一篇博文的,那么为什么不能支持在网上发布视频呢?而视频的展现形式会更吸引人。
于是,按照这个想法,三人就开发了一个专门用于上传视频的网站,这就是后来的Youtube。它允许或者更确切的说是鼓励用户上传视频内容,而这个视频绝不是说必须得是很高的接近电影的制作水准;相反,用户可以上传自己想上传的任何东西,不论这些内容有多傻、多无聊。
同样的,后来Youtube也取得了巨大的成功,现在号称是全球最大的视频网站。
…………
像这样“让用户参与进来”的应用,在这一时期,如雨后春笋般不断的涌现出来。他们都获得了成功。渐渐地,人们开始注意到,互联网上好像出现了一种新的力量,它们的共性可归纳为:
- 具有长尾效应;
- 整合了大众的智慧;
- 用户会根据自己的想法,去创建内容。
而这种新的力量在,2004年的一次会议中,由互联网的先驱、O'Reilly的副总裁,Date Dougherty提出,至此Web 2.0的概念由此诞生。
…………
技术是支撑商业变革背后的力量,而在Web 2.0的时代,有这么一项技术,那是非提不可的!它就是AJAX。(全名为:Asynchronous Javascript And XML,即异步JavaScript和XML)
AJAX技术,最早可以追溯到1998年前后,当时微软的一个应用程序Outlook Web Access就应用了AJAX,它允许客户端脚本发送HTTP请求……这样让它在当时一众的网络邮件产品中,脱颖而出。但是直到后来的2005年,Google推出了Google地图、Google搜索建议、Gmail等功能或应用程序时,人们顿时被它的即时体验所吸引,而大家都在好奇,这背后是怎么实现的呢?
秘密就在于Google使用了AJAX技术!而这个AJAX到底有什么魔力呢?下面我们就一探究竟。
早期的Web应用,在页面加载完成后,显示的内容就不会发生变化了。此时,我们只能单纯的去浏览页面,它完全不支持用户后续的操作。或者更确切的说,哪怕用户做出了某一个操作,往往也是会通过向服务端发送http请求来完成,用户就会以看到页面刷新的形式得到响应。这样的体验说实话实在不好!
比如说,前面提到的掘客网,它会有一个新闻的列表,我们可以对列表的每一项进行投票和打分,这属于加载完页面后的用户操作了。假设,我看到其中有7~8个新闻都很好,我就都给它们投喜欢的票。理论上说,投完票后,每个新闻下面的投票数量会有相应的变化,这就需要请求服务端拉回最新的数据。
大家想想,此时的情景就是我投完一票后,页面就刷新一下。这样连续刷新了7~8次……
而AJAX的出现就是为了要解决这个问题,它的最大优点便是:
能在不更新整个页面(感官上就是页面的刷新)的前提下,局部更新数据。能更为迅速的回应用户的操作。
那么AJAX又是怎么实现的呢?
-
首先AJAX不是一门严格意义上的新技术,而是把多个已有的技术组合起来形成的。具体表现为:
a. 在
显示层面,采用当时被确定为标准的:XHTML和CSS;b. 使用
DOM来动态的展示和更新页面的内容;c. 数据的交换和处理,使用的是
XML和XSLT;d. 使用
XMLHttpRequest来异步的获取数据;e. 使用
JavaScript来连接这些功能,以达到最终的效果。
如上图所示,相比于之前的方式,AJAX关键就在于,它会引入一个名叫AJAX引擎的中间层,来避免客户端和服务端直接进行通信。而在这个中间层去做一些事,来克服之前直接通信所带来的不可避免的缺陷。
此时,它会这样做:
- 在会话刚开始时,浏览器会先去加载一个AJAX引擎,而这个引擎会被放到一个
隐藏的frame中。 - 接着,它会负责渲染用户看到的界面。
- 当用户进行操作后,它就会代表用户与服务器进行通信。
- 当服务器返回数据后,会先到AJAX引擎这里,然后再由它来进行页面的局部更新。
很显然,这个过程是交给了第三方来处理的,此时,客户端并没有向服务端发送请求。它看起来,就好像异步去完成的!