超越用户创建的模式:Web 2.0 和语义网络

读者: 2508    发布时间: 2007

原文: Going Beyond User Generated Software: Web 2.0 and the Pragmatic Semantic Web

I was traveling most of last week and so was unable to weigh in on the Web 3.0 mini-tempest that occurred when John Markoff published his exploratory piece in the NY Times last Sunday.  The premise of the article is that we are finding new ways to mine human intelligence which can be exploited by building a new layer of "meaning" on top of the accumulating mass of global collective intelligence that is growing by leaps and bounds every day on the Internet.  Collective intelligence of course is one key aspects of Web 2.0, namely an Internet that is continually improved by constant and sustained contact with hundreds of millions of users contributing content.  These users can either contribute explicitly via a conscious act or implicitly by their very interaction with the Web which then leaves behind useful behavioral "tracks" that can be fed back into the system.  In this ways, hundreds of millions of people are adding to what we know every day, even if individuals contributions are often minor.

Markoff's description of Web 3.0 was ostensibly prompted by something I'm seeing as well, well beyond pure play Web mashups we're beginning to witness a number of companies building end-user solutions that can automatically navigate the Internet, weave together tapestries of online information to generate new, useful results. They can even take it a step beyond: dynamically generated situational Web applications that fully interact with the Web ecosystem.  Such applications -- self-assembled by these tools -- can perform useful tasks such as planning vacations, managing personal schedules, or even orchestrating complex, collaborative business processes for example including entire real-world projects.  The vision is stunning and futuristic yet and the rich fabric of the Web today, with hundreds of open APIs and even vaster reservoirs of content and raw data, now opens the door to the possibility.

Background Reading: Take a look at eight end-user mashup platforms available today 

I've written a lot recently about the trend of user generated software, applications developed by end-users that use the openness of the Web 2.0 era to interact with high value Web services.  But already we're beginning to see the emergence of the next step beyond that: applications developed and tasks completed intelligently by software itself.  Tim-Berners Lee himself envisioned this as the coming Semantic Web which he brilliantly espoused in Scientific American a few years back and has been the goal of great many companies ever since, but which has been relatively unsuccessful on a large scale even up until now.  The reasons for this are complex but seem to lie in what we learned from Web 1.0; a priori solutions often aren't the right ones, emergent ones are .

 Web 2.0, Web 3.0, Semantic Web: Trends in Online Software

So while many might say that the 1,200+ mashups currently listed in the trend graphs on Programmable Web are mostly NOT user generated, one only has to look at the widespread use of badges and widgets on MySpace and other major social networking sites to see that everyday people are getting more and more comfortable with "turfing" their blogs and spaces with content, code, and feeds from elsewhere on the Web.  So while much of the end-user mashup activity we see today is probably shallow and don't represent sophisticated functionality, the new tools we're seeing every day are getting better and better and allowing users to take it deeper, creating a true mashup ecosystem.

The shortage of developers and application backlogs: Not finding the app you need

Here's an significant fact, if you look at the number of professional software developers out there today, they are dwarfed by the number of end-users with the time and motivation to describe the solutions that they need.  And interestingly, the same population is dwarfed by the potential output of computer systems that can be directed to create the applications or carry out the tasks we need, with minimal continuous attention on our part.

If you only look at the enterprise IT space you will see that users usually have a long list of things for which they'd like software solutions, but can't get satisfied by the traditional purchase or build processes in place in most organizations.  Every CIO out there is painfully aware of this application backlog but hasn't had the tools to address it.  And out on the Web, there's a different problem: Lots of Web sites, but little software that will do the specific things that a users needs to get accomplished.  As Steve Borch says , "sit back, relax, and let your customers create your products."

Like IBM is realizing with their exploration of end-user driven development products like QEDWiki, most of us today are already conducting much, if not most, of our software integration manually, by re-entering or cutting and pasting data endlessly between our applications.  This implies that 1) there's demand but not enough access to software that does exactly what people want and 2) there is a very low level of integration between the dozens of pieces of software that we currently use on a daily basis.

And in fact, there really is at least two ways for Semantic Web technologies (and its myriad offshoots, many of them proprietary) to improve the way that we use the Internet.  The first is in fact to provide that "layer" of meaning; making the underlying intent services and content to be made clear to programs and not just developers.  And the second is to actively exploit that layer; building software or carrying out processes intelligently on the behalf of users. 

Traditional software isn't adaptable enough: Mashups and Semantic Web Apps are a better way to do things on the fly  

Need a piece of software to manage the process of planning a wedding and its long list of attendees, suppliers, and dependencies?  How about something to coordinate the delivery of construction materials to a job site for the least total cost including materials and shipping, just in time and in the correct order as the items on the construction schedule are completed?  The possibilities in the consumer and business worlds both are truly endless and reflect that such software can at long lat perhaps fill The Long Tail of IT software demand , which could never cost effectively serve the thousands of mass customized applications that would potentially make using software a dream instead of the chore that it often becomes due to the fact that processes and not just data is what needs to be managed.

And while this -- and by "this" I mean recombinant, self-assembling software that exploits collective intelligence -- is certainly the cutting edge of software development, many companies are beginning to map out this terrain closely and I encourage you to begin tracking them along with me.  Startups and initiatives such as JackBe, Teqlo, OpenKapow, Itensil and a great many others are either wholly or partially enabling the automation of software creation and process management. Interesting, they are usually not via true Semantic Web technology, but by virtue of open, simple, easy-to-describe-and-consume services of the Web 2.0 generation .

This brings us to my last point.  In a panel earlier this year with Adam Bosworth and other notably Web lumuniaries, I responded to an audience question about the difference between Web 2.0 and the Semantic Web by saying "Web 2.0 is what happened while we were waiting for the Semantic Web." And that highlights an interesting point, that this latest generation of tools appears to be built on simple yet proprietary approaches and not on the open but formal Semantic Web technologies.  Whether this points to underlying issue with the usability of Semantic Web 1.0 is hard to say but RSS 1.0 ran into the same issue.  Thus I call this next generation of approaches the "Pragmatic Semantic Web." But I am a bit concerned about the lack of standards and this will be something to watch as we see if this next generation of online software is truly ready to sprout wings and fly. 

What other Web 3.0/Pragmatic Semantic Web companies or projects do you know about?

译文: 超越用户创建的模式:Web 2.0 和语义网络

  我上周几乎一直在旅游,所以没有能够亲身经历,因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那里所学到的;首先浮现的解决方案通常不是最正确的,但那个突然想到的却无疑是正确的
  Web 2.0, Web 3.0, Semantic Web: Trends in Online Software

  很多人可能会说现在已经有超过1200多个“混合应用”被列在Programmable Web的趋势表上,它们之中绝大多数都不是用户创建的,只要看看那些在MySpace和各种主流社会网络上广泛流行的badgeswidgets,看看人们每天不辞辛劳的在他们的博客和空间上“耕耘”,修改内容、调整代码、从互联网的各个角落寻找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 或语义网络公司和项目吗?