级别: 中级 Uche Ogbuji (uche@ogbuji.net), 合伙人, Zepheira
2007 年 9 月 18 日 从 Wikipedia 获取经验,学习如何鼓励用户向您的 Web 站点贡献内容。Wikipedia 以开源技术为基础,注重地理多样性和潜在的用户访问需求。它提供工具帮助用户贡献内容,同时也营造了一种由更广泛的社区来核查和讨论用户贡献的氛围。
Wikipedia 是一个为人们广泛熟悉和讨论的 Web 2.0 Web 站点。对于那些认为应该开放数据并实现免费使用和重用的人来说,Wikipedia 是他们的最爱,并且用户贡献可推动社会和文明的发展。而对于那些认为开放数据将导致不可靠的混乱和不一致知识的人来说,Wikipedia 则是噩梦,认为它是送给那些制造垃圾信息的网络机器人和垃圾邮件发送者的天堂。无论您是认同信息通用还是集中管理,您将发现大量有关这些话题的讨论 — 但并不在本文中。然而 Wikipedia 的一项绝对不存在争议的成就就是大量的用户贡献。如果您正在开发一个 Web 站点,希望企业能够从开放数据变革(一个 Web 2.0 式的时髦词)中受益,这些海量的用户贡献也许就是您最希望得到的。您希望用户对网站作出贡献并因此使您的产品增值,产生销售人员所谓的网络效应,而其中的原理就是用户贡献越多,产生的价值越高,接着吸引更多的用户,等等。Wikipedia 就是一个很好的例子,它成功制造了这种效应,通过本文您将了解构成 Wikipedia 架构的元素,可以通过它们利用用户生成的内容开发自己的站点。
Wikipedia 简介
Wikipedia 条款的前两段就很好地介绍了该项目的主旨。
[Wikipedia] 项目是一个基于 web 的、多语言的、内容开放的百科全书。Wikipedia 由来自世界各地的自愿者合作编写。一般情况下,通过 Internet 访问的任何人都可以编辑其中的文章,并且通过单击 edit this page 链接就可实现。Wikipedia 这个名称是由单词 wiki(一种协作式站点)和 encyclopedia 组合而成。由于它创建于 2001 年,已快速发展为最大的 Web 资料站点之一。
在每篇文章中,链接将指引用户找到有关的文章,通常还伴随有其他信息。Wikipedia 欢迎任何人向其中添加信息、交叉参考引用,只要他们遵守 Wikipedia 的编辑规则和适当的标准。在添加或利用信息时,用户无需担心自己的行为会损害 Wikipedia,因为其他编辑会始终指出或纠正一些明显的错误,并且 Wikipedia 的软件(称为 MediaWiki)经过精心设计,可以轻易地消除编辑错误。
对于用户生成内容站点的开发人员来说,以上描述中的一些概念非常易于理解:
- “多语言性” — Wikipedia 是一个经过良好国际化的项目,它的国际化范围非常广,使来自世界上每个角落的人都可以方便地贡献内容。您不必像 Wikipedia 那样实现如此程度的国际化,但是请记住,项目的要求越低,其用户群的种类就可能越单一,因此您应该考虑如何避免将各种类型的贡献者置之门外。对任何国际化问题进行常见的权衡,并使用文档证明,同时尽量将这些问题公开,从而可以在站点发展壮大的同时快速解决此类问题。可访问性同样如此。如果希望用户对站点做贡献,您必须展现对他们自身需求的重视,这包括残疾人士的需求以及那些使用受限制 Web 技术(例如移动设备浏览器)的用户。
- “协作性” — Wikipedia 的成功不仅在于发布 “在此处添加您的贡献” 这种表单然后期望用户这样做。它具有一套完整的体系鼓励用户进行协作来生成内容。这套体系的主要部分位于与每篇文章建立连接的讨论页面和编辑式标记系统,后者允许用户吸引那些可能希望帮助改善内容的人员的注意力。
- “可由任何人编辑” — Wikipedia 鼓励贡献者创建帐号,但也允许他们在不创建帐号的情况下作出贡献。这也许超出了您所认同的范围,因为滥用信息确实是个问题,但这却是构成 Wikipedia 网络效应的庞大部分。您也许永远不会像 Wikipedia 那样产生如此多的问题,但 Wikipedia 的流行性也意味着有大量的贡献者在清理这些滥用的更新。
- “编辑规则” — 始终坚持良好设计的策略进行发布和实现是关键所在。如果对滥用信息采取操作,您需要能够参考支持操作的使用条款。如果用户觉得您在处理其贡献方面非常随意,他们可能不愿意参与进来。制定的第一个策略可能是您的隐私策略,不仅因为这是用户的要求,而且在很多情况下这也是一种法律需求。
- “MediaWiki” — 作为 Wikipedia 基础的软件是开放源码的,可用于其他项目。对于经常留意自己作出贡献的站点的用户来说,公开您自己的站点所使用软件的一部分(至少)可以视为一种友好的行为,反过来将有助于实现信息通用。
选择正确的引擎
Wikis 已经存在有一段时间,软件开发团队通常将其作为一种粗糙的项目管理和交流工具。MediaWiki 是针对 Wikipedia 项目通过大型协作开发而来。这是一个 PHP 项目,使用 MySQL 或 PostgreSQL 存储数据。其中一个最强大的特性就是 MediaWiki 称之为模板 的特性,它类似于其他协作式 Web 系统中的标记,而与面向对象设计中的类别模板不同。例如,它允许对有争议的页面内容进行标记,否则不会正确地引用源代码。 这种项目的创建并不是最简单的,但对于管理员来说,如果您的协作式软件需求适合使用 Wiki 方法,您也许需要考虑采用这种经过良好测试的软件。
为贡献设置更低的门槛
用户对 Web 站点作出贡献通常是一种自发的行为。某个用户可能会访问一个电影评论站点,发现自己完全不赞成站点中已发布的一些电影评论,他决定发布自己的评论来纠正这些观点。如果必须花费大量时间填写一个很长的注册表单或者首先需要遵守所有其他的条款,则很可能会扼杀了发布评论的激情。某些时候,您确实需要从一些希望成为贡献者的人们那里获得信息,以一种谦虚的态度收集信息是十分重要的(如果可能的话)。在进行第一次注册时,您可以只要求用户提供注册名、密码和电子邮件地址。您可以为那些提供地址和职业信息的用户提供一些高级的特性。也许您可以进一步发挥,对那些完成调查的用户给予奖励。一种系统化的管理方法就是创建一个信息地图,其中包含您能够从用户那里收集到的所有信息,根据其所做贡献的程度进行组织,最可能的例外就是隐私信息和信息的风险(例如提供信用卡号码极具风险)根据用户信息地图设计您的系统,以解决奖励和安全性问题。
编辑帮助
如果具有方便的工具,则能够从用户那里获得更丰富的信息。Wikipedia 就设法为用户提供这类强大的编辑工具,wikEd 就是其中的一种。通过向您的用户配置文件中添加一个简单的模板 {{subst:wikEd}},您可以支持能简化良好 wiki 标记输入的编辑器。图 1 展示了我的 Wikipedia 帐户下的一个编辑会话,其中正在编辑 IBM developerWorks 文章。所有其他的按钮和突出显示是 wikEd 提供的特性,否则用户只能得到一个简单的文本并且必须记住所有相关的 Wiki 标记和其他特性。wikEd 还可以与其他 MediaWiki 工具结合使用。
图 1. 在 Wikipedia 中使用 wikEd 编辑会话
信任用户,但也要进行检验
使用工具和巧妙的设计方便用户作出贡献,这向您的用户显示出您完全信任他们可以提供有价值的内容。遗憾地是,Internet 的公共性意味着很多用户将会滥用这种信任,因此您必须立即对此作出规划。大量滥用源于由机器生成的内容,一些站点使用诸如视觉谜题这样的技术,确保是由人员填写的表单而不是由机器直接发送的 Web 请求。当考虑使用这些技术时,确保考虑到网络的可访问性。失明的用户无法看到您布置的视觉谜题,而使用便携设备的用户可能由于显示失真同样无法辨认。最好的办法就是构建多层检验系统,包括测试 URL 是否来自广告商,或者配备编辑团队对贡献进行监视和检验。如果编辑团队的成员有时也会发表自己的评论,他们也可以充当用户进行进一步会话的源头,通过团队成员亲自参与,增强信任氛围。在很多成功的站点中,编辑团队组成了完整的社区。Wikipedia 通过提供与每个页面的向后通道(back-channel)增强了这种交互,这是一种并行的讨论页面,团队成员可以导航文章的内容并进一步解释标记和其他编辑操作。
集成技术
目前,用户对现在的 Web 站点具有一些一般性期望,满足这些期望是营造协作文化的关键。
例如,用户期望获得他们所关注的站点的所有信息的 Web 提要。Wikipedia 和 MediaWiki 软件在 Web 提要方面尤为突出,从而能够及时跟踪网站更新。这样,如果某个用户着迷于某篇文章,他可以密切关注文章的最新进展。清单 1 展示的示例来自于一篇 IBM developerWorks 文章的 Wikipedia 提要,只包含一个条目,表示最新的修改,以及很多小的调整,以满足格式要求。
清单 1. Wikipedia IBM developerWorks 文章的更新提要的片段
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<id>http://en.wikipedia.org//w/index.php?title=IBM_DeveloperWorks&action=history</id>
<title>IBM DeveloperWorks - Revision history</title>
<link rel="self" type="application/atom+xml"
href="http://en.wikipedia.org//w/index.php?title=IBM_DeveloperWorks&action=history"/>
<link rel="alternate" type="text/html"
href="http://en.wikipedia.org/w/index.php?title=IBM_DeveloperWorks&action=history"/>
<updated>2007-08-09T22:55:35Z</updated>
<subtitle>Revision history for this page on the wiki</subtitle>
<generator>MediaWiki 1.11alpha</generator>
<entry>
<id>
http://en.wikipedia.org/w/index.php?title=IBM_DeveloperWorks&diff=138026693
&oldid=prev</id>
<title>Chris Chittleborough: Undid revision 137942824 by 76.21.123.38 (talk) -
old URL works, no need for query string</title>
<link rel="alternate" type="text/html"
href="http://en.wikipedia.org/w/index.php?title=IBM_DeveloperWorks&diff=138026693
&oldid=prev"/>
<updated>2007-06-14T00:18:33Z</updated>
<summary type="html">
<p><a href="/wiki/WP:UNDO"
title="WP:UNDO">Undid</a>
revision 137942824 by <a
href="/wiki/Special:Contributions/76.21.123.38"
title="Special:Contributions/76.21.123.38">76.21.123.38</a>
(<a href="/w/index.php?title=User_talk:76.21.123.38&amp;action=edit"
class="new" title="User talk:76.21.123.38">talk</a>)
- old URL works, no need for query string</p>
</summary>
<author><name>Chris Chittleborough</name></author>
</entry>
</feed>
|
该提要使用 Atom 格式,您可以看到提要标题如何传达对修改的描述,而摘要部分提供了详细的细节(这里显示的仅是简化后的摘要,实际提要的摘要非常长)。由于摘要内容是自动生成的,因此使用 XHTML 格式要优于使用 HTML 文本类型,这样其他的代码可以很轻易地访问具体的信息。也许您可以在自己的站点对这一项进行优化。
结束语
将您的系统公开,使用户可以向其中贡献内容,这是件很恐怖的事。您需要处理新的可用性、法律、政策和数据质量问题,并且这仅限于处理信任的用户。您还将自己公开给一些非法的代理,他们将引发各种问题。对于后一种问题,很多人指出被当作滥用信息的目标仅仅是在参与经济中提供重要服务的一部分。Rafe 定律精炼地概括了这一点,它认为 “除非 Internet 服务能够吸引那些广告商,否则它们并不算真正成功的服务”。Cory Doctorow 等 Internet 专家作出了相似的论断。总之,通过使用架构基础并重用来自成功项目(Wikipedia)的代码和工具,您可以减少开放站点接受用户贡献产生的问题。
为您的用户提供所有现代 Web 站点具备的工具,使他们能够编写自己的代码并进行组合。您可以在前几期 真正的 Web 2.0 系列文章 中找到一些有关如何实现的示例,事实上,已经有人创建了 Wikipedia 搜索书签,它非常类似于我在 上一篇文章 介绍的 IBM developerWorks 书签。站点提供的使用方法越多,用户作出贡献的机会也越多,也越容易受到鼓舞。用户喜欢持有数据的感觉,包括在其他人的服务器上生成的数据。通过使用户在其他位置重用数据,可以消除他们对于您会将其提供的信息永久锁定的顾虑。这也体现了一些自信,激励用户在您的 Web 站点中增强网络效应。
参考资料 学习
获得产品和技术
-
尝试使用 Wikipedia 的引擎 MediaWiki。
-
wikEd 是一种可更方便地编辑 Wikipedia 的工具,可与其他 MediaWiki 工具结合使用。
讨论
关于作者  | 
|  | Uche Ogbuji 是 Zepheira, LLC 的合伙人,该公司致力于研究下一代 Web 技术的解决方案。Ogbuji 先生是 4Suite 和 Versa RDF 查询语言的首席开发人员,前者是一个用于 XML、RDF 和知识管理应用程序的开放源码平台。他是一名出生于尼日利亚的计算机工程师和作家,现在美国科罗拉多州的博耳德生活和工作。您可以在他的 Weblog Copia 进一步了解 Ogbuji 先生。 |
对本文的评价
|