胡狼狼@江湖

姓名:
位置: Beijing

星期三, 十月 26, 2005

长尾理论挑战二八定律

长尾理论挑战二八定律
近日在AdAge上看到北美广播巨头纷纷有大动作,心想莫非失落的媒体卷土重来?开始关注并尝试着写一篇观察出来。在纷繁复杂的相关行业信息中搜索的过程中,碰到Podcasting(中文暂时有部分尝鲜者译为“播客”)这个新概念,基于RSS技术的Podcasting和Blog如出一辙,只是信息载体不同于Blog的文字而是声音,广播厂商利用此技术让受众能够轻松下载想听的内容到便携式音乐设备,方便随时收听;另一方面,卫星广播推出订阅服务,将一些更深入的内容,更独家的访问作为收费服务,创造了一定规模的固定忠实用户,对于广告主和媒体公司而言,其蕴涵巨大商机。
原来新时期的广播行业已经慢慢褪去大众媒体的光彩,摇身一变针对固定细分市场的分众媒体。XM和Siruis纷纷推出更细分更专业的广播频道,而新的广播公司通过传媒巨子的合作也粉墨登场。融合了互联网技术后,广播行业呈现出一股新气象。
追根溯源,必然会有理论依据支撑行业现象。于是,长尾理论出现,和二八定律产生直接冲突。所谓长尾理论(The Long Tail),从统计学中一个形状类似“恐龙长尾”的分布特征的口语化表述演化而来。查阅维基百科有关“长尾”的条目,得知由一杂志主编Chris Anderson于去年十月提出,他认为,只要存储和流通的渠道足够大,需求不旺或销量不佳的产品共同占据的市场份额就可以和那些数量不多的热卖品所占据的市场份额相匹敌甚至更大。

举一个市场的例子,亚马逊网上书店成千上万的商品书中,一小部分畅销书占据总销量的一半,而另外绝大部门的书虽说个别销量小,但凭借其种类的繁多积少成多,占据了总销量的另一半。从“长尾理论”模型图中可以发现,红色区域和蓝色区域的面积大约相等。
《当代广告》和《广告和促销》两本原版专业教材让我记住了二八定律,不仅作用于营销市场。同样适用于生活中的一些存在竞争的情况。百分之二十的消费者购买百分之八十的某一类商品,而百分之八十的消费者只购买另外百分之二十的商品,厂商便称那百分之二十的消费者为”品牌忠诚者“,其数量的增加必然带动另外百分之八十的”品牌摇摆者“的数量,并保持二八比例不变。传统营销手段受制于薄弱的技术和高昂的成本,即使NIKE推出制订运动鞋的服务,也是基于大规模生产的基础和高出一般水平的价格,而互联网技术的不断发展,让我们看到了二八定律失效的可能性。
国内的三大门户网站,加上新进的TOM、QQ,和中华网、新华网一起构成网络新闻信息的供应主力部队,那么散落在各个BSP(博客服务供应商)上难以计算的博客们是不是就是那条长长的信息尾巴呢?主力网络媒体毕竟规模有限,而博客们的队伍则继续壮大,两者不同的地方只在于访问率(类比市场销量,加以思考)而已。再偏门再边缘的信息也有需要,因此我们可以说,长长的尾巴里有那些红色区域所不能满足我们的东西。换言之,如果技术的成熟和成本的保证得以完成,二八定律在互联网相关产业上便宣告失效。
窄告广在国内的异军突起是个很好的例子,窄告靠的不只是噱头十足的概念,而是创始人张向宁在万网时期就开始酝酿的上下文广告盈利模式。主流网络广告的形式不外乎横幅式、弹出式、背投式、浮动式等冲击眼球的动感模式,大部分广告主都是知名品牌和实力厂家,而上下文广告很好的运用了同网页内容的相关性和点击计费的收费模式,给予成千上万小企业和个人工作室有效推广自己到达目标受众,提高营销效率。窄告作为中国上下文广告的代表,成功占领大半主流网络媒体,如今每月收入100万元,良好的发展趋势成了同类产品GoogleAdsense本地化的最大障碍。当然,后者在欧美市场的成功同样和窄告在中国市场的爆发是同样道理,随着”长尾“越拖越长,上下文广告前景一片光明。
从目前来看,传统营销市场还是二八定律的天下,而以RSS技术为基础的Blog和Podcasting,搜索引擎广告,上下文广告,还有网上拍卖行业、网上招聘行业,公关危机在线解决方案都能够从”长尾理论“中获益。

必备的在线blog工具

