文/Dion Hinchcliffe 译/田佳伟

1. 在你开始之前,制定一个简单的目标。无论你是一个web2.0应用程序的创建者还是用户,都应该清晰构思你的目标。就像“我在这里保存一个书签以备下次使用”,或者是“我准备帮助人们创建共享的、可编辑的网页“,这样的目标可以保持最基础的需求。最初Web2.0最吸引人之处就是他的简单,避免并隐藏了多余的复杂性。站在创建者的角度来看,想想Google的主页,或者del.icio.us的整洁线条。站在终端用户的角度来看,与之齐名的就是Diggdot.us所提供的初始化页面。当然,你可以,而且也将会加入更多的功能,不过在这之前,先把最初的做好。一次只实现一个特性;一次只完成一个目标。似乎这听起来很简单,但是这将会使你在之后的过程中更加专注,呵呵,不久之后你就会明白我的意思了。

2. 链接是最基础的思想单元。这是我们称之为Web的一个原因。链接是把整个Web连接在一起的最基础元素。你的信息,你的关系,你的导航,甚至是所有能被URL引用到的内容。以下是一些应当但却不是强制遵循的规则:

1)   Web上的所有东西都可以被URI/URL链接起来。

2)   保存好链接的原始出处,这样可以让你与任何人、在任何地方、任何时候都能分享它。

3)   任何时候第二点都是至关重要的,这样做意味着这个链接是一个持久链接(permalink),它不会在没有任何缘由的情况下被改变或者是消失。

4)   链接应该是可读的、稳定的、并且能够自我诠释的。

3. 数据属于那些创建它们的人。是的,用户创建、贡献出来的或分享的一切都属于他们,除非他们明确表示放弃这些权力,免费共享一切。他们贡献到Web上的任何信息都应该是可编辑、可删除的,并且可以在任何时候取消共享。这当然也包含了那些间接的数据,像他们所关心的记录、日志、浏览历史、网站访问信息,或者是任何可以被跟踪的信息。所有的网站必须清晰简单的表述出哪些信息是用户创建的,并且提供给他们停止创建,甚至是清除的方法。

4. 数据优先,体验与功能其次。不管是文字、图像、音频还是视频,Web最终都会解析为数据。换句话说,你无法脱离数据去呈现内容。所有数据都通过URL来定位(参见第2条)。通过另一种形式来看待这些,Web最终是名词优先,动词其次,虽然最近正在向动词偏移。来看看名词的例子:日历的条目、家庭照片、股票价格。还有一些动词的例子:定一个约会、共享一张图片、买一份股票。

5、做好积极分享一切的准备。尽可能分享一切,你所拥有的所有数据,你所提供的全部服务。鼓励不遵循原有意图的使用,提倡贡献,不要将不属于私有的数据坚持设为私有。在分享和发现之上,提供易于使用的浏览方式。为什么呢:话说回来,因为你会从别人的共享那里受益匪浅。注意:并不允许你去侵犯版权保护相关法律,你不可以分享你刻录的DVD或者是拥有商业版权的音乐唱片,事实上,在购买的时候,你已经同意不会去分享这些东西。但是你可以发现并分享那些完全开放的媒体内容。给你一点点建议,可以学习一下创作共用协议(Creative Commons license).

6、Web是一个平台;要使之成长。当然,我们还有很多其他的平台(Windows、Linux、Mac),但是那些已经不是重点了。换句话说,不要脱离这个平台,不要中断这个平台,而要通过各种方式去扩展这个平台。你在Web上提供的数据与服务将会成为Web一部分,最终,你会在Web平台的某处扮演你的角色。扮演好你的角色并照顾好后来者。

7、理解与信奉“阶梯性”。现在的Web已经越来越大,几乎蔓延到了全世界的所有国家,现在已经拥有了10亿用户。Web上每一部分都各不相同,就像所有的Web用户那样。例如Web的设计部分:易用性永远优先于速度、可靠性、重用性与可集成性。你也应该提供同样的体验给你的用户。它已经被一次又一次被人们在文档中强调,忠诚的用户很快将会成为专业的用户,他们会期待更快的速度,还有更多的功能。请优雅一点,退后一步去支持他们。同样,也有很多很多的用户会刚刚进入这个阶梯。他们可能不会说你的语言,不熟悉你的文化,甚至不知道是如何到这里的。所以你需要提供给他们清晰的表达。

