你应该关注web标准的真正原因
- 原文作者:Andrei Herasimchuk
- 原文出处:designbyfire.com
- 原文发表时间:2004年6月11日
译者前言:这是一篇让人震惊的文章。作者的分析深刻,文笔犀利。作者担心微软会控制整个世界的观点也许偏激,但不得不引起我们的警惕和思考。该文发表后引起了激烈的争论甚至漫骂,感兴趣的建议去原文看看。从中我们能了解web标准在国外推广的真实情况,进而思考我们应该怎样做?
译文
重要提示:下面的文章是我个人的观点,不是为了表现自己或者为我的老板而写。
虽然现在我认为web标准值得关注,但在我了解有关web标准的主题之前,对于web标准我毫不关心,也没有意识到我下面要讨论的这些问题的存在。而这些问题恰恰是每个人都应该关心web标准、以及他们在高科技产品和服务中扮演的角色的真正原因。
一.W3C的集会
2004年6月1日和2日,我在(美国)圣何塞市中心的Adobe团体总部参加了W3C的一个集会。(坐在我边上的是Donna,一位新加入adobe团体的朋友,她觉得很惊奇,为什么参加W3C集会的多是女士。好问题,她仅仅从表面上看屋子里的都是女士。)如果你有时间花几分钟时间阅读一下集会说明,你会发现Tantek Celik和Hakon Lie都在这里,同样,有来自Sun、Microsoft、IBM、Adobe、Nokia、Sony、OpenWave大公司的代表,还有许多独立顾问和其他公司参加。
伴随许多有趣的演示,在会议期间讨论更多的是web标准的现状以及如何发展。讨论的焦点更多是如何在下一代的web应用软件上使用web标准。我非常渴望站起来陈述我的两个观点,但是我克制了自己。在会议休息间隙,我和Dean Jackson以及Jon Ferraiolo说了我的观点,他们非常赞同并建议替我去把麦克风抢过来,我阻止了他们。也许我害怕人们从我的RTFM rant认识我,天知道?这个时候,我想我应该做的只是坐着和聆听。
二.一些背景情况
在我们开始正文之前,允许我先回忆一下。
上个月,我曾写信给一个团体,问:是否值得努力设立一个"web标准推广日"。这一天尽可能多的blog的站点同时关闭以加强效果,同时在首页上放置相同的一页来解释web标准真正的目标。并说明一些事情:微软不愿意修改它的IE以建立统一的基准平台,那样的话开发者可以建立轻量的代码就工作在IE、Safari, Mozilla, Firefox 以及 Opera等多个浏览器之间。---这样做至少引起人们对首页内容的关注。
这个建议仍未确定,可能发生可能不发生,我们需要看看有多少人有兴趣这样做。抛开这件事不说。其实已经有许多关于web标准益处的好的文章和相关的讨论。如果你没有看过,下面是一些快速链接列表:
- The Business Benefits of Web Standards
- About Web Standards
- Web Standards ROI
- Web Standards for Business
- An Interview With Mike Davidson of ESPN
- Eric Meyer Interview on Web Standards
- The Way Forward with Web Standards
- Developing With Web Standards
- Embracing Best Practice
当然,Zeldman的《Designing with Web Standards》是关于这个主题最好的书籍,非常易懂地说明了web标准应用和技术要点。
所有的文章都讨论web标准的益处:简化代码、加速开发、压缩文件尺寸、提高下载速度、更好的易用性、获得更多用户、更易于维护、多平台兼容。而这些益处仅仅停留在技术层面,也有一些ROI的讨论。
以上都是关于web标准正确的、非常重要的观点,我假设你之前已经都听说和了解。
三.摘要
出于本文讨论的缘故,我希望你暂时忘记上面文章提到的所有技术益处;忘记你的内容可以在不同浏览器、操作系统或者电脑、和移动设备之间的兼容和轻便协同的梦想;忘记高科技巨头100%支持标准(而不是90%支持)后,开发者采用标准可以节省多少的时间和金钱。那些都是通过标准可以达到的最完美的目标,但它们并不是为什么web标准对世界真的重要的真正原因。
一般而言,标准化意味着对企业的应用压力。他们要改变行为习惯,不仅仅要使股东得益,也要使所有人得益。
而最终,标准最重要的目的很少能通过代码、ROI或者日复一日的争论而实现。当你开始认真考虑,你发现那些在商业中不断创新和互相竞争的公司,例如:Microsoft、Sun、Adobe和IBM,本质上它们需要在自由的市场中生存。如果这些公司认为他们遵循标准并不重要,尤其是这个标准只是一个在他们势力范围内的非官方组织制定发展的,他们会遵循吗?期望这些公司改变他们的本质,就如同期望肉食动物在饥饿时不要捕食一样不现实。
事实上,你也可以很容易地找到一些拒绝采用标准而且也非常成功的公司例子,特别是当你站在公司放慢创新速度的角度来考虑时(许多时候暗指来自微软的观点)。没有一个生活和工作在自由经济体系的人会不这么想。
标准对我们所有人都是重要的真正理由是:预期它能创造一个平衡各方利益的、能普遍接受的行为基准(level of behavior),不论你喜欢或者不喜欢。特别是那些正在工作,却远离标准的、聪明的工程师。(尽管这些被命名为“标准”的规范已经建立了10年)。
四.微软和标准
你可能会问90年代后期和2000年早期微软在想什么?为什么它表面上保证要开始走标准之路,而事实上可能只遵循了80%到90%?这问题很简单。微软在IE4到IE6浏览器上采用web标准只不过是一种市场手段。那个时候,IE贯彻标准意味着超过竞争对手Netscape的Navigator浏览器。从表面上看,我们觉得微软的做法是正确的,事实上,微软只是被商业利益的本质(corporate DNA)所驱动:web标准意味着创新。
一旦微软得到了它想要的,它就无所顾忌,继续变本加厉,甚至越走越远。例如现在微软现在开始在新操作系统Longhorn上开发新的私有技术XAML。正如一些人指出的,微软又开始分裂市场,就象1995 年那样。这没什么可惊奇的,微软的行为源自其商业利益的本质,它过去和今天的行为都合乎逻辑。更重要的是,除非有来自外界的强大压力,否则它不会改变。
五.来自Asimov的一课