必备的在线blog工具
写blog是件快乐的事,但是很难有十全十美的blog工具供你使用,再说各种工具有不少要安装等等,特麻烦,我写blog只用如下在线的编辑工具:1 功能较好的所得编辑器(WYSIWYG),尽管writely还不够丰富,我还是推荐它,它能自动保存,当然现在gmail也可以,你也可以使用gmail编辑器,这样一来就不必担心断网/死机等郁闷问题,online.thinkfree.com也不错,但是需要java虚拟机,比较麻烦;其他的在线所见即所得(WYSIWYG)编辑器从编辑功能上说,都没什么问题,ewebeditorhtml_generator都不能自动保存,写blog最怕耗费巨大热情写完了,浏览器坏了/数据丢了,又得从头再写,汗... 有基本的所见即所得工具+小代码生成器,比如你要生成一个提交按钮啊,生成一个表格布局啊什么的这些小工具都是挺方便的.2 简单的在线图像编辑器(1 2 3),来处理或者生成简单的图片而不必启动机器上达几百兆的ps软件,因为用这些专业软件处理完的图片也就用最简单的那两三种功能而已;3 refer/linkback/click go的统计分析。refer是用户访问你的网站来源统计,包括搜索引擎和关键词部分,这个功能现在大部分的计数器都有这个;linkback是指通过tarckback工具或者blog搜索的反向链接工具来分析链接你的都是那些网站(123);第三种工具就是统计分析你的blog中那些链接经常被人点击,对在blogger来说,分析点击来改善链接设置的方法等颇有益处,这个叫mybloglog工具是从webleon的网站上发现的(:致谢;4 feed转换工具,类似于feedburner/feedsky/2rss/feeddigest等,他们的作用不只是将你的分散的feed烧铸成1个完整版的,更重要的是提供一个缓冲包括你种子的url和数据的缓冲.比如说,zheng前段的klogs当了,但是订阅他的feedburner就不必担心,他会把他使用的最新空间的feed烧铸在里头。5 还有一个就是在线的定向信息获取工具,例如rss订阅bloglines,例如利用搜索引擎icerocket.com,例如利用watchlist等来阅读自己关注的主题、领域或者Blogger,但是随着时间的积累你的feed会不断的增加,1方面你要去删除1部分,另一方面你要有选择有区分的阅读,比如确定的那些必须每天都读的,而那些则不必等。总之这里头还是有点难度的。好工具很多的,只简单介绍几个。我用blogger作为发布工具,希望blogger的控制面板中能自己增加链接,把这些链接加里边,这样就不必每次都要到收藏夹里找了。

AJAX 值得关注

AJAX基础教程
  这篇文章将带您浏览整个AJAX的基本概貌,并展示两个简单的例子让您轻松上路.   什么是 AJAX?   AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人们开始意识到其重要性.   这两项被忽视的性能是:   无需重新装载整个页面便能向服务器发送请求.   对XML文档的解析和处理.步骤 1 – "请!" --- 如何发送一个HTTP请求  为了用JavaScript向服务器发送一个HTTP请求, 需要一个具备这种功能的类实例. 这样的类首先由Internet Explorer以ActiveX对象引入, 被称为XMLHTTP. 后来Mozilla, Safari 和其他浏览器纷纷仿效, 提供了XMLHttpRequest类,它支持微软的ActiveX对象所提供的方法和属性.   因此, 为了创建一个跨浏览器的这样的类实例(对象), 可以应用如下代码:
if (window.XMLHttpRequest) { // Mozilla, Safari, ... http_request = new XMLHttpRequest();} else if (window.ActiveXObject) { // IE http_request = new ActiveXObject("Microsoft.XMLHTTP");}  (上例对代码做了一定简化,这是为了解释如何创建XMLHTTP类实例. 实际的代码实例可参阅本篇步骤3.)   如果服务器的响应没有XML mime-type header,某些Mozilla浏览器可能无法正常工作. 为了解决这个问题, 如果服务器响应的header不是text/xml,可以调用其它方法修改该header.
http_request = new XMLHttpRequest();http_request.overrideMimeType('text/xml');  接下来要决定当收到服务器的响应后,需要做什么.这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应.可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示: http_request.onreadystatechange = nameOfTheFunction;   注意:在函数名后没有括号,也无需传递参数.另外还有一种方法,可以在扉页(fly)中定义函数及其对响应要采取的行为,如下所示:
http_request.onreadystatechange = function(){ // do the thing};  在定义了如何处理响应后,就要发送请求了.可以调用HTTP请求类的open()和send()方法, 如下所示:
http_request.open('GET', 'http://www.example.org/some.file', true);http_request.send(null);  open()的第一个参数是HTTP请求方式 – GET, POST, HEAD 或任何服务器所支持的您想调用的方式. 按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求.有关HTTP请求方法的详细信息可参考http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html W3C specs   第二个参数是请求页面的URL.由于自身安全特性的限制,该页面不能为第三方域名的页面.同时一定要保证在所有的页面中都使用准确的域名,否则调用open()会得到"permission denied"的错误提示.一个常见的错误是访问站点时使用domain.tld,而当请求页面时,却使用www.domain.tld.   第三个参数设置请求是否为异步模式.如果是TRUE, JavaScript函数将继续执行,而不等待服务器响应.这就是"AJAX"中的"A".   如果第一个参数是"POST",send()方法的参数可以是任何想送给服务器的数据. 这时数据要以字符串的形式送给服务器,如下所示:
name=value&anothername=othervalue&so=on 步骤 2 – "收到!" --- 处理服务器的响应   当发送请求时,要提供指定处理响应的JavaScript函数名.
http_request.onreadystatechange = nameOfTheFunction;   我们来看看这个函数的功能是什么.首先函数会检查请求的状态.如果状态值是4,就意味着一个完整的服务器响应已经收到了,您将可以处理该响应.
if (http_request.readyState == 4) { // everything is good, the response is received} else { // still not ready}  readyState的取值如下:   0 (未初始化)   1 (正在装载)   2 (装载完毕)   3 (交互中)   4 (完成)   接着,函数会检查HTTP服务器响应的状态值. 完整的状态取值可参见 W3C site. 我们着重看值为200 OK的响应.
if (http_request.status == 200) { // perfect!} else { // there was a problem with the request, // for example the response may be a 404 (Not Found) // or 500 (Internal Server Error) response codes}  在检查完请求的状态值和响应的HTTP状态值后, 您就可以处理从服务器得到的数据了.有两种方式可以得到这些数据:
http_request.responseText – 以文本字符串的方式返回服务器的响应 http_request.responseXML – 以XMLDocument对象方式返回响应.处理XMLDocument对象可以用JavaScript DOM函数 步骤 3 – "万事俱备!" - 简单实例  我们现在将整个过程完整地做一次,发送一个简单的HTTP请求. 我们用JavaScript请求一个HTML文件, test.html, 文件的文本内容为"I'm a test.".然后我们"alert()"test.html文件的内容.
Make a request  本例中:   用户点击浏览器上的"请求"链接;   接着函数makeRequest()将被调用.其参数 – HTML文件test.html在同一目录下;   这样就发起了一个请求.onreadystatechange的执行结果会被传送给alertContents();   alertContents()将检查服务器的响应是否成功地收到,如果是,就会"alert()"test.html文件的内容. 步骤 4 – "X-文档" --- 处理XML响应  在前面的例子中,当服务器对HTTP请求的响应被收到后,我们会调用请求对象的reponseText属性.该属性包含了test.html文件的内容.现在我们来试试responseXML属性.   首先,我们新建一个有效的XML文件,后面我们将使用这个文件.该文件(test.xml)源代码如下所示:
I'm a test.  在该脚本中,我们只需修改请求部分:
...onclick="makeRequest('test.xml')">...  接着,在alertContents()中,我们将alert()的代码alert(http_request.responseText);换成:
  var xmldoc = http_request.responseXML;  var root_node = xmldoc.getElementsByTagName('root').item(0);  alert(root_node.firstChild.data);  这里,我们使用了responseXML提供的XMLDocument对象并用DOM方法获取存于XML文件中的内容.

星期二, 十月 25, 2005

重回互联网

很难想象会开一个自己的BLOG,而且居然在10/25,对我来说只是一个普通的日子。

开这个BLOG的目的是把看到,想到的一些也许对以后工作有些用处东西记录下来。

开这个BLOG也是因为这篇文章,震动很大:

Google公司副总:社区、内容将取代API称王
2005-10-22 08:54 作者:红树 来源:eNet硅谷动力【eNet硅谷动力消息】

美国伯林格姆当地时间本周五,Google的副总裁博思沃斯在"Zend/PHP展会"上表示,计算的力量正在由专有技术、微软的API转向Web上的链接和内容。

博思沃斯表示,与10年前相比,计算力量已经发生了转移。许多开发人员已经不再使用C++和VisualBasic开发客户机-服务器模式的软件。他说,今天,人们更多地使用PHP、LAMP组合(Linux、Apache、MySQL、Perl/PHP/Python)。过去的应用软件都通过"控制模式"开发,微软通过API控制了软件开发。但是,目前,这种模式已经完全没有用了。

博思沃斯指出,按需计算和内容是关键的。他将在线CRM提供商Salesforce.com看作是按需计算服务提供商的典范。他说,重要的是我能够接触哪些社区和内容能够带来什么样的价值。及时更新和动态的内容是价值之所在,他说,Web上所有人的最大挑战是如何及时地发布信息。

博思沃斯还对Office进行了抨击。他说,我对人们为使用Word等工具创建内容买单感到震惊。内容将通过免费工具提供给受众。

据博思沃斯称,10年前,API意味着控制,目前占有主导地位的是链接。他说,在目前的这个世界上,API就是链接,可供使用的链接有许多。

博思沃斯指出,在线社区正在迅速发展。人们最先是开始构建内容社区,然后逐步提供对它的访问。博思沃斯还将Web论坛看作是一项重要的发展。他说,医疗健康是一个可以通过Web通讯得到改进的领域,如果数据可以方便地共享,病人将可以得到更好的医疗服务。