在 developerWorks 中,我们相信社会计算、Web 2.0 和在线社区将对业务、项目、各行各业甚至开发方法产生革命性的影响,正如 Internet 或开源运动一样。像 developerWorks 这样发展多年的诸多网站所面临的挑战是如何统一现有的社区服务和社会性网络工具。
针对于此,developerWorks 空间系统应运而生:在这个空间内,您可以接触到很多志同道合者,甚至可以在 developerWorks 创建您自己的免费社区。您现在就可以浏览我们的 13 inaugural community topics spaces,查看此项目的方方面面及内幕,了解自己该如何参与其中。
图 1. developerWorks 上新的社区主题区
如今,由诸如 wiki、podcast、blog 和论坛等实现的 developerWorks 社区服务,几乎占据了 developerWorks 三分之一左右的页面视图。到目前为止,整个 developerWorks 社区已被分割为围绕不同技术(例如,Java™、 Linux®)、多个产品类别(例如,WebSphere®、Rational®)以及产品(Rational Application Developer、Lotus® Sametime)的多个子社区。托管这些服务需要综合 UI 工程、多应用程序集成、XML 模板、身份认证集成、测试标准集成、系统管理和业务处理。
空间概念的提出源自对更好和更全面地参与社区的需求。从基础设施的角度看,每个新的社区工具都增加了另一层集成问题的复杂性。从用户角度来看,多种工具不仅人为地按照社区服务类型(例如,论坛用户、blog 读者、podcast 听众等)分割了社区,而且还将信息分散到了用户需要关注的多个区域。
对于一个想要尽量减少多种开发人员角色、领域、技术、产品和地理位置上的差异的网站而言,任何在社区内分割用户的做法都会适得其反。
除了能够综合各种工具、资源和人力之外,我们还希望添加更加动态的界面、控件和更丰富的应用程序来使其更易于交互。我们也希望更改内容由谁 “拥有” 的模式,“拥有” 者既可以是 IBM 员工,又可以是社区成员,内容甚至还可以同时由 IBM 员工和社区成员“拥有”。 此外,我们也希望个人也能够不费力气、迅速敏捷地实现上述目标。
这种将不同的成员、所有者、内容、界面、资源和工具在按需处理的基础上整合到一起的理念就是 Web 2.0 运动的实质所在。我们所需要的是一种从统一的视角审视社区的方式,并以简单直观的方式加以实现。针对于此,我们提出了社区模型的概念和 developerWorks 空间系统。
社区模型是有关如何与他人合作的一种策略,是我们方案的基础。对模型进行定义是概念阶段和实现阶段之间的必要中间步骤。
在线社区模型所应具备的几个关键因素包括:
- 会员身份,可以是明确的,也可以是匿名的,其规模可以是几个人、几十人,抑或数百万人。
- 社区的明确负责人
- 社区的组织思路、主题、实践、活动或计划
- 供社区集合之用的一个虚拟空间
- 可由负责人或会员在此处共享的信息资源,可以是他们认为有用的任何资源
- 可供会员相互间进行交互、协作、评论、共享和交流的工具
- 帮助理解社区如何运作的工具 —— 比如发帖数、页面视图数、惟一访客数等衡量标准
- 用来理解、使用、管理和支持上述这些的工具、资源或进程
这样的定义难免有些过于泛泛,基于此,您可以找到许多种社区模型。实际上,上述的描述是一种元模型,可用来帮助定义具有实际使用意义的更为具体的实现模型。
假设,您和遍布在世界各地的几位朋友打算开始一个小型的软件项目。最初,您的这个团队只需一个用来共享文件或者共享一些站点和其他 Internet 资源的空间。随着团队的不断扩大,您发现非常需要为此项目开发文档,并将其公开给其他人访问。随着团队进一步的发展,您或许又需要建立一个 blog 以便让用户获得最新信息,可能还需要一个讨论论坛以便他们能交换各自的见解和所存在的疑问。所有这些都需要在 Internet 的层面上发生,并随项目不断发展。这实际上就形成了软件项目团队中常见的一种社区模型。
另一种模型是围绕个人构建空间。它包含一个 blog 和到资源和简单的 Web 应用程序的链接。它也可能会包含针对 podcast、视频或其他文件的文件共享系统。随着该空间的不断发展以及其知名度的不断攀升,它多半可能还会需要一个 wiki 来给出用户最常见问题和解答(FAQ)。
产品经理非常喜欢利用其产品社区来决定下一代产品的未来特性,他们常常会围绕收集用户需求来设计社区模型。技术负责人可以就项目做 blog,共享想法和思路并等待回馈。一旦新特性确定下来,用户就可以就这些特性进行讨论和评价。
教师也常常需要一个空间来公布讲义、大纲、作业、共享的文件和他/她想与学生共享的一些特殊文档,并提供学生可以相互交流的交互工具。其中一些信息可能需要限制成只能由特定班级的学生访问,而课程的其他信息则可以对任何感兴趣的人开放。
上述这四个例子只是我们在开发空间这个概念时所建立的模型用例中的少数几个。空间真正的意义在于它可以为用户节约一次次重复建立模型的时间和精力。从开发人员的角度看,社区模型非常类似于针对社区经理的一种软件模式。
一旦社区模型确定下来,就可以利用空间所提供的实际方式来快速而轻松地实现该模型,而其中不需要消耗任何开发人员资源。
空间意在支持各种社区模型,如图 2 所示。由底层开始,Feed & 数据层可将数据从跨 Internet 的不同的源头合并起来,并以特殊方式封装以便数据可被送到更高的层。
图 2. developerWorks 空间架构模型
Content & 应用程序层集合了特定的社会性网络工具。由于我们需要一种可允许新工具随时添加的灵活框架,所以我们将其分离了出来。除了创建内容的叶条目的社会网络应用程序之外,还有一些 Common 服务可以与这些应用程序交互。一些社会网络应用程序在其自身内实现这些服务,而要想获得更好的集成效果,比如 blog 中的一个标记和 wiki 中的一个标签间的集成,更好的方式是将其分离出来提供给更高的层,由该层汇聚这两个标记。通常所需要的其他服务还包括针对不同内容项和应用程序的评估机制,或一种注释用的通用系统,这样您就可以找到所有的注释(而不需要为了找到它们而 “奔波” 于多种工具之间)。
Content & 应用程序层之上是 Portlet,它们可显示信息,且每一个都显示特定类型的内容或特定的社会网络应用程序。在这里,您可以发现最大的多样性并最终找到开发具体的 portlet 的方式。而 Ajax 所提供的 “慷慨” 帮助更让将这些 portlet 安排和重新安排到您所认为最合适的页面上变得格外容易。
在 Presentation 层之上,定义谁有权访问信息,或谁能实际修改 portlet 的内容。您可以设置想要其拥有空间中的元素并能加以编辑的任意多的人。最后,您需要通过我们的 Web 站点共享这些信息,或通过 RSS Web 提要将其分发到其他站点。
我们所创建的实现较架构型模型更易理解和使用。我们创建了 developerWorks 空间系统来让其更易于集成在线站点和为您的社区选取更合适的社区网络工具。构建空间所需要的仅是社区模型和支持 JavaScript 的浏览器。
图 3 是空间构建器的一个概念性快照。作为空间的主人或编辑,您需要将左侧菜单中显示的所有 portlet 拖放到列中的某个位置。随后会出现一个对话框,在此对话框中,您可以输入有关标题、URL 和其他细节的信息以访问该数据或社会性网络工具。您可以随意在空间内拖移这些 portlet,在这个动态 Web 页上调整其相对位置。您还可以调整可见列的数量以及此空间的颜色模式,而且不需要 HTML。
图 3. developerWorks 空间构建工具
当您完成设计后,要将该页激活,所需做的只是单击 Publish 按钮。在 IBM Emerging Internet Technologies 团队的 Mashups 空间(参见图 4)中可以找到一个很好的例子。这个空间将来自该团队自身的不同社会性网络工具的很多资源以及其他的 Internet 资源集中起来。
图 4. Mashups 空间
自 2007 年 4 月的预发布以来,我们已经启动了 13 个新的空间,主题多种多样,从 Ajax 到 Software as a Service。这些空间均已列于我们的 所有空间的索引。
更多的特性和功能将被添加进来以完成上述的架构式模型。在 FAQ(参见 参考资料)上可以找到有关如何利用空间以及有哪些工具可用的更多信息 。
如果这是您第一次遇到 developerWorks 教程附带演示的情况,以下几点需要您特别注意:
演示是展示本文所描述步骤的可选方式。要查看动画式的演示,单击 Show me 链接。演示会在新的浏览器窗口打开。每个演示在屏幕的底部都包含导航条。可以使用导航条来暂停、退出、回放或快进这个演示。您也可以拖动来查看演示的某些部分。此外,您的浏览器必须启用 JavaScript,还需安装 Macromedia Flash Player 6 或更高版本。
学习
- 您可以参阅本文在 developerWorks 全球网站上的 英文原文。
- Forrester Research 的报告 “Social Technographics” 解释了致力于社会技术的公司应该如何分析其客户的社会计算行为以及如何基于这种分析创建策略。
- 查看到目前为止的 所有空间的索引。
- 这个交互式教程显示了在 developerWorks 上 创建空间所涉及到的基本步骤(需要安装 Adobe Flash Player)。
- 观看这个视频来获得 developerWorks 社区服务的概览,包括新的社区主题空间(需要安装 Adobe Flash Player)。
- 对 developerWorks 空间有疑问?请查看我们的 spaces FAQs。
- developerWorks 现在接受 创建新空间的申请。如果您和至少另外一个人对建立一个有益于开发人员社区的空间有了一些想法和思路,请填好我们的申请表格,我们会随后与您联系。
-
了解空间,只是另外一个访问
developerWorks 的原因,developerWorks 是 2007 Jolt Hall 声望奖的得主。
-
在 Web
专区的技术库,获得更多 Web 开发方面的文章。
-
订阅
developerWorks Web development 新闻。
获得产品和技术
-
下载 IBM
产品的评估版。
讨论
- 参与论坛讨论。
-
参与 developerWorks 社区:
blog、
论坛 等等。