本文是转载,转自五梭发表于蓝色理想家园的译作。由于非蓝色理想用户无法访问,经过作者同意转载于此。本文作为MobileWEB开发基础思想文章,系统地阐述了“OneWeb”的理念,非常值得一读。
原文分为3篇文章,我在这里进行了一些小调整,将3篇文章整理为1篇,推荐大家一口气儿读完:)
原译文地址:
http://home.blueidea.com/space.php?uid=496241&do=blog&id=11162 (第1部分)
http://home.blueidea.com/space.php?uid=496241&do=blog&id=11198 (第2部分)
http://home.blueidea.com/space.php?uid=496241&do=blog&id=12181 (第3部分)
原文地址:
http://www.w3.org/blog/MWITeam/2009/03/17/one_web_for_all (第1部分)
http://www.w3.org/blog/MWITeam/2009/03/23/one_web_for_all_part_2 (第2部分)
http://www.w3.org/blog/MWITeam/2009/04/01/one_web_for_all_part_3 (第3部分)
原作者是来自W3C MWI Team的Francois Daoust。
万网合一,One Web为人人
W3C宣传推广One Web的理念。我经常在围绕移动Web标准的讨论听到这个词,它通常出现在对移动Web最佳实践的严厉的抱怨中。是的,移动Web最佳实践标准基于One Web理念。不会采取严格限制强制设计师使用“一刀切”的行为方式。
因为One Web理念本质上被误解了,我想我应该拆穿某些神话并澄清概念:One Web理论是什么,One Web围绕什么,对于创作移动友好的Web内容意味着什么。我努力保持陈述简练,而且不会描述非常特定的细节。
你可能奇怪为什么你应该关心One Web。好,我们马上开始!
一大于二
我们思考一下以下的例子:
小明最近在维护一个网站。网站在桌面浏览器上工作的不错,但是小明最近开始收到用户的反馈 说他们用移动设备访问网站体验很不好。小明遵循移动Web最佳做法的推荐准备了一个网站的简化版本提供给移动设备。然后广告了新的版本:
- 输入 http://mingexample.org 访问普通的桌面版本
- 输入 http://mobile.mingexample.org 访问网站的移动版本
为了确保用户找到网站的移动版,他还在桌面版的首页放置了一个方便的 链接指向到移动版。
许多当今的网站都是这么干的,但是,这样通常不符合One Web理念。为什么呢?我们当然是要赞扬那些移动友好的网站开发,不是吗?但上面的例子发生问题是因为这些网站使用了两套网址(URI)。两者的差异体现 在:
- 缺失的内容:
移动版的网站为了易于访问,通常等同于在信息量上进行大规模的裁减。移动中的用户有很多事让他们 分心,同时又想快速的浏览信息。他们确实想要适合手中设备的浏览体验,所以通常为他们传输相比桌面版来说短小的网页。但凭什么说他们想要更少的信息?用移 动设备上网不表示用户不得不这么做,而是要做他们想做的事。 - 搜索引擎:
大部分搜索引擎用链入链接的数量来计算网页评级,然后由此排列搜索结果。评级越高,页面越容易被看 到。想链接到小明的内容的桌面版网站链向 http://mingexample.org,而移动网站们又链向了http://mobile.mingexample.org,产生两个后果:- 小 明的移动版网站没有继承到桌面版现有的搜索评级,对搜索引擎来说,这个移动版网站只是一个新网站,之前没有链入链接,因此很难在搜索结果中显示。
- 链 接到小明网站的链接产生了两个不同的评级,而却不会相加,小明的网站不能获得本应拥有的搜索结果位置。
- 共享书签:
很多用户喜欢在不同设备间共享书签和/或和使用不同设备的群体的人共享书签。小明的网站应该怎样被 收藏?没有一个权威的URI可以被所有设备使用。在桌面版首页链接到移动版是一个不错的主意,但有些设备完全不能渲染桌面版。就算它们可以,因为用户不得 不渲染一个不能正确工作的页面,所得到的用户体验也不佳。并且找到那个通往移动版的链接,用户还要花上一番时间。 - 品牌:
广告多个URI产生令人困惑的信息,下面这个页面显示了一个小日本网站的广告,网站的访问入口取决于用 户的运营商。

