Web 2.0是什么?
有家网站就叫what's web 2.0。不过,那里并不能回答你,他只是一个社区,讨论Web2.0的商业、技术和研究。
Wikipedia中关于web2.0的描述也是模糊的。keso说道:“Web 2.0不过是一种从现象中抽象出来的概念”,是什么概念,他也没有说。正是大家都不知道这个概念,所以每个人对Web2.0的理解不同。老冒认为是一些老技术的融合来骗取VC的、周天舒认为“Web 2.0则是以人为中心互联网”。这种局面正如建硕提到的,Web 2.0是一个行业术语,大部份人认为Web 2.0=RSS + Blog + SNS + (任何新的网络名词)...。
这不是让人迷惑了吗?是不是所有新出现的东西都归功于Web 2.0,互联网的变化本来就是逐步的,到现在真就发生变革了吗?Blog、RSS出现在我们身边出现已经不止一年,为什么现在要给他冠以Web 2.0?
我的观点是:Web 2.0是代指所有用户体验型的网络服务,这句话有2个重点,用户体验型和网络服务。
网络服务不是指技术上常说的Web Services,他泛指一切在互联网上提供个性化服务的应用。如果没有好的服务,就根本不会有用户。有了用户,我们也需要考虑服务是否是他们愿意使用的,服务最终来自需求。
注重用户体验是Web 2.0被经常提起的主要原因。这不仅仅是因为用户可以来参与,更多地是因为互联网服务更加人性化和个性化。Google精简的界面和搜索排序、Flickr随心的功能排放、del.icio.us的右键提交等等都说明了用户体验的重要性。
我们需要什么网络服务?
其实Zheng在学习Web 2.0 (二) 中已经提到
微内容:英文是microcontent。用户所生产的任何数据都算是微内容,比如一则网志,评论,图片,收藏的书签,喜好的音乐列表、想要做的事情,想要去的地方、新的朋友等等。这些微内容,充斥着我们的生活、工作和学习,它的数量、重要性,还有我们对它的依赖,并不亚于那些道貌岸然、西装革履的正统文章、论文、书籍。
对微内容的重新发现和利用,是互联网所开创的平等、民主、自由风气的自然衍生,也是互联网相关技术消减信息管理成本之后的一个成果。
我们每天都生产众多的微内容,也消费着同样多的微内容。对于Web 2.0来说,如何帮助用户管理、维护、存储、分享、转移微内容,就成了关键。
拿软件作比方,有了Windows操作系统,为什么我们还离不开winzip、acdsee。现在门户提供给我们的服务远远不够,现在需要多的事情太多了,就看你是否做得最好。这样的例子很多:
因为大家要收藏网页和图片,所以有了del.icio.us、furl、Flickr、365key 因为大家喜欢读书,所以有了豆瓣、读秀 因为需要阅读RSS资源,所以有了Bloglines、Rojo、Feedburner ...... 未来的网络服务一定是从这些微内容中产生。
技术是根、用户体验为本
提到Web2.0,大部分会提到Web2.0是用户参与,其实,用户参与在过去、现在和将来都一直存在,不是Web2.0的主要特征。且看《Google成功的七堂课》中的第四课“以用户体验为念”中提到一段话:
Google斯巴达式的网站,以精简的“菜单”上线,不收费,不鼓励你流连忘返,不用广告打扰你、不卖产品。设计的主旨是尽快让你查到信息链接,尽快离开。 谁不希望用户访问你的网站更多一点,最好是把每篇文章分成10页。“快点离开我”,这是以前网站所不能理解的,现在Google依靠口口相传访问量比别的网站都大。在Yahoo们拼命转型为门户的同时,Google却在搜索技术和用户体验上精益求精。
从我看来,目前web 2.0提出的一些新老技术都是为了更好地提高用户体验。对这些技术,以下逐个做些标注。
RSS -- 这是XML格式的子集,约定的一些固定标签让阅读器来识别。同时利于数据交换。
好处: 1) 用户可以订阅RSS,定向了解信息
2) 开发者可以把RSS作为数据源接口
局限: 1) 目前1.0,2.0的格式差别很大, 部分阅读器不兼容.
2) RSS固定的那些标签有时候不够用,比如传输图片等等.
建议: 只要不影响网站性能,尽可能多地地方使用
用户体验: 只要知道信息源, 就可以定向获取信息, 信息更畅通, 节省了门户的中转过程.
Trackback -- 有2种情况,接收Trackback和发送Trackback。接收Trackback是指对方发送过来的消息进行保存和显示,发送Trackback相对复杂,需要分析正文中的链接,逐个抓取页面,分析是否含RDF标志,如果有,提取其中的Trackback地址,再对Trackback地址发送消息。
好处: Trackback形成一个回路,让引用者通知被引用者,这样便于追查话题走向。
局限:1) Trackback实现消耗资源,很多Blog系统已经屏蔽
2) Trackback Spam是令人头痛的东西
建议: 一般最终页面最好提供Trackback的接收操作,让Trackback走出Blog的这个圈子。
用户体验: 知道了谁在引用, 就能更多地引起讨论并发现志同道合者.
Tag -- 技术上来讲就是多分类,功能设计上就是能够最方便地让用户对文档进行归属
好处: 1) 分类更容易,用户会更喜欢使用
2) 有了Tag归属,查找、联合查找更方便
局限: 1) Tag同义词等更多语义的元素还需要研究
2) Tag Spam也是令人头痛的东西
3) 在国内,使用多Tag的人不太多,使用习惯是个问题
建议: 只在对信息归类的时候考虑使用Tag, 信息越难找使用Tag效果越好。比如图片和视频是最难找到的,这时候使用Tag效果最佳。另外Rojo针对每个项标注tag的方式就有点过了,真的有这个需求吗?
用户体验: 添加分类更方便、随意,查找更方便、准确。
Web Services -- 这是实现异构平台数据交换的主要技术,数据传输也采用XML格式
好处: 异构平台可以无缝交换数据
局限: 需要程序员来开发才能使用Web Services
建议: 周天舒认为“Web 2.0的核心是Web service”, 我的观点不同,除非有技术上的合作伙伴的需求,否则实现Web Services接口的意义不太大。这不是说Web Services不好,只是在国内,程序员很少利用其他网站的Web Services去写附加应用。这种现状短时间难以改变,想想国外红火的开源为什么不能在中国星火燎原就知道为什么了。
用户体验: 用户感觉不到,需要有开发者开发出相关应用才有效。
Web标准(CSS+XHTML) -- Web标准这个词随着去年《网站重构:应用WEB标准进行设计》一书在国内推广,总体还说没有什么技术含量,主要是对美术设计工程师提出更高的要求,改变原来一些网页设计的习惯。
好处: 1) 页面更小、加载更快
2) 页面更规范、减少了和程序的交互
局限: 主要是学习成本,目前还没有一款很好的可视化编译器
建议: 尽量多采用
用户体验: 页面加载速度更快,方便了用户访问
URL Rewriting -- URL重写其实就是一个特殊的Http Handler。通过这个Handler过滤每个URL请求,根据需求对URL进行重定向的技术。
好处: 使得URL更短,更好记
局限: 在IIS中Handler一般对某个后缀文件进行处理,如果是通配符处理,事实上Handler处理了许多不需要处理的请求,造成浪费。
建议: 尽量多用,IIS中实现参考在ASP.NET中执行URL重写
用户体验: 用户可以很容易记住网址,方便下次访问。
Ajax -- 全称是Asynchronous JavaScript with XmlHttpRequest,Ajax通过调用XmlHttpRequest实现与服务器的异步通讯,并使用对应平台的XmlDom对返回的Xml消息进行处理,然后再通过DOM对页面中的HTML元素的操作实现丰富的、友好的用户界面。大家都知道,这是一项古老的技术了,“时尚的轮回-Ajax”指出,
Microsoft Remote Scripting与Ajax几乎如出一辙。但是由于当时服务器端技术风靡,而一次部署到处运行(只要有浏览器就行)的口号声一浪高过一浪,使得人们忽略了用户交互。而为了提高用户体验的Microsoft Remote Scripting 也就没有得到过多的关注。
我们知道,ASP.NET 1.x 的 Post Back 和 View State 引进了个新的概念:服务器端的事件驱动编程模式,其副作用则是整个网页不断刷新。 但是,ASP.NET 2.0 的 Script Callbacks 将再次引进新的概念 Refresh the Data, Not the Page,其核心思想和Ajax有什么区别呢。
所以,不管Ajax是否是“老酒有了新瓶子”,这样技术的继续发展对网站绝对是非常好的事情。现在有很多非常Cool的Ajax开发包,比如script.aculo.us、Rico可以帮助我们轻松实现复杂的异步数据处理,AJAX Matters有更多这方面的开发信息。
除了Google重视Ajax以外,我们看到Microsoft也准备在9月的PDC上推出相关软件了。看来注重用户体验的大势所趋不可逆转。
好处: 用户不需要刷新页面就可以完成异步的数据交换
局限: 某些浏览器版本对XmlHttpRequest、Javascript的支持还有很多不同的地方
建议: Ajax适合哪些应用?我认同Buffalo作者点评AJAX中的观点:
从外观看来,适合那些对URL不敏感的web应用。如果一个应用对url的关心程度大于对交互特性关心程度,那么就不要妄想整个应用采用Ajax, 否则可以完全采用Ajax. 例如,一个论坛系统,如果用户不能通过url定位到一个确定的页面,那么这个应用是失败的;但是如果是一个email系统,传统的email每次点击都需要download整个page, 相比gmail的交互性与操作性,哪个成功哪个失败显而易见了。 用户体验: 大大加强,只要技术使用得到,和客户端软件没有两样。这也说明Ajax是实现RIA(Rich Internet Application)最好的技术之一。
wiki -- 一个人人参与的CMS系统
好处: 聚集大家的力量来建设互联网内容
局限: 排除Spam的因素以外,人气也是个问题,我们不能期望到处是百科全书
建议: 我不太看好Wiki在中国的发展,原因和开源相同。
用户体验: Wiki的共同创作和链接方式 可以让用户在一个地方了解到足够多的信息(当然是wiki信息足够多才行)。
关于用户体验,我最近在看VB之父Alan Cooper的 About Face 2.0,书中大量案例来剖析用户界面的设计和原则,虽然大部分是针对软件的,但是对Web设计很有参考价值。另外,Patterns in Interaction Design也是一个非常不错的Web设计模式网站,里面的案例全部是针对Web的,值得好好学习。
引用老冒的一句话结尾:别关心什么web 2.0, 关心那些真正能改善你的web用户体验的技术,关心web技术的发展趋势吧。