这可能是一个不恰当的比喻,但我还是坚持引用它。这个比喻来自Isaac Asimov(阿西莫夫)的科幻作品《基地三步曲》(Foundation Trilogy)。在第一本书里描绘了在宇宙中有一颗独立的星球,叫做基地,成为整个银河帝国科技的唯一来源。起初一切事情都很美好,直到有一天,银河帝国妄图控制整个基地。所以当银河帝国派出飞船攻击小星球的时候,银河帝国所有的机器、用具和电脑系统在同一时间都失灵了。基地依靠唯一的科技胜利了,并强迫银河帝国允许其独立存在。
在书中,银河帝国邪恶而腐败,在航向上使宇宙再次走向黑暗时代。我们不得不担心类似的情况在现实中发生。我们必须清楚的考虑到一个象微软这样的公司很可能有着类似“基地”的能力。
在现代网络中,工商界已经过分依赖于微软的技术---至少包括在这期间我们的常用操作系统、主要的内容传输设备类似HTML表现引擎(不仅仅限于IE浏览器,还有能表现web内容的windows的应用程序)。所有人都应该去看看Google的时代热点页面的统计数据。
有一个很及时的观点就是:少数人的行动会对多数人产生意义深刻的影响。在那样的环境中,占多数的人们为了保护自己必须建立一种互相制约的平衡机制,以防止少数人的错误、贪婪和权利买卖。如果没有这个平衡机制,少数人就会滥用他们的权利,忽视多数人的需求和牺牲多数人的利益,而多数人也不必为此惊奇。
我们有自己的制约平衡机制,那就是W3C提供给世界的web标准规范。然而,如果这个规范不被100%的遵守就毫无意义,90%遵守是不够的,9 9%遵守也是不够的。(就象Hakon在W3c会议上评论的,规范已经制定,我们现在就是等待微软去完全执行它。)
尊敬的微软公司已经给工商界敲响了一个警钟:微软office的安全措施令人可怜和可怕。其中存在的安全漏洞,使得一个十六、七岁的黑客用极其简单的病毒代码就可以入侵整个系统并使系统瘫痪。人们希望工商界能够给微软公司以更大的压力,迫使其完全遵循W3C制定的标准。
如果我们的商业和政治领袖不对微软施加压力,那么就不要对未来可能的结果产生惊奇。更重要的,如果我们(包括全世界所有的开发者、程序员、设计师和内容创作者)不做我们应该的努力去"教育"那些商业和政治领袖,我们就会因为最后的结果而受到责备。
六.实践步骤
最后,如果web标准真正被重视,成为建立一个平等的竞争环境(level playing field)和平衡各方利益(lowest common denominator)的手段,这就接近我在W3C集会上最想大声说出来的观点了。在集会第二天快要结束的时候,有一些提议建议W3C需要勇敢前进。Dean(W3C研究员)看上去有些犹豫不决。你最好还是自己去 看看这个note。
按我的观点看来,在担心下一代互联网发展问题之前,W3C需要做的是如下几点,重点在web应用软件(applications)方面:
- 1.合并、整理现行规范
当我浏览XHTML或者CSS规范,最重要的事情是我希望看到现行标准,不是过去的标准,或者正在制定中的将来的标准。整理标准使之容易被贯彻和遵循,也需要为用户提供一个独立的,随时更新的文档便于查阅临界信息(critical information)。
- 2.确定那一组规范应该被目前阶段web开发所遵循
这里是W3C部分相关讨论,我发起投票提议用两个列表的方法:第一个规范列表说明今天或者明年世界要遵循的规范,列表中只包含当前W3C 已经批准的规范版本,包括XHTML、CSS和DOM;第二个规范列表将包含 XHTML、CSS、 SMIL、SVG、 XForms、 ECMAScript和 DOM.一旦我们的内容发布系统能够100%处理第二个列表中的规范,那么我们就能讨论再下一级将是什么。到那时候,我相信许多关于web应用软件的规范都将被纳入讨论。
- 3.建立两套文档
我们需要一套规范专门针对用户代理(类似微软公司)的开发者和创作者;也需要一套规范专门针对设计师和web开发者。现在的规范混杂在一起,不方便各类用户应用标准时查阅相应的知识。
- 4.重新调整现在的W3C主页的重点
现在W3C主页的只有少量信息说明为什么使用和关注web标准是重要的。页面上填满了规范和链接,这是典型的"官僚主义"设计,违反了最重要的设计原则:如果页面上所有信息都重要,那么所有信息也都不重要。是时候改变了,W3C主页的重点应该是如何方便人们浏览规范,而不是方便官僚机构如何运做。
七.这种情况下你能做什么
给web标准更多机会,限制微软的力量。这看起来不是一个普通人能做的,或许对或许不对。他们说民主政治就是每一张选票,如果一张选票的力量微不足道,那么我想集合每一张支持web标准的选票就足够了,也许"web标准日"是需要的。如果有足够的声音大声说web标准的重要性并抗议目前的情况,那么就可能有足够对的商业和政治领袖来关注,给微软我们需要的压力。
我已经这样做了。
我也很高兴地看到John Allsopp在他的 Web Essentials 04网站上发起的活动已经引起足够多人的兴趣。这个在美国和欧洲的活动承诺将大大推进web标准的前进。
真相大白了?我的一个主张就是微软不应该再对IE做任何事情,除非他们迫于压力改变做法。老实说,如果所有开发者都用同一个平台,同一套APIs,同一套标准,世界将变得简单地多。
真的就是这样,事实上,许多公司已经在这样做了(给web标准更多机会,限制微软的力量),只是担心windows和IE的使用,就象我们所有人都知道的。我自己也在过去的几个公司中坚持这样做,仅仅是出于道德和责任。
谁说唯一的规范不应该由微软制定?这样可能使事情变得千倍的容易(比如学习HTML、CSS和Javascript代码),可能使我们只要工作在一个浏览器上,一个操作系统或者一个平台上。谁说允许微软制定那样的规范有错误?谁说微软把XAML或者其它扩展放进.net的CSS和HTML是错误的?我们按微软规范写所有web内容和代码有什么问题?为什么不能将我们所有的技术依赖于一家公司?
也许Bill Gates真的就是Asimov宇宙基地的Hari Seldon(哈里谢顿:试图通过在银河角落建立隐蔽的基地,来缩短随后的黑暗时代)。也许这所有都是一个计划来帮助世界度过随后的黑暗时代,只是我们都不知道?
不用关心web标准?
小心,你可能得到的是你不想要的。
相关文章:
为什么我们需要开源的系统芯片?
作者 | bunnie译者 | 弯月,编辑 | 杨碧玉来源 | CSDN(ID:CSDNnews)现代的小型电子产品往往基于某个高度集成的芯片构建,这种芯片称为“系统芯片”(System on aChip,缩写:SoC…

InnoDB和MyISAM区别
MySQL作为当前最为流行的免费数据库服务引擎,已经风靡了很长一段时间,不过也许也有人对于MySQL的内部环境不很了解,尤其那些针对并发性处理的机制。今天,我们先了解一下MySQL中数据表的分类,以及它们的一些简单性质。 …

图书管理系统5W1H
Who 图书管理员 When 图书管理员在图书馆借阅期间管理用户的借书还书,非借阅时间管理后台图书、管理用户信息 Where 借书台、办公室 What 一个图书管理系统,能实现图书的借书还书操作、管理后台图书信息、管理用户信息 Why 能够方便快捷的实现图…
程序员奶爸用树莓派制作婴儿监护仪:哭声自动通知,还能分析何时喂奶
作者 | Fabio Manganiello译者 | 弯月,责编 | 杨碧玉头图 | CSDN 下载自东方 IC来源 | CSDN(ID:CSDNnews)首先,告诉大家一个好消息,我当爸爸了!我不得不暂停一下我的项目来承担一些育儿的重任。…

python快速小教程
http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html

web标准的投资回报
web标准的投资回报(ROI)作者:阿捷 2004-7-6 0:17:49原文作者:D. Keith Robinson 原文出处:asterisk 原文发表时间:2004年6月1日 用web标准开发能够带来实际利益,这一点还有人怀疑吗? 如果有,…

使用javascript让项目支持热插拔
2019独角兽企业重金招聘Python工程师标准>>> 突然想起之前做过的一个小项目,项目虽小,需求却不小,要求解析特定格式的字符串,并且特定格式并非一成不变,想要一套系统能够支持解析多变的规则且更改规则时不能…

设计模式:状态模式(State Pattern)
作者:Wang Juqiang 创建于:2012-07-16 出处:http://www.cnblogs.com/wangjq/archive/2012/07/16/2593485.html 收录于:2013-03-01 结构图 意图 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 适用性…
拼命学的编程,你却可能错过一个亿!
先来看 2 则新闻:近日 AI 圈最火的新闻当属“AI独角兽依图科技上市”,“AI四小龙”先后开启了上市之路,继旷视科技、云从科技分别谋求港股、A股上市后,依图科技也加入了 IPO 队伍。国内 AI 科技公司的发展,也标志着国家…

web标准的商业价值
web标准的商业价值作者:阿捷 2004-7-3 0:37:26原文来自:adaptivepath.com 作者介绍:Jeffrey Veen是AdaptivePath.com的合伙人之一,专门研究网页设计新技术,你可以在他的个人站点veen.com上学到更多知识。 自从开始we…

OO真经——关于面向对象的哲学体系及科学体系的探讨(上)
http://www.cnblogs.com/leoo2sk/archive/2009/04/09/1432103.html 目录 Catelog 序言 Perface 真经第一章:世界 Waltanschauung 真经第二章:抽象 Abstraction 真经第三章:层次 Arrangement 真经第四章:继承 Inheritance 真经第五…

一次防CC***案例
本文来自 :http://baiying.blog.51cto.com/1068039/1113087 名词解释:摘自百度百科 名称起源 CC Challenge Collapsar,其前身名为Fatboy***,是利用不断对网站发送连接请求致使形成拒绝服务的目的, CC***是DDOS(分布…

滴滴联合比亚迪:首款定制网约车D1发布
11月16日,滴滴出行举办“滴滴开放日”,正式发布全球首款定制网约车D1。这款车基于滴滴平台上5.5亿乘客、上千万司机需求、百亿次出行数据,针对网约车出行场景,在车内人机交互、司乘体验、车联网等多方面进行定制化设计。作为第一款…

表格对决CSS--一场生死之战
表格对决CSS--一场生死之战作者:阿捷 2004-7-19 21:00:54原文作者:Sergio Villarreal 作者简介:墨西哥网页设计师,1993年接触网络,个人主页为Overcaffeinated.net 原文出处:sitepoint.com 原文发表时间&…

使用Docker-Docker for Web Developers(2)
1. 使用镜像 1.1 在Docker Hub上查找镜像 我们查找一下之前博客里面,推送到Docker Hub里面的bage88/docker-demo,能看到有2个仓库,第一个就是我们上次上传的镜像。点击“Details”进入到详细页面。 1.2 拉取镜像到本地机器 在我们本地虚拟机上…
赠书 | 图像分类问题建模方案探索实践
作者 | 中国农业银行 陆春晖责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国*文末有赠书福利背景图像分类,是计算机视觉领域的一个核心问题,顾名思义就是输入一张图像,根据内容将其划分到某一个特定的类别。与其他分类问题相比&a…

数据库开发个人总结(ADO.NET小结)
一.用SqlConnection连接SQL Server 1..加入命名空间using System.Data.SqlClient;2.连接数据库SqlConnection myConnection new SqlConnection();myConnection.ConnectionString "user idsa;passwordsinofindb;initial catalogtest;data source127.0.0.1;Con…

PHP 调用C的代码
用php调用C函数,常通过调用系统命令函数的方式来实现,其中主要有system()和exec()两种,还有一种是passthru(),这种方法没有尝试,暂不作讨论。 system()方法输出并返回最后一行的shell结果。 exec()不输出结果,返回最后…

态势“知”多少,点开就知道
2019独角兽企业重金招聘Python工程师标准>>> 态势感知,最核心的是“知” 关于“知” 典故不少 《孙子兵法》六千多字,“知”出现了79次,只有《势篇》与《行军篇》中没有“知”字。 史称两个半完人之一的王阳明 在经过五溺三变的曲…

17 种正则表达式
作者:http://blog.csdn.net/hivak47/archive/2004/10/31/161006.aspx"^/d$" //非负整数(正整数 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-/d)|(0))$" //非正整数(负整数 0)…
程序员如何乘风破浪?从数据库历史看技术人发展 | CSDN 高校俱乐部
2009 年我国数据库软件市场规模为 35.03 亿元,2017 年我国数据库软件市场规模增长至 120.00 亿元。8年时间内,我国数据库软件市场始终保持平稳增长,年均复合增长率为 17.5%,且增速呈现递增趋势。根据中研产业研究院估计࿰…

陶哲轩实分析 定理 13.3.5 :紧致度量空间上的连续函数一致连续
设 $(X,d_X)$ 和 $(Y,d_Y)$ 都是度量空间,假定 $(X,d_X)$ 是紧致的,如果 $f:X\to Y$ 是函数,那么 $f$ 是连续的当且仅当 $f$ 是一致连续的.证明:当 $f$ 是一致连续时,$f$ 显然是连续的.我们主要证明 $f$ 连续时一致连续.我们采用反证法,假若 $f$ 不是一致收敛的,意味着无论如何…

SQLServer------插入数据时出现IDENTITY_INSERT错误
详细错误信息: 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 Student 中的标识列插入显式值。 原因: 表中存在某个字段是自动增长的标识符 解决方法: set IDENTITY_INSERT Student ON //设置为OFF时表示不能手动给拥有标识符的列插…

ASP.NET 制作让搜索引擎可以友好访问的链接
作者:http://www.donews.net/lealting/archive/2004/03/31/9759.aspx今天看了一篇文章,主要是讲,如何制作让搜索引擎可以友好访问的链接,大概的内容是这样的:很多的时候我们在进行查询的时候,总是会以这样的…
机器学习中的7种数据偏见
作者 | Hengtee Lim翻译 | Katie,责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国机器学习中的数据偏差是一种错误,其中数据集的某些元素比其他元素具有更大的权重和或表示。有偏见的数据集不能准确地表示模型的用例,从而导致结果…

windows7 下arp 绑定的实现
局域网的arp***常常让人头痛,绑定IP/MAC地址是解决方式之一; 在xp下面绑定mac地址很简单,只需“arp -s IP地址 MAC地址 ”就ok, 在win7下的命令有所不同; 首先,需要查看可用网卡的id,使用命令n…

Asp.net(c#)实现多线程断点续传
http://www.cnblogs.com/bestcomy/archive/2004/08/10/31950.html以前一直错误的认为在ASP.NET中无法通过编程方式实现多线程断点续传,今天终于获得了这样一个解决方案,让我明白要学习的东西还很多。此解决方案基于其它解决方案及相关资料,根…
0.7秒完成动漫线稿上色,爱奇艺发布AI上色引擎
出品 | AI科技大本营(ID:rgznai100)中国漫画的需求量在不断增加,而动漫制作成本一直居高不下。究其原因为动漫制作是一个复杂且耗时的过程,需要大量工作人员在不同阶段进行协作。动漫制作过程中,需先创作关键帧草图&am…

Java Web整合开发读书笔记
下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 下载Eclipse: http://www.eclipse.org/downloads/ 下载Tomcat: http://tomcat.apache.org/download-70.cgi 正则表达式:http://www.cnblogs.com/deerchao…
ListView中CheckBox使用问题
因为CheckBox的点击事件优先级比ListView的高,所以当ListView中使用CheckBox会导致ListView的setOnItemClickListener失去响应。 解决的方法:在CheckBox中加入android:focusable"false"。使得CheckBox初始的时候没有获取焦点。 假设想在单击C…