有研究显 示越来越多的用户喜欢在移动设备上输入他们熟悉的URI,熟悉的URI自然是桌面浏览器上输入的那个。不知道小明网站的移动版URI的用户会直接尝试输入 http://mingexample.org,他们错过了为他们量身定做的移动版。
这些问题的解决方案就是One Web。但我们先要小做一点关于Web的数学题,才能开始One Web实践。
URI的Web
万维网结构体系规范定义Web为由被称为统一资 源标识符(URI)的全球标示符标识资源的信息空间。嘿,链接去哪儿了?链接是使用全球标识符的直接结 果:Web上的任何资源可以链接到其他资源,正是因为每个资源都由全球标识符标示了。
原则:Web基于全球标识符
全球标识符可以有不同形式。在实践中则是URI。Web上的所有的链接机制都使用URI。URI是且应该被认为是标识符。它们自身并不运输任何信息。
原则:URI是不透明的
例子:
看看你的日志,你会发现一些用户尝试用只支持WML的移动设备访问你的网站。你决定为他们提供内容适配并创建一个网站的WML版本。问题是他们输入的URI 是http://example.org/index.html。不过,这样也不是问题!URI是不透明的,你尽可以用这样的URI向只支持WML的移动设备发布你的WML内容。
链接等价
Web的价值在于能将相似资源链接在一起的能力。既可以通过资源之间明确的链接,也可以通过隐含的链接(例如两个资源指向同一个资源,两个资源在搜索引擎 符合相同的关键字搜索)。Web的价值可以由资源的总价值来计算。
例子:
让我们想象一下仅包含三个资源的Web:A、B和C。资源B和C链 接到资源A。状况如下图标示。
资源B和C由于它们都链接到资源A,因此它们得到了价值,我们定义为1。资源A 因为由两个不同的链接指向,有价值的资源B和C。相加,资源A的价值就是4。这个例子的Web总价值就是6。
web的总价值在资源删除或分割后会降低。它们会发生在:
- 资源被不是URI的全球标示符识别时;
- 一个单 独的URI标示超过一个的资源;
- 资源的URI改变了;
- 资源包含的信息改变了;
- 不同的URI用来标 示相同的内容。
资源被不是URI的全球标示符识别时,相当于创建另一个web并将资源分割成不能相互通讯的不同信息空间。
好做法: 使用URI标示资源
一个单独的URI标示超过一个的资源。被URI标示的资源只被链接到可见的URI,其他的资源被隐藏了。
好做法: 使用不同的URI识别不同的资源
例子:
如果我们在资源A之后增加两个隐藏的资源。我们不清楚资源B和C究 竟链接的是A还是其他资源。A的价值降低了,变成了2。Web的总价值降到了4。
资源的URI改变了。当一个URI改变,使用原URI的链接则断开,降低了包含错误链接的资源的价值。
好做法:URI应该持久有效
例子:
当资源A的URI改变了,资源B和C现在什么也没链到。资源A的价 值降到了0。Web的总价值降到了2。
资源包含的信息改变了。链接仍然有效,但是却链接到错误的信息,所以价值降低了。
好做法:资源应该返回可预知的信息
并不是表示内容不能被改变。资源的实际内容可以经常改变,但是主题应该永远是相同的。
例子:
如果之前标示资源A的URI现在标示了资源D,资源B和C上的链接 就错了。资源D的价值还是0。Web的总价值降低到2。
不同的URI用来标示相同的内容。这样的问题是使用不同的URI链入的资源等于是复制了资源。
好做法:不要使用不同的URI标示同一个资源
例子:
如果资源A被两个不同的URI标示,资源B用第一个URI链接到 A,而C用第二个链接到A,资源B和C现在显然链接到了两个不同的资源A的拷贝上,互相并不相关了。它们各自的价值为0。
资源A被复制了。一个 拷贝的链接来源于B,另一个来源于C,每个拷贝的价值为1。Web的总价值则从6降到了2!
One Web不等于One Version
One Web理念很重要的一点是不表示:为所有的设备提供相同的版本。一个网站可以使用内容适配,也就是由设备性能和用户环境决定返回资源不同的版本。事实上, 内容适配明确鼓励改进设备上的用户体验。利用设备性能是移动 web最佳实践之一,而且符合One Web理念!
应该有多少个版本呢? 1,10,100,1000?设计师当然想减少它们不得不维护的版本数量到最少,最好是一个。只要再一点点努力,用一些内容适配工具的帮助,可能就能从原 始版本生成所有的版本了。我们可以给所有人提供单一版本,令我们减少需要调整的内容吗?某些条件下,是可以的。比如W3C移动Web倡议的网站就没有使用内容适配(可能有一两个例外,就不在我们的 讨论范围内了),并且可以运行在大多数设备上。有人会说,这种网站的内容太“简单了”。目前来说,他说的没错,特定的版本都应该充分利用特定设备的特性。 下一篇回到这个主题上来。在这里我要强调的是,One Web理念在应该定义多少个网站版本上保持中立,当然应该遵循上面提到的那些好的做法。
好。现在差不多了解了One Web,这和真实世界有什么联系呢?
现在我们看看实践中的One Web:
Neo: I know One Web!
Morpheus: Show me.
统一地址空间
One Web指出,你应该使用统一的地址空间:资源的不同版本应该共享相同的URI,供桌 面浏览器、移动设备或是电视机顶盒等访问。
应该对全站的资源都使用统一地址空间,而不仅仅应用于首页。网站的结构在所有版本之间都应该保持一致。
主题一致性
One Web指出,URI应该返回可预知的结果。用户使用不同设备访问一个URI,例如从他的桌面PC和他的手机,应该感觉一样。换句话说,资源的不同版本应该 保持主题一致性。
主题一致性不意味着内容必须精确地保持相同。而是表示尽可能的合理于:
- 资源所提供的信息应该相同
- 色彩、logo、内容的布局应该相似
- 在不同设备上的功能性应该相似
简单地讲就是用户换了个设备访问时不用去想“我要找的那个信息跑哪去了?我在我笔记本电脑上看的时候它应该在这里呀!”不同版本的应该让用户一 眼就能识别“OK,就是这个。”
在你设计网页时就是开始考虑主题一致性的最佳时刻,请做到:
- 专注于你打算提供的内容或功能
- 确保符合页面中心思想的内容素材,可以容易的找到。相反,确保不是页面中心内容素材不引起用户的注意,或者删除它们以缩减页面尺寸,并且不 会发生主题不一致。
- 为设备不能访问的内容提供可替换的显示方式。
- 设定一个最小的通用标准,令所有设备都能访问。然后基于它,为特定设备增强用户体验。
基于最小的通用标准,有几种不同的方法增强用户体验:
- 使用CSS媒体类型处理移动和桌面样式
- 使用脚本,当设备不支持时能优美地降级显示
- 使用内容适配
内容适配
在开始使用内容适配为请求的设备发送适合设备性能的网页版本之前,你首先应该了解这些性能是什么。
请求的设备可以通过HTTP头信息识别,以及常用的User-Agent信息、Accept和Accept-Charset信 息。一旦被识别,设备性能可以从某种设备描述库中查询出来。现在有若干种数据库可用。
一旦知道了请求的设备的性能,就可以利用和适应这些性能。在返回的HTTP头信息中,增加一条Vary HTTP头信息,让服务器和终端之间的网关和代理明白你使用了内容适配,因此不会不正确地缓存页面提供给其他的用户代理。
例子:
如果你使用UA来适配内容,确保返回的HTTP应答中包含以 下信息:
Vary:User-Agent
缓存就知道此页面存在不同的版本,并且是由UA决定的,于是就不会不恰当的缓存。
内容适配产生额外的支出:你不得不为相同的内容维护很多个版本。因为很多设备的性能相同,使用设备分类是一个很好的方法,这样你可以将网站版本 缩减到最小。
为移动中的用户考虑
一旦你专为几个类别的设备创造了几个版本,你可能会进一步考虑大部分用户的使用环境。用户设备的性能是一方面,另一方面是用户所处于的环境,比如考 虑到这些:
- 设备连接的网络。有报告显示08年11月时,8%的美国移动用户通过wifi浏览网站。通常的移动网络特性(低带宽、高延迟、数据费 用)并不适用于wifi,所以你可能想提供一个增强的wifi版本。相反地,如果用户在漫游,数据费用又很昂贵。
- 用户的社会环境。街上 走着的用户比起躺在床上浏览的用户缺乏充足的时间,所以他们只是想正确而精确的取得信息。所以这样可能又要产生不同的版本。
一般的用户环境不能由它的请求表示出来。用户需要自己在版本之间切换。环境可以存储在cookie里,但cookie可能被禁用或不支持。所以 在这种情况下又得用特定的URI来区分不同的环境版本。
等等!这样不会违反统一地址空间规则吗?如果恰当的做就不会了:
- 维持和广告一个网页的权威的URI。这个权威的URI应该被用做书签和返回所有支持的用户环境的 网页版本。
- 确保这个规范的页面链接到其他存在的版本,即可以在页面上使用
a链接标签让用户点击,也可以使用link标 签让机器(例如搜索引擎或移动浏览器)明白这个版本实际上是同一资源的不同形式。
例子:
以下HTML代码表示目前的网页是为移动(handheld)设备 定制的,还存在一个桌面(screen)版本。
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>[title]</title> <link rel="alternate" media="handheld" href="" /> <link rel="alternate" media="screen" href="screen.html" /> </head> <body> [body] </body> </html>
总结
Neo: What did she tell you?
Morpheus: That I would find the One.
- One Web遵循万维网结构体系。
- One Web不表示一个版本!
- 尽可能使用统一地址空间。
- 网站的版本应该主题一致。
- 用户环境大于用户设备。
- 撰写内容时始终记住尽可能降低版本数量和适配的需求。
- 不同的环境有时要比不同的版本更多。
关于译者:五梭,是我很早以前(甚至将近10年前)就认识的一个哥们。他是mocreative(移动网设计)的创建者,很早开始了对Mobile设计的研究。业余时间还担任“之游乐队”(广州的一个地下乐队)的鼓手。喜欢经典的金属乐,同时是beyond的歌迷。Twitter ID:5suo。








就1条评论
(Trackback URI)[...] 基本符合One Web理念,全网统一的视觉识别,检测设备后URL会自动转向。 [...]
写个评论