W3C中国HTML5梦工厂于18日在北京国际会议中心召开了“2012年HTML5主题峰会”,W3C HTML工作组联合主席、 微软互操作性技术团队合作伙伴项目经理、加拿大SC8云计算咨询委员会主席在会上做了演讲。
在下午的媒体采访中,我们就HTML5标准开发进度、愿景等相关问题对他做了进一步采访。
InfoQ:刚才您说到WebSocket这个功能IE9没有采用,而Chrome先用了,微软是等到IE10出来的时候才把这个 功能加进去,我觉得这也符合微软做产品或者做功能一贯的思维,就是等功能完善以后再培养市场。我不知道你怎么看待这种思维如何适应目前互联网化的要求?
Paul Cotton:首先有关您谈到的问题,除微软之外的好几家市场上的浏览器厂商,我们发觉他们心跳速度 都比微软要快。我说这些浏览器厂商的心跳速度快是什么意思呢?很多的开发人员他们都愿意去测试一下在火狐或者Chrome这些浏览器产品所带来的最性感 的,也是属于最新的一些功能。这也是为什么微软在Windows8还有IE10的开发过程中,一共向外发布了六种不同的平台预览版本。要知道之前可能这些 版本一年才发布一次,但是现在我们已经加快了它的发布速度。
我认为其实不同类型的开发人员,他们是喜欢不同节奏的,我知道有些开发人员,他非常喜欢这种感觉,谷歌前一天晚上所做的一个新的技术功能,他第二天 早上就希望自己能够掌握、能够用。但是我们知道,也出现过这种事情,谷歌一出新的版本,结果用了之前标准技术的开发人员所开发的网站,就会崩溃,需要重 写,所以我们认为这是一个鱼与熊掌不可兼得的局面,你自己要去做一个权衡。也就说,有的开发人员他就喜欢用最新的东西,他也愿意花那个工夫去改版自己的网 站,重新去编写一些东西。你想如果你是微软的话,那你不可能对这样一些大网站用户,比如说奥运会2012的这种官网说,对不起,昨天晚上我的某个技术崩溃 了,你必须重新编写这些网站。我相信对于这些大网站来说,这绝对是一个不可接受的做法。
因此,我们还是要回到权衡这个问题,也就是说,到底是你希望使用更新的东西,还是希望更加稳定的技术。
InfoQ:我看到你们工作里面也包含一部分互操作性的技术合作。那么想了解一下,大概在08年、09年的时候,微软的互操作性可 能更多的是和一些开源组织的合作,可能是应用系统层面的。我想了解一下现在阶段,微软是如何看待HTML5在互操作这个领域、层面上的一些价值?
Paul Cotton: 这个要谈很多了。其实我本人是在09年正式成为W3C联席主席,而且我认为在09年之后,W3C在互操作性方面的工作有了极大的进展,刚才我也为大家展示 了11年和12年工作的对比图,你们发现有很多的技术标准都已经处在完成阶段,为什么会是这样呢?事实上只有当W3C完成了对这个标准的互操作性的工作之 后,它才能够进入最后的阶段,成了最后推荐。
其实在另外一方面展示了我们在互操作性上的一个工作进展。其中最好的一个例子,就是CSS2.1,这是一个比较常见的Web测试,大家通常都用 CSS3来去测试它。事实上如果我们通过CSS3来去测试IE7,还有IE8的早期版本,发觉它在CSS方面的表现是非常差的,甚至有人说CSS2.1这 个标准做出来就是为了惩罚IE。
在CSS2.0正式作为一个标准推出之后,我们向W3C提交了八千个针对它所做的测试。然后我们对W3C建议让其他的厂商也同样针对他们的CSS功 能,做整套的测试,来看他们的功能、性能怎么样。正是因为我们向W3C所提交的这八千个测试,帮助W3C最终完成了CSS2.0标准的制订,最终所有的这 些浏览器的厂商他们通过了93%的我们谈到的测试套件,最后7%的测试基本上就不需要再去做了,所以这也很好的展示了微软其实是非常致力于去完善这些标准 的。大家可以想象一下,正是因为微软向W3C免费提供了这八千个测试,帮助了其他的一些厂商,尤其是浏览器厂商,来完成他们技术开发的工作。所以其实谈到 您所说得互操作性的问题呢,微软现在做得是非常积极的。
我们已经意识到了对于所有的浏览器厂商来说,一方面他们应该在技术的执行、性能以及图形处理能力方面进行竞争。但是另外一方面,所有的浏览器厂商都应该在W3C、IETF,也就是框架的搭建方面进行合作,从而为用户提供更好的网站视觉的体验。
InfoQ:微软刚刚推出对HTML5的支持的时候,可能会引起开发者的一些顾虑,因为当时Silverlight相对来说成熟一 些,HTML5刚刚推出有些不成熟的地方。那么我想了解一下,从微软的角度,如何打消开发者针对Sliverlight和HTML5的顾虑?这个层面有些 什么样的转变?
Paul Cotton:首先我要谈到的不光是IE,还有我们微软的Windows,其实都在全面采用 HTML5。尤其是我们谈到Windows8,我们非常鼓励开发人员在开发应用的时候使用HTML5和JavaScript。Visual Studio对这些编程语言是全面支持的。但是在三年之前,当微软开始计划开发Windows8的时候,在技术开发路线上到底选取哪条,其实我们已经做出 了一个大的赌注,就是在HTML5之上。大家可能还记得我展示的这个W3C的技术标准工作图,其实即使是在一年之前,也就是11年有很多HTML5的标准 还是处于不稳定期的。但是早在那几年之前,我们在Windows8上,其实就选了这样一个主流的路线,那事实上这也是为什么我们向W3C工作组,派驻了 20名微软人员进驻。当然不光是这20个人员,在我们微软的其他团队也有大量的做HTML5的标准开发的一些工作人员。
InfoQ:您作为W3C HTML5工作组的主席。我想问一下,你刚才也说到了,HTML5还没有到达最后推荐的阶段,目前业内的应用状况是怎么样的?有没有达到一个主流的情况?还有什么工作要做?
Paul Cotton:首先,HTML5的三位联席主席身上要完成这项工作的担子是非常沉重的。在过去的一年 中,我们看到有大量做媒体、做内容的公司加入了W3C,还有AT&T负责做视频技术开发的实验室也都加入进来。同时还有一些游戏公司,最有名的就 是最大的游戏公司Zynga,这家公司开发游戏主要就是基于HTML的。事实上这些已经是非常扎实的一些证据,说明大家其实对HTML5都是抱着非常期待 的一个情绪,这也是为什么我说HTML5工作组的三位联席主席身上的担子是非常沉重的,其实不光是W3C的会员单位之内,来自于W3C以外也是有很多希望 看到HTML5标准化工作完成的想法。自外部的推动HTML5标准化动力最佳的一个例子就是ePub、电子书的一些出版商,因为这些出版商在大量的推电子 书阅读器。
如果他要在我们所说的芯片层,去把HTML5作为一个技术固化在硬件上的时候,他们当然希望HTML5是一个成熟的业界标准。那事实上不光是有内外 部的,来自内部和外部的一些影响力说您能赶快完成HTML5的标准化的工作,其实还有很大的一定量的话语声呢,是谈到你还要进一步推动HTML5的标准, 让它增添新的功能。比如说我今天上午谈到的一些附加的HTML5媒体的功能,像苹果在它的iPod上,就已经很早的时候用到了adapter stream,也就是适配性的媒体流这样一些功能。但是我们知道这是一种非常专有的JavaScript脚本技术,所以很多的人都在呼唤这一些技术功能, 也应该在未来的HTML5标准上去添加。所以整个市场,不光是说非常青睐HTML5,而更应该说的是大家更加期待的是未来HTML5标准出现。但是以上的 答案都是我作为微软官方的给你的一些答案。所以你会看,你就会毫不吃惊的看HTML5的使用,不光是在平板电脑上,我们Windows8的设备上,还有甚 至我们游戏机产品上Xbox,还有我们的WindowsPhone上,所以不光是我们微软自己的产品,像我们的合作伙伴OEM的产品上,都用普遍的、全面 的使用HTML。
InfoQ:我刚才从你的演讲中你提到了,你的工作从HTML5,到下一代的HTML标准HTML.next,那未来的HTML5、HTML.next会有哪一些提升?
Paul Cotton:那我先谈一下HTML5的媒体扩展功能,事实上我们工作组有一个专门叫做兴趣小组是在 推这个工作的。我们知道这个兴趣小组,主要是聚焦两部分的媒体方面技术工作。并且能够让这两个技术,在网络上普遍的使用起来,第一个就是我刚才谈到的媒体 拓展,这种可以适配的这样一个流媒体的技术。我在这里必须认可苹果在他的iPod上就已经用到了这个功能,也就说他能够允许浏览器的一些程序控制你和数据 源这样一个连接的速度。其实举一个很简单的例子,因为实际上由大屏幕的一些设备观看视频所需要的连接速度和你用手机来去观看视频的连接速度是需求不同的。 肯定现在是在有限移动宽带的速度之下,当然如果要考虑向4G升级,我们不谈这个,确实媒体拓展是第一个这种媒体的功能;
第二个就是我谈的是有关视频内容加密,又叫媒体加密的这样一个功能。我知道在中国不是这个情况,但是至少在北美,越来越多的视频网站上的视频,通过 浏览器来观看的这些视频是被加密的,Netflix这家公司,它本身的商业模式,就是建构在这种视频加密上。否则的话,NBC是不会允许Netflix通 过浏览器为用户提供他的NBC所版权拥有的电影,或者是一些电视节目的播放服务。我事实上也是负责主持叫做媒体任务组的小组工作,我们小组是每周开一次 会,可能这一周是开有关第一个功能,下一周我们就开有关加密的,或者是其他与媒体相关的一些技术的会议。那么我的期待就是说,应该有关这两个媒体拓展功能 是在今年的9月份或者是10月份会对外公布,叫做首次的这样一个工作草案版本,这第一个工作阶段。所以在HTML5正式的标准发布之前,我们 HTML.next的一些实质性的工作就已经是在进展中,甚至有一部分是完成的。
InfoQ:W3C内部有没有一些目标?乐观的也好,或者说一个范围也好,让HTML5成为一个正式的标准?
Paul Cotton:你们可能也注意到了,在我谈到的W3C工作流程中,最后一个阶段,我们称为最后推荐。 这个推荐既是推荐给厂商,让你们去采用,也是推荐给最终用户让他们去使用。以前的这样一个段时间,W3C做出来的最后推荐的这些技术标准,只是向外推荐使 用。但是从两年前开始,W3C已经获得了可以把他们最后推荐的这些技术标准提交给ISO形成一种国际化的标准的资格。到目前为止,ISO已经采纳了W3C 提交的两套标准,而且是百分之百通过,第一套是有关Web服务的一套标准,还有一套是有关的针对那些视力有障碍的人群,让他们能够去无障碍的获得网络内容 的,叫做WCAG这一套标准。所以当 HTML5正式成为了W3C最后推荐的一个技术标准的时候,不光W3C自己内部有这样一个推的动力,要向ISO去递交。同时ISO本身也会有这样的一个需 求,希望HTML5能够变成一种国际的标准。当然,我们会秉持着一贯的W3C会员单位做出的承诺,它一定是不需要缴纳使用费、专利费的一种技术标准。
InfoQ:问一下,有没有那种时间表?
Paul Cotton:没有。先谈ISO这边,如果他收到一个这样提交的可能的这个标准建议的话,他需要9到 12个月的时间去研究来去决定是否让它成为一个国际标准。而对于W3C本身来说,我们的想法是2014年,HTML5能够进入最后的阶段,就是最后推荐。 现在有很多的压力,不管是内部的还是外部的,都是希望我们尽快完成HTML5的工作。但是刚才还有另外一位记者朋友谈到的互操作性,一方面说HTML5要 快,但是另外一方我们知道很多的开发人员,他们希望HTML5和现有的一些技术、标准的互操作性,所以这是一个平衡的问题。
InfoQ:你对目前这种开发的进度满意吗?
Paul Cotton:其实在四月份我们做了一个更改,你们也知道是因为谷歌的Ian_Hickson, 他辞职了,当然为什么会发生这件事情,这个调整就是因为觉得当时速度、工作的进度不够满意,但是现在我们已经有八到九个专门的人员在负责这项工作,所以我 们认为现在的工作速度是可以的。事实上我完全尊敬他对于HTML5工作方面的贡献,他的工作是做的非常好的。但是毫无疑问,整个HTML5工作组的工作进 度是不让人满意的,所以我们尊重他个人职业生涯的选择,当他决定改变自己的工作领域的时候,我们也是建议,HTML5工作组应该调整他的职责,换了新的编 辑。
InfoQ:Node.js引发了一个新的热潮,微软是Node.js社区的一个主要推动者,Node.js整个实现的引擎是基于谷歌V8,那么微软是否要考虑推出自己JS的开源引擎,在底层上替换V8或者提供一个可选项?
Paul Cotton:这个问题问的比较难回答的一个问题。毋庸置疑的一点是,现在有非常大的社区开发人员, 他们是非常喜欢Node.js,所以我们要保证Node.js也能够尽量在Windows,而且是在Cloud上运行。事实上,微软专门有个叫做Open Technology开放技术这样一个组织,是负责微软向开发人员社区提供开放技术的,而我也参与到了这项工作中。最近你也知道,微软是把ASP.NET Entity Framework正式开源了,这样能够获得三方开发人员更多的技术贡献,所以我们的趋势是,你会看到微软越来越多的一些软件堆栈的资产被开源,来保证一 种活力。尤其我们会非常的注重我们一些技术的互操作性,比如说他们能够在Windows、在我们的Azure这样一个云上去跑。
InfoQ:现在很多的移动应用都是APP的这种模式,所以我不知道未来HTML5的发展以后,什么时候会取代目前的APP成为一种主流模式?
Paul Cotton:提前问了跟开发人员周一可能的一个问题:应用模式的问题。目前的现状是什么?就是每一 家厂商要不他就是做设备的,比如说苹果。要么他是提供操作系统,比如谷歌的Android或者是我们的Windows8。所以我们会看到不同的厂商他会有 自己的一个应用商店,那我明白你提的意思,就是说等我们HTML5作为一个行业标准出现了,其实大家用的这些移动应用都是一样的,HTML5、CSS、 Web App,那什么时候能出现一个HTML5的应用商店呢?这个问题是非常难的一个问题,我们拿苹果举一个例子,苹果推出这个产品,事实上是有自己非常好的几 个盈利点的,一个就是我们知道的苹果应用商店,还有他的英文iTunes。
所以为什么说这个问题难呢?就是我们得跟每一个厂商去谈,说你要放弃自己原来留住客户的这样一种方式,放弃原来的这种模式,然后以打包的方式把这些 应用,就是基于HTML5、CSS之上的应用都放在一个容器里,作为一个可以下载的应用,去放到不同的设备平台之上。所以这就要看中国的开发人员,你们的 这样一个声音了。
你们如果确实在中国有这种需求,就应该跟W3C这样的一些组织去提交,说在中国我们需要这样的一种打包的格式,就是把我们HTML5的网站内容,都 以这种统一的打包方式去打包,放在一个通用的应用商店里头让用户去下载,不管他们用的是Android的平台,还是IOS的平台或者是Windows的平 台,这样他们可以选择下载同一个游戏,然后在不同的平台上去使用,这需要你们中国的开发人员自己去推动。所以从我的观点来看,既使我们做出了这样一个平台 中立的打包的格式,其实开发人员还是要做他应用的三种格式,举个例子,一种是针对苹果的,一种是针对Android,还有一种是针对中立的这种格式,针对 不同的三种消费者,消费者自己去选,他喜欢那种格式的这种应用来下载,所以最终哪种模式是最主流的、最为接受的,还是要由市场来决定。