猎云网12月11日报道 (编译:绿岛的索拿大)
今年十月,HTML5语言正式成为了W3C理事会的“推荐标准”。从2004年HTML4规范本之后,这是W3C理事会第一次推荐HTML系列。十年间,网络世界天翻地变,今天,猎云网编辑君将带你走进HTML5背后的博弈。
这条新闻可能已经在你的圈子里传烂了:在10月28日,HTML5语言正式成为了W3C理事会的“W3C推荐标准”。也许你还知道这个变化会影响到网页和APP的编写。现在问题来了,这个变化是否值得你关心呢?
答案是肯定的。对于身在网络时代的你来说,花点时间理解HTML5的意义和W3C理事会的力量是绝对必要的。毕竟,在未来十年内,数以十亿计的人的生活会被互联网影响,正是W3C理事会的成员们在影响、定义什么是网页,什么又是互联网世界。本文将会带你透过表象,深度剖析这次HTML5语言的被推荐背后的暗流,带你看懂W3C理事会是如何制定规则、改变规则的。
W3C理事会到底是负责什么的呢?理事会成员都来自哪里?又是谁在背后资助理事会一次次改变世界的行动呢?
要理解这些,你首先需要意识到,网页技术的发展是一个长期命题。25年前,网页这个概念第一次被提出,1995年,Netscape公司的IPO把硅谷和他们的网页技术介绍给了世界。当时的网页是一个新生产物。初生的网页技术被精通电脑的老油条们深深地嫌弃:相对于其他超文本发布技术,网页所运用的手段对他们来说实在是太原始了。举例来说,通过使用网页技术,网页用户可以从他们自己的页面链接到任何别的用户的页面,但是当别的用户链接到他们的页面的时候,他们却不会知道,网页技术也不允许他们在浏览器端编辑页面——对于当时的互联网精英来说,这些缺陷显然是不可接受的。
然而网页技术也并非一无是处,它最大的优势在于,相对于其他超文本发布技术,网页最易于学习、最便于构建。当时的网页往往非常简单,它们由文档、图片和到其它网页、其它文档、其它图片的链接构成。构建一个网页所需要学习的一切知识就包含在发布的页面中,任何人都可以通过查看网页中的HTML码来学习构架这个网页所用到的超文本语言,这一优势让网页的普及速度远远超过了其他那些复杂而傲娇的超文本传输技术。
每一个新技术使用者都希望有自己的特色,正是因为这一点,网页用户把他们能想到的一切都添加到自己的页面里去。有的用户想要通过3D模型展示他们的想法,有的用户需求一个文本框让阅读体验更舒适,有的用户想把每一帧网页都变成了一个独立的软件。随着这些需求的不断产生,Mosaic, Netscape, Internet Explorer, Cyberdog, Spyglass, Lynx以及Amaya,这些一度叱咤风云的浏览器应运而生,每一个都在网络时代留下了自己独特的印记。
随着浏览器的发展,网页的内容变得越来越复杂,而这种复杂化却带来了泛用性问题。想象一下,如果你的浏览器只能处理图片信息的一种格式,而我的浏览器只能处理另一种,倘若这时我给你发一个图片的链接,因为我们的浏览器对于图片的识别系统的区别,你是无法看到图片而仅仅能看到乱码的。由于缺乏一个规范的语言,类似这样的问题广泛的发生。那些本来为了方便展示想法、提升阅读体验而存在的浏览器却导致了网页应用中的混乱,用户苦不堪言。
随着这种泛用性问题的发酵,互联网时代的先行者们意识到他们需要一个团队,来制定一种可以理解现行所有网页功能的通用语来解决泛用性问题。同时,这个团队还需要制作一份关于超文本语言的规范文件,以便通用语之后的新功能也能在这个体系内用通用语写就。W3C理事会便这样产生了。这就是网页标准化的过程——技术掌握者为了实际利益的交涉与妥协——对于计算机技术的演变来说,这样的妥协于行业标准化并不少见。毫无疑问的是,网页标准化对于互联网意义重大。
1908年水牛城公约就和这个情况很类似。当时,自动钢琴制造商在水牛城的Iroquois酒店进行关于自动钢琴行业标准化的会议。主要的议题是在自动钢琴打孔纸卷轴上每英尺要打几个孔来控制钢琴演奏出的乐曲。在这次峰会之前,一些制造商偏好九孔\英尺的卷轴,一些制造商偏好八孔\英尺,这样的差异导致了自动钢琴成本增加,制造商无法统一标准,消费者也往往会因此感到很迷惑。在“Gathering of the Player Men at Buffalo”一文中,Music Trade Review描述了当时的情况:当众人争执不休的时候,有线电视公司的代表P.B.Klugh表示他们采用的是“一英尺九个孔”的标准,并且“我们不接受任何对这个决定的质疑,因为(我们)目前的标准提供了令人非常满意的音乐效果。”尽管有少许不满意,制造商们还是接受了Klugh的意见,于是,今天的自动钢琴就都适用于是九孔\英尺的标准的了,没有人会生产适用于八孔\英尺的自动钢琴。
诚然,相对于自动钢琴来说,网页要复杂得多:网页标准化需要几十条不同的款项来确定语言、声音、图片、交互系统、始末程式、编码方式等各个方面的标准化程式。而制定这些神圣的“网络宪章”的“议会”正是W3C理事会——世界万维网联盟。W3C理事会是这样制定网页技术的标准流程的:组织业内一流的集团来定义新技术的标准,一步一步修改这些定义,使他们从技术天才们提出的“草案”变成一份“预选推荐案”接着进一步完善为“被建议提出的推荐案”。经过更进一步的讨论和修缮,最终,尘埃落定,这份标准会被盖上W3C理事会的戳,公开发布为“W3C推荐标准”,一个网页领域的新技术标准就这么确定了。
在董事Time Berneers-Lee——网页技术的主要开创者——的领导下,W3C理事会已经存在了二十余年,理事会的成员涵盖了近四百所高校、非营利组织、公司和企业的经营者,其中尤为引人注目的是那些主流网页软件和服务提供商:Google,Microsoft,Facebook等等。理事会的成员都需要缴纳年金,美国的大型企业会员每年要缴纳6.85万美元;小公司、不太富裕的国家的企业和非盈利组织缴纳的会费相对少些。
W3C理事会有着这样一个文化目标:让每一个人,不论他们电脑的软硬件和网络设施状况、母语、文化和所处的地理位置抑或是身心健康状况如何,都可以接触到互联网。二十余年来,理事会通过不断的会议来制定和调整他们的“推荐标准”,以促进这个目标的实现。
如果你上到W3C理事会的主页去浏览关于互联网动态的信息,比如HTML5的标准细则,那么你很可能因为那些像法条一样干燥晦涩而正式的语言而对标准化的过程产生一些幻想。你或许会认为W3C的峰会就像数学家峰会或者物理学家峰会一样,只是一群该领域的专家们,在这里是电脑天才们,冷静而理智地辩论着诸如半导体的位置一类“他们的世界”的内容。然而事实却不是这样的。正如那些像法条一样干燥晦涩的条文一样,许多“推荐标准”的确立也经历了堪比立法所需的激烈博弈,无数批驳对手的公开信、怒气冲冲的博文和理事会成员们无时无刻需要提防着的暗枪冷箭都可以辅证这一点。理事会从来不羞于承认这一点,机制的制定者们相信一个博弈的平台可以促进最终良好的结果。Stephen R. Walli,Stephen R的商业战略负责人则将峰会比作外交舞台,他写道“技术标准化是商人间的外交博弈,每一个参与者都想在确保自身领域的绝对权威的同时扩张自己的经济势力范围”。
HTML的前身,标准通用标记语言(SGML)的合作作者之一,Charles F. Goldfarb则更关注峰会在技术标准化中取得的成果。在1974年的一封Email中他写道“在这个高度政治化的舞台上,长期的规划者们和并不会长期驻守的负责人员导致了一种焦点的缺失”,我们这样理解他的话:对标准的需求,就像对法律的一样,孕育于最基本的冲突中。出于这样的需求,在HTML的第一版中理事会便对标记语言在实际文本的使用中做出了规范。比如用户需要在网页中写一个标题,那么用户便需要这样处理:<h1>“标题”</h1>,<h1>就是标记,“标题”这两个字就是字符数据。如果用户使用的浏览器可以输出HTML规则,那么当这样一段数据出现时,用户就会看到正式的大标题出现在浏览器上。
这就是HTML最初的构想:统筹标记语言。但是到了HTML5时代,标记语言已经从基本页面功能的说明表成了一个链接到各种其他技术的通道:音频、视频、图像、画板、3D模型,都可以通过标记语言表示它们的确切位置和具体功能。
现在,W3C甚至提供了用户“验证”他们自己编撰的网页的功能。这样的“验明正身”是一种纯粹的HTML意识形态问题,W3C允诺网页编辑者们,严格遵守他们指定的规则和语言,那么他们制作的网页会被更多的人的浏览器理解,既而相对于不严谨使用HTML的网页,前者就会获得被更多人浏览的机会。尽管大多数情况下人们都可以无障碍的浏览绝大多数HTML语言的页面——不论他们的使用严谨与否——大多数浏览器已经可以理解那些并不那么严谨的HTML语言了。 任何标准制定机构的最终目的便是实现这样的一个认识论:一个对他们信仰明晰而准确的界定。而这个验证页面就是一个全自动的裁判所。显然,并不是每一个页面都是纯粹而准确的HTML语言,就好像并不是每一个天主教徒都极力反对婚前性行为一样,用标准HTML语言编撰的页面在互联网的全部内容的比例也似乎和直到结婚才发生性行为的天主教徒差不多。
然而,HTML5所带来的冲突却比以往更加广为人知,要理解这一点,你必须回到1996年HTML3.2发布的时候。HTML3.2的发布具有着极为重大的意义,因为3.2版本提到了当时的重要实践:JavaScript,一个当时并不是很完美,甚至可以说尚有欠缺的语言,在市场的需求下被加入到浏览器的认知系统中去。通过JavaScript,每一帧页面都变成了一个独特的互动的载体。当然,HTML3.2并没有对JavaScript大谈特谈,对于这个当时尚且稚嫩的语言,我们的规则制定者们写道“在未来,JavaScript会出现在HTML中。”
有评论这样写道:“JavaScrpit最初设计的目的只是想在鼠标滑过的时候看到猴子跳舞,而这只猴子却生出了小猴儿。通过最初的弹窗等设计证明了它的可行性之后,在微软的大力支持下——当时的微软在IE中加入了一项可以不通过刷新页面而加载数据的技术,就像今天Google Maps,Gmail, Twitter和Facebook做的一样——现在,整个网络世界都能看到当初那只猴子的后代。”虽然我们依然管网页叫“页面”,但是实际上,它们当中很多已经是软件应用了——APP——对工程师而言,这样的网页已经和文字处理系统或者游戏一样复杂了。(有时候,这些页面就是文字处理系统,比如Google Docs,或者就是游戏,比如HexGL。)
2004年时,从网页到APP的巨变引起来全球商业巨头们的注意,他们认为活跃的网络世界中存在巨大的商机。恰逢其时,W3C正推行他的理念,并且想通过重设计网页来达到他的文化使命。他们尝试过推行一种“可即网”,通过让页面自行描述他们的内容来使得残障人士,可以在使用网络时也能像出行一样无障碍化。他们也尝试过一种“语义网”,通过让网络辨别其自身携带的内容,像之前处理那些文档和图片一样处理人们蕴含在其中的想法,把这些想法集成为一种可以搜索的资源。为了整合所有这些宏伟的构想,W3C理事会一直在设计一种跨时代的HTML:XHTML2。XHTML2旨在通过细微的技术和规则上的改变重发明网页,让他们具有W3C长久以来所畅想的新特性。W3C理事会想要扩大网络世界的开放性和可即性,而网络行业却只想着让现有的网页更加精致化。
但是,在追求这些高尚而长远的目标的道路上,W3C似乎忘记了为什么出发。举例来说,W3C的Emotion Markup Incubator Group想要让每一件事情都可以通过其影响来标注。他们这样写道:
EmotionML 提供了通过情感的种类、尺度、行动倾向性和一系列的评估以精准的表达情感的机制。
他们接着写道:
由于在社区中征询时缺乏统一意见,EmotionML不会仅仅提供一个情感方面的单词本,相反,我们会让用户根据自己的习惯选择他们认为最适合的情感词汇在他们的注解中使用。
EmotionML显然是唯一的解决方案。在标准化的进程总,大家都情绪无意识高涨的,但是高涨到什么程度呢?通过EmotionML,你可以这样表示一个0.5的快乐值。
<emotion dimension-set="http://www.w3.org/TR/emotion-voc/xml#pad-dimensions"><dimension name="pleasure" value="0.5"/></emotion>(本段为程序语言)
EmotionML同样也可以出色的表达愤怒、焦虑、伤害、满意等不同的情感。如果理事会将其列为“推荐标准”,并获得广泛采用,那么用户可以有无比开阔的选择:根据愤怒的程度归类政论博客,跟进奥巴马新闻发布会的偏执指数,或者仅仅打开“开心”的页面。
大把的时间精力就这样浪费掉了。整个2004年,当W3C在整理他们的情感问题时,网络世界发生了巨变:Google上市了,苹果在它的网络商店iTunes上面卖掉了几百万首歌,同时发布了它的浏览器Safari。
面对这样的现状,一群来自Apple,Mozilla和Opera的工程师分离出来组建了自己的团体,WHATWG,网络超文本应用技术工作组。他们表态道:“W3C理事会将注意力过多的投放到了他们遥远的构想XHTML上而对现实世界有着迫切需求的HTML漠不关心,这样的现状引起了我们的忧虑。”
WHATWG开始做那些原本由W3C做的事情:定义下一代HTML标准——HTML5。HTML5将网页浏览器中所用到的新技术产物整合并规范化。那些新兴技术的运用允许网页浏览器像一台快速的通用计算机一样运作,只不过浏览器比后者有着更简洁的形态,更好的音频视频播放效果,更好的文字数据化处理方式和一个无比庞大的互联网作为它的资料库。浏览器通过这些来运转着程序,浏览器本身变成了一个操作系统。
在2007年,深陷泥潭的W3C理事会决定与采用WHATWG正确的方法,承认HTML5并废止XHTML2,直至此时情感网页项目依然应者寥寥。尽管受到了认可,WHATWG依旧保持了他的独立性,两家机构开始了他们分歧重重的同盟。
尽管W3C接纳了HTML5的标准,但是人们依然对HTML5到底什么时候可以真正被广泛使用产生了诸多疑问。CNET编辑Stephen Shankland长年追踪该项目的标准化进程,在2010年,他记录了这样愤怒的表达:
一些本月W3C理事会HTML项目组邮件列表中的词汇:“幼稚”,“无法忍受”,“荒谬”,“诡计”。
同样,在2010年,Steve Jobs写了一封名为“关于Flash的一些想法”的公开信,在信中,他宣称HTML5式的网页技术是未来的方向,而不是Adobe专属的Flash平台(这个平台和HTML5一样处理很多复杂应用式任务,但是他并不能够,也不支持在iPhone上运行)。这封信有着很大的影响,因为这代表着HTML5,作为一个应用开发平台而不是一个文本格式规范(就像以往的HTML的主要作用那样),得到了科技行业最大的公司之一的明确支持。
从最初提出到现在,终于,在7年的努力和世人的关注下,HTML5完成了它的宿命。但一切并没有结束,就像Shankland所说的“WHATWG和W3C理事会间的裂痕依旧”。WHATWG认为网页是一个不断进化发展的自由的平台,同时,W3C理事会则在不断正式地推荐一个又一个标准和方法。这意味着W3C理事会正在不断的把WHATWG的文件和想法换成他们并不总是喜欢的墨守成规的形式。WHATWG称那些在成为标准化的时候所做的调整是“叉子”
那么谁是对的呢?说实话,对普通的网络使用者来说真的意义不大。W3C理事会宣布HTML5正式成为“推荐规则”并开始为HTML5.1——包含了HTML5当中没有囊括的特性的新版本——的正式推荐做准备。WHATWG在继续构建网络时代的辉煌,而媒体关注的焦点则在W3C和他的推荐标准。长江后浪拍前浪。WHATWG明确希望W3C不再修订或者说,“叉”他的工作成果,而W3C则已经习惯了二十余年来在网页技术上的绝对话语权。现在这两个机构终于开始了他们的同盟,尽管分歧重重,但是对于网络技术的发展来说,这是一大步,我们甚至可以认为这是最好的结果了。
他们的合作,尽管分歧重重,确实得到了良性结果。浏览器现在比以往更频繁的更新并且拥有更高的可靠性,程序猿们不再天天因为频繁的兼容性问题而纠结苦恼,或是仅仅为了同时照顾IE和Firefox而忙碌数周。浏览器提供商可以花更多时间在功能和效率上竞争,而不是仅仅为了保持网页的稳定,而投入巨大的力量不断更换内核。那些旧的,文本向的网页依然会保留它们的原貌,而新的、APP向的网页则可以在多平台间兼容。新的版本很复杂,甚至有些令人头昏眼花,但是,它确实有用。
那么,W3C理事会公布的HTML5到底看上去怎么样呢?HTML5看上去很长,很长,很长,很长。仅仅是最短的章节,图片部分,就有1.4万字。这个54万字的巨著是他前一系列,1997年的HTML4规范版的4倍长。
但是,这部浩如烟海的,令人望而生畏的,54万字的居住也仅仅是针对网络的冰山一角的说明书。举个例子,HTML5并没有指出如何使用一个JPG或者GIF图片,或者这些文件是如何转换成数据流的。它仅仅是告诉用户如何在网页中插入一副图片,对于其他的,则有其他的标准,由其他的专家负责了。而这些其他的标准,则又是基于更多的标准,再更久之前所制定的了。
网络院线仅仅是一个分享和发布文档的平台,而现在,它已经进化成了一个巨大的数字化系统,甚至可以通过网络得知你手机的寿命,记录或者翻译你的声音,管理你的Email和聊天,提供游戏和娱乐。网络可以同时处理所有这些,而所用的资源却比你想象的要小得多。这些就是软件业所做的,他们承诺你一副简单的素描肖像,你得到的确实一份高保真全息影像。
不像Microsoft的Windows系统或者Apple的Mac OS,HTML5的标准是免费提供的。如果你受够了Chrome, Firefox, Safari, 或者IE,头脑发热决定写一个浏览器,那么你可以立刻点开HTML5的页面,在这里所有信息都是开放的,他们甚至提供教程来帮你住你上手。
一份标准,是文化的体现,HTML5也是如此。当后人研究起我们的文化时,HTML5会让他们看到我们的习惯:文字、标题、音频、视频,我们喜欢让事情井井有条,我们喜欢看直观的图片和视频,我们喜欢让所有事情,哪怕是一张纸,一个标签,一个小小的构成元素,都能够互动化。HTML5的每一个字节都是开源代码,允许用户按照自己的想法构建他的网页或者浏览器。
网络,曾经是一个获得信息的地方,现在,却是构建想法的地方。从2004到2014,我们终于有了HTML5,每一个程序员梦寐以求的标记语言。我们相信HTML5是未来发展的方向,就像1908年的水牛城峰会所带来的一样。现在,只要你有一台标准自动钢琴,你就可以听到百年的先人们前编写的音乐。
Source:NYK