8. 任何东西都是可编辑的。或者它应该被编织好了。如果一个地方不是这样,就去其他地方去寻找内容。当然,当前在Web上还有很少一部分内容不是可编辑的,不过除了这些,剩下的大多数都可以的,这是一个可写的Web。不过这并不意味着原始内容的丢失,通常情况下,这仅仅意味着用户可以很容易的对内容加以评论,或者在某处上加入评注。

9. Web上的身份是神圣的。不幸的是,这并不意味着你能够得到更多的隐私(这完全是20世纪的想法)。但对身份的验证是必要的,你应该感谢那些只需一个邮件地址就能确定你身份的服务。这意味只要你对你的用户承诺了,你就必须保证他们的隐私安全。需要警告的是,你可能在必要的时候需要为你在这个世界某处的用户挺身而出,向当地的权威挑战。如果你没有打算那样做,你就得把实际情况告诉你的用户。另一方面,如果身份是必须的,不要试图伪装它,不然在某一天我们将会在Web上放弃我们的最后一点点隐私的权利。

10. 了解流行的标准并且使用。从一个消费者或者是创作者的立场来看,数据将会以不同的格式与别人交换。同时这样的数据也会反过来促进标准的完善与采纳。这通常意味像RSS、 OPML、XHTML、Simple XML、JSON等简单标准的流行,而避免使用SOAP、XSD,还有RDF、ATOM,使用它们会给我的内心带来痛苦。也请你以自己的实际行动为你所钟爱的标准投上支持的一票。

11. 遵循无意使用的规律。如果你以广泛使用的格式把非常有趣的数据和服务开放和共享出来,你会有所收获:其他人也将会基于你的Web平台来构建。或许会有很多人这么做。所以请做好准备吧。我已经记不清我看到一个播客(podcasting)服务因为被 Slashdot和del.icio.us收录后有多少次因为流量过度而导致服务垮掉。这一点要知道:网络上的规律是如果提供的内容非常有趣,即使是一个很小的角落也会得到惊人的访问量。鼓励使用这种方式,它还是非常有价值的,前提是你要做好准备。

12. 粒度化你的数据和服务。我们应该在很早以前就明白这些,大规模集成的数据仅仅适用于无需管理的下载与批量操作。分解你的数据,让他们独立成可描述的URL地址,对你的服务也一样。反过来说,你不要创建一些巨大的、复杂的、像圣诞树那样的数据结构和服务。保持简单,要非常的简单。让这些分离的片断能够容易的被重组和发现。

13. 提供能够让用户个体受益的数据和服务。社会化参与的风险,对于花费了大量的时间、精力和信息的用户,除非使之成为主要的受益人,否则很难构成吸引力。社会化分享所带来的益处要比个人利益大的多,不过,如果没有个人利益,谁都不会参与其中。类似这样的话已经说的够多了。

14. 提供以用户为驱动的组织和过滤机制。不一定是必须的,但却是非常重要的。让用户以他们自己的方式来标注和组织数据,你自己是永远无法及时的处理数据的。用户会按照他们自己所理解的最佳方式来处理并构建。要保证你的Web服务能够按照用户所需所想的方式来工作。这也是标签(tagging)和通俗分类(folksonomies)方式如此成功的主要因素。

15. 提供丰富的用户体验。Web一直都在和本地的应用程序进行着激烈的竞争。为什么?因为本地程序还是感觉起来更好,运行速度也更快。但是这不会长久的(确信在5年或者15年后,这种竞争就不存在了)。是的,我在谈论RIA(Rich Internet Applications), Ajax, 还有那些不可思议的交互应用。他们让Web成为了一个真正的“无平台”的平台。

16. 包含并支持快速的变更和反馈。这个通常意味着要为加快步伐做好准备,同事也意味着要使用轻量级的工具、技术和不要做出那些适得其反的痛苦决定(例如使用一个被层层环绕的Ajax框架来代替可以通过混合来实现的,或者用C++来构建所有的东西,其实使用Ruby会更好一些)。这同时也意味着需要一个非常快速的方式来处理错误报告,修复Bug,发布新版本。从一个用户的角度来看,请报告你所发现的任何问题,还有那些你经常抱怨的地方。当然,Web 2.0是一个极其广泛和深奥的话题,没有一个人能够列举出它的所有重点和特征。如果你对此充满了兴趣,请花一点时间来补充我没有提到的地方。我想这就是Web 2.0的参与性吧!

---csdn.net

Posted on 2007-12-05 10:34  {:)  阅读(270)  评论(0)    收藏  举报