我上周几乎一直在旅游,所以没有能够亲身经历,因John Markoff于上周日的纽约时报上发表他的探索性文章(exploratory piece)而产生的 Web 3.0小骚动。文章以我们找到新方法以挖掘人类的聪明才智为前提,在互联网上每天飞速增长的全球集体智慧之上建立一个新的“意义”的层面,这样人类智慧即可得以开发。集体智慧是Web2.0的重要组成部分,该命名说明其内容是由数百万用户不断贡献出来的。用户可以主动贡献内容,也可以通过与网络的互动间接提供内容。就这样,数百万用户每天添加他们的知识,即使个人贡献出的内容量比较小,但成果还是相当喜人的。Markoff对于Web3.0的描述和我们现在已经开始目睹的一样,一些公司网络服务能够自动的帮助用户进行网络导航,将不同的在线信息重组成全新的、有用的结果。更有甚者能够按照当前的环境动态产生Web 应用,与Web 生态系统产生完全的交互。就像那些能够自我组装的应用程序,它们能够帮助人们完成假期计划、管理个人日程、甚至编制更加复杂的商务应用流程,和在现实世界中完成项目一样。这种景象有点科幻,但是我们拥有内容如此丰富的 Web,通过数量繁多的开放API接口、那些大量而且原始的数据,完全有打开这扇通往未来大门的可能性。
背景阅读:看看8个最终用户的混合应用平台
我最近写了不少关于用户创建软件,利用Web2.0时代的开放性,与各种Web服务进行交互,有价值的应用就能被最终用户所开发出来。但是我们现在已经能够看到下一个趋势的浮现:软件自己可以智能的创建应用和完成任务。Tim-Berners Lee自己也预见了这种语义网络时代的到来,他在几年前的《科学美国人》上就提出对这个概念的支持,也有不少的公司以此为目标,但直到现在,这种模式的网络还是没有在大范围内被成功实践。这个原因很复杂,但似乎基于我们从Web1.0那里所学到的;首先浮现的解决方案通常不是最正确的,但那个突然想到的却无疑是正确的。

很多人可能会说现在已经有超过1200多个“混合应用”被列在Programmable Web的趋势表上,它们之中绝大多数都不是用户创建的,只要看看那些在MySpace和各种主流社会网络上广泛流行的badges和widgets,看看人们每天不辞辛劳的在他们的博客和空间上“耕耘”,修改内容、调整代码、从互联网的各个角落寻找RSS feeds,并把他们放在里面。虽然我们现在可以看到这么多活跃的最终用户的“混合应用”,但是这些都比较浅显,并不能够体现较深层次上的功能性,不过我们可以看到那些新的工具正在一天天的壮大,允许用户更深入的控制,创建一个真正“混合应用的生态系统”。
开发者和程序购买单的问题:没有发现你需要的应用程序
这里有一个很明显的事实,正如你看到现在有那么多专业的软件开发人员,但是他们远远不能满足为数众多的最终用户的需求。有趣的是,同样的数量问题也存在于那些能够被控制的用来创建程序和完成我们所需任务的电脑系统上面。如果你仅仅只看那些企业的IT部门,你通常都会发现一份长长的软件解决方案清单,但是传统的购买和定制开发都难以满足大多数组织。所有的CIO们都在为从表中选中哪个工具而苦恼。但在Web上,这将是一个完全不同的问题:几乎没有软件能够帮助用户去从头到尾完整的完成一件事情。就像Steve Borch说的,“休息一下,放松一下,让你的客户来创建你的产品。”
就像IBM,他们也正在尝试由最终用户所驱动开发产品,例如QEDWiki,最终用户将自己来执行,并不是所有的软件集成都要通过那些永无止境的手工重新输入或者是拷贝粘贴数据来完成。这一切都意味着:
1)有需求的存在,但不足以被人们精确的表达出来用作软件的设计
2)在我们日常使用的那些软件之间有一种非常松散的整合(功能不会过度耦合)
事实上,的确有至少两种方式的语义网络技术,可以被我们用来改进 Internet 的使用方式。第一种是提供一个语义描述上的“层”;在它里面的服务和内容能够清晰表达给程序,而不是给开发人员。第二点是积极的使用这个“层”;让用户自己来构建软件或者是智能的执行它里面所提供的过程。
传统的软件模式将无法适应:混合与语义网络的应用才是最好的方式
需要一份软件来管理婚礼的计划,和那些参与者、物资提供者的关系列表吗?如何协调好把建筑材料运送到工地的最少费用,里面包括了材料和运输,以及按照时间和正确顺序来完成,如何控制建设项目能够如期完成?这样的软件在消费和商业的世界里都存在着无限的可能性,它能够反映出在IT应用中的长尾(Longtail)需求,我们不可能开发出数以千计的定制软件来迎合这些需求,但是使用那些潜在的“日常软件(例如通用的邮件服务、日程管理等等)”来组合成可以连贯执行的应用已不再是梦想,在这里过程(可以被程序智能感知的逻辑接口)也是需要被管理的,而不仅仅是数据。
我把这种形式的应用理解为能够利用集体智慧进行重组和自我组装的软件,毫无疑问这是一种前卫的软件开发形式,许多公司已经开始进入这个领域。那些初创的公司例如 JackBe, Teqlo, OpenKapow, Itensil 和其他参与者的已经完全的或者是部分的支持自动化的软件创建和过程管理。有趣的是,他们并没有使用真正的语义网络技术,而是通过那些开放的、简单的、容易理解和描述的 Web 2.0 时代的服务来实现的。
现在是我的最后一个观点。在今年的早些时候我和 Adam Bosworth 还有一些其他的Web 传教士们,答复了一个听众关于Web 2.0 和语义网络之间区别的问题,“Web 2.0 是语义网络的初级阶段”。这里有一个有趣的问题,最新一代的工具似乎是建立在简单的私有的方式之上的,而不是利用那些正式开放的语义网络技术。这是否会影响到语义网络 1.0 的可用性还很难说,但至少RSS 1.0 已经被广泛采用了。所以我把这称之为新一代的“务实语义网络”。但我有点担心缺乏标准的支持,不过这种下一代的在线软件是否能够展翅高飞我们将拭目以待。
你还知道有那些其他的 Web 3.0 或语义网络公司和项目吗?