IE6歼灭战:战场在哪里?

【51CTO视角】2010年,国内外各大浏览器厂商都战报不断:众人关注的IE9以一反微软常态的速度在短短数月之内扔出了4个预览版和据说将在本月发布的Beta版;火狐在完成3.6之后异常积极的投入到Firefox 4的开发当中;谷歌的Chrome从年初的4.0一路蹦跳到前不久的7.0(Dev版),先后加入了插件支持、Linux/Mac支持等重要特性,Stable分支也刚刚步入了6.0,一鼓作气的劲头十分明显;Opera从10.5010.60一直进发到现在处于开发阶段中的10.70;苹果在Safari 4.0之后沉寂了两年后发布了Safari 5;国内方面,傲游3.0在前几日刚刚正式发布;搜狗浏览器也改了个名字,以搜狗高速浏览器2代的身份登场,这两款浏览器同时也都是Webkit+IE双核浏览器的先锋代表;QQ浏览器5(也就是TT浏览器的下一个正式版本)的Beta也已经推出,同样是Webkit+IE的双核模式;360浏览器也从3.1稳步更新至3.3。更不用说还有无数小的浏览器厂商,在这纷纷扰扰的浏览器市场中此起彼伏。总之,就是一副战国群雄争霸的场面,而且2010年正处于这个战国年代的活跃期。

2010年还有一件大事,就是在全球浏览器市场曾经稳坐了五年王座、市场占有率一度超越80%、现在在全球的市场占有率仍保有10%的IE6,终于被微软官方鉴定了死亡状态并举行了葬礼

而所有这一切有关浏览器事件的背后,还有一个总是被人念起的名字:HTML 5标准。每一个大牌浏览器出新版本的时候,其特性列表中总是有一条提到:“这个版本开始支持HTML 5中的某某特性”,无一例外,仿佛不提HTML 5就土老冒赶不上时髦了一样。这不,Google刚刚在周四举办了一场互联网开发技术交流会,DevFest 2010

DevFest 2010

本期交流会的主题是下一代Web标准和浏览器发展趋势,这其中的“下一代Web标准”,所指的就是HTML 5啦。


DevFest 2010 互联网开发技术交流会

大会的主题演讲很好玩,有很多很有意思的演示:

人人网的六度空间
人人网的六度空间,完全用HTML 5实现

iPhone 4上使用Google地图
iPhone 4上使用Google地图,利用HTML 5的GeoLocation识别持有者的地理位置

淘宝网利用HTML 5实现的清单效果
淘宝网利用HTML 5实现的清单效果

传说中的Google Web应用商店
还有就是,传说中的Google Web应用商店

等等等等,总之是十分的炫。现场最火爆的场面莫过于上面这位林斌老大在浏览器里玩起3D的Quake,以及现在流行的植物大战僵尸时的游戏体验。Quake的代码可以在Google Code上找到,植物大战僵尸则是Flash版本,很容易找到,有兴趣的可以自己玩玩看。

然后,在看完所有这些华丽的演示之后,主题转移到了浏览器上面。这次Google拉来了几乎是我们所知道的大部分浏览器厂商的大佬们过来做客:

DevFest 2010浏览器论坛
以上,从左到右分别是:
Google Chrome产品研发技术总监 李曦,也是本论坛的主持人
来自Opera挪威总部的Web Evangelist 谢子斌
世界之窗浏览器创始人、360浏览器开发总监 谢震平
搜狗浏览器技术总监 杨洪涛
Mozilla Firefox在北京的总经理 过元铮
傲游浏览器技术总监 曾伟宏
QQ浏览器产品副总监 刘钟书
UC的技术总监 江蔚然

根据主持人的介绍,本次其实也邀请了IE和Safari,不过对方由于各种各样的原因而最终未能参与。而此事直接的结果就是(以下为精简+夸张版,仅供读者参考以用于想象现场情况):

主持人(Chrome):“您认为现在在推广HTML 5这个下一代Web标准的过程中,最大的阻碍是什么?”

Opera:IE。

世界之窗/360:……(默认)。

搜狗:我同意。

Firefox:当然。

傲游:+1。

QQ:不能否认。

UC:……(手机上没有IE,让我怎么说?)

当然了,虽然说IE6/7/8全都互相不兼容,与其他几个浏览器也不怎么兼容;不过按照个人的理解,这位来自Opera的老兄真正想说的只是IE6而已。虽然这一个多小时的浏览器论坛讨论了很多话题,但是基本给我的感觉就是:这是一场蓄谋已久的、准备充分的IE6歼灭战。

IE6招谁惹谁了?

浏览器是一个软件,适用程度与操作系统一样广泛。如同操作系统是软件的平台一样,浏览器则是网络内容的平台。因此,从技术层面而言,浏览器牵扯到了三个层面的人群:浏览器开发者、Web开发者、以及最终用户。如果延伸到技术之外的话,则还牵扯到浏览器厂商(包括其下的运营和推广团队)、网站/Web产品运营者、IT媒体等等。

IE6,全称Internet Explorer 6,诞生于Windows XP推出后不久的2001年。凭借着其绑定的Windows XP的成功,IE6在2002年到2003年间创下了超过80%的全球浏览器市场占有率,击败了当时的另一大浏览器NetScape。之后的五年是IE6打遍天下无敌手、天天吃香喝辣的时光,直到2007年间Firefox崛起、IE7推出之后,IE6才走下了浏览器王国的顶峰。

然而,上面所讲的是全球的情况。根据StatsCounter的数据,2009年8月到2010年8月间,IE6的全球总市场占有率为11%,而IE6/7/8的总占有率为54%;而国内的相应数据则是,IE6占据超过60%,而IE6/7/8加起来则超过了90%。考虑到国内各种版本的Windows XP的普及情况,这个数字并不令人意外。

所以对于浏览器厂商而言,不打死IE6,自己再怎样玩也玩不大。而要打死IE6这只比大象还大的落水狗,HTML 5互联网Web新标准无疑是十分顺手的一根打狗棒。虽说国内浏览器很多都是基于IE内核的外壳浏览器,但捧着别人的饭碗总不是长久之策,要不怎么傲游、搜狗、腾讯都纷纷搞双核,把2010年搞成了一个“双核之年”呢。

可能有读者会感到疑惑了:为什么HTML 5能成为对付IE6的打狗棒呢?这就不得不
从Web前端开发者们的那些苦涩过往开始说起了。说起Web前端开发人员对IE6的怨念,那可真是三日三夜也说不完。以下摘录两小段技术描述(原始出处已不可考),作为此怨念的一个缩影:

IE6里DIV错位的问题

采用"FLOAT:LEFT”的DIV在IE8、IE7、都没问题,IE6下却向下移动,出现空白。这是因为,IE6采用的内核默认把DIV之间的距离增加了3~5个PX,所以,试试是将下移的DIV的STYLE里增加"margin-left:-5px;"或者更小。

页面的最小宽度

min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div>放到<body>标签下,然后为div指定一个类:(代码……)

事实上,对于一个真正在意用户在不同浏览器下有相同用户体验的Web前端开发者而言,每个项目因为浏览器兼容性而进行调试的时间,远比原始的开发时间多出很多倍。如果说您看上面这两段还没有太感受到的话,那就直接看看下面这段怨念体的总结文字吧(摘录自梁逸晨的博客专栏):

为了我们自己,为了我们不再因为IE6的兼容性而加班加点工作,能多一个客户告别IE6,就是为我们多带来一点希望。不要去等微软,微软铁定了心“我们的VISTA系统……”,也不要去等别人。人人等别人,无人是别人。一切都要从自己做起,看到一个客户,就宣扬一次IE6的坏处,哪怕是欺骗、诱惑、威胁、行贿……等等不限手段。

对于这部分开发人员而言,HTML 5的出现,简直就是一个神奇盒子,就好像土法炼钢做久了的人,忽然有一天看到了真正的机械化炼钢是什么样子一样。如果这样语法简单而又功能强大的Web语言能够在所有的平台下被识别,那么Web开发者的生活,都可以大大的提高一个档次。

然而问题在于,老的都已经进了坟墓的IE6是不可能支持这么先进的好东西的。所以为了自己的生活品质、心情愉悦度以及对老板而言最重要的工作效率,开发者们都会毫无保留的表达自己对IE6的憎恶和遗弃之情,并在条件允许的情况下,在自己的网页中对用户大摇大摆的写到:

尊敬的用户,为什么还在用又慢又不安全的IE6?赶紧换一个更加时髦的浏览器,体验我们网站华丽丽的效果吧!

然而……

上面的这段话只是开发者们一厢情愿的愿望。国外的网站可以这样做,Google自然不用说,像是Facebook以及很多IT科技站和个人站也都特意标注自己不支持IE6,使用IE6浏览的用户会在访问时看到这样的信息:

对不起,使用IE6是无法浏览我们的网站,请安装一个现代的浏览器。

而在国内,如果你让超过一半的访客们要下载个新软件才能看你的网站,那你的访客们多半会叫你去死。除非你的网站是专门面向有MSN绝对不用QQ、有推特绝对不用围脖、有Facebook绝对不用人人的Geek类站点,或者像是谷奥、Chrome迷这样超过八成访客都是Chrome用户的网站,否则你是不可能丢弃IE6兼容性这一块的。

大会当天跟支付宝的资深经理叶志坚先生聊了聊有关这个IE6兼容性的问题,他的意见是坚定的“以用户体验为主”原则。

“既然有用户选择使用IE6,那我们就要照顾到他的选择。我们可以告诉用户,IE6速度慢,IE6不安全,让用户慢慢了解到转换到其他浏览器的好处;但我们绝对不能夺走用户的选择权。”

站在产品运营的角度,这句话是绝对的真理。虽然技术人员的血液让叶先生在提到IE6的时候免不了显示出一丝怨念的神情,但是做Web毕竟不仅仅是做技术。

而另一方面,对最终用户而言,HTML 5跟他们根本八杆子打不着。如果他们身边没有一两个做前端开发的亲戚朋友天天絮叨,那他们到底有什么理由要换一个别的浏览器?

Q:你知道浏览器是什么吗?

A:Google?雅虎?

Q:你用过火狐或Chrome这些浏览器上网么?

A:啥?上网不就是用IE?

Q:你遇到过有些网站访问的时候显示的乱七八糟的情况么?

A:有啊!肯定是网站没做好!

Q:你上网的时候遇到最多的问题有哪些?

A:网页加载慢!还有总是崩溃!

Q:如果有一个浏览器,可以解决上面这些问题,你愿意用么?

A:那不是很麻烦,还要装个新软件?

Q:我推荐的浏览器还比较安全呢!你现在用的IE6容易被挂马,换我推荐的就不会了~

A:没事啦,我有360安全卫士!

Q:它上面有各种方便的插件,可以查邮箱、截图、查词典呢!

A:我现在也可以查邮箱、截图、查词典啊!

Q:它上面可以体验很炫的网站,还可以玩植物大战僵尸呢!

A:我现在就可以玩植物大战僵尸啊!

Q:唉唉,这么罗嗦,我帮你装,你试试看总可以吧?

A:哦,也行啊!

……(A君试用了3分钟后)

A:我的收藏夹呢?我之前记录的网站用户名和密码呢?哎呀我怎么网银用不了?我平时玩的游戏也看起来全乱啦!这什么破浏览器一点也不好用,我要卸载!

(以上内容由大会的视频片段、网络上的部分文章、以及本人推广非IE浏览器的亲身体会整理而成,绝对真实。)

真正的阻力

从上面的情况看起来,似乎阻碍了Web标准化和先进的浏览器革命的最大因素是这些对技术不甚了解的最终用户们。

但是有一句话说得好:用户永远是对的。

Web标准化进程阻力重重、Web开发与浏览器技术的革新迟迟无法推广的最大原因,主要是在于那些根本不理会网站兼容性的Web开发者们。这些也许是因为对Web开发一知半解,也许是因为赶任务而把项目匆匆了事,也许是因为项目规划就没有将Web兼容性当作一个正当需求提出并执行,所以直接导致了互联网上充斥了这些只有IE6能够正常运行的网站和Web游戏们。

上面简单说来就是:成也开发者,败也开发者。一方面,想要把自己的Web应用/网站做的兼容的开发者们热烈的拥抱HTML 5,并希望IE6赶紧死掉;但是,恰恰是因为他们那些对Web标准化漠不关心、开发之后只在IE6下测试的同行们,才导致自己迟迟无法从不兼容的苦海中摆脱。

不过说到底,推动Web标准化并干掉IE6是一个多方受益的事情:

  1. 浏览器厂商可以开始瓜分IE6之前占据的蛋糕
  2. Web前端开发者的开发生活更加美好了
  3. 最终用户得到了更好的体验,也远离了被挂马等安全隐患
  4. 浏览器开发者们的工作更难了,所以浏览器开发者们也更加牛B了
  5. Web产品运营者可能会花费更多的金钱,但他们将获得开发者与用户的肯定,以及技术层面上的一段领先优势

上面这些受益者们甚至包括微软自己:在IE9中开发IE5/6/7/8的兼容模式估计不是什么令人高兴起来的活儿,另外微软现在力推云计算和它的Windows 7,而Windows 7主要是来抢占Windows XP的地盘的。如果用户因为听说升级到Windows 7之后无法使用某个网银的服务而推迟了购买Windows 7的计划,这势必会
微软也感到懊恼。

这个Web标准化运动唯一可能伤害到的群体,就是那些对新技术不闻不问、埋头只开发IE-only网站的那些没追求的开发者们。对于这个既没有技术追求、又不关心用户体验的群体,也许他们本来也并不适合开发这个行业。

歼灭战的战术策略

明白了谁是战友,谁是敌人,接下来的战术就很好制定了。指导原则就是:让用户明白这件事对他们自己有好处。用户拥有绝对的选择与决定权,他们关注的,是自己使用起来是否方便。至于开发者是否烦恼,用户并不会在乎,所以抱怨战术就不用考虑了。

浏览器厂商的策略很简单:

1、让用户爱上自己。有了爱才有包容,才能接受必须在多个浏览器间切换才能做某件事情的麻烦。

2、技术允许的情况下,为用户提供一道通往IE6的方便之门,但是同时很明确的告诉用户此举纯属无奈。所以说双核的策略是一个十分高明的策略,而“高速模式”和“兼容模式”这两个名字,真是特别的恰到好处。

3、与网银等重要网站服务的提供者进行合作,通过一些公关的手段来加速重要网站服务对Web标准化的支持。比如建行网银现在已经可以支持Firefox,就是Mozilla和建行合作的结果。

开发者的策略是比较累人的:

1、运用标准的Web技术开发出很炫的产品。

2、为这个很炫的产品开发各个浏览器版本的兼容实现,包括IE6。

3、但是,对于IE6的用户,总是要在产品中的某个用户能看到的地方,说明这个产品在IE6下的表现并不够炫,也不够安全。

4、而且如果用户真的尝试在不同的浏览器下查看你的产品,要真的让用户体验到差距,让用户认同“IE6的确不好”这一事实。

5、最重要的一点,就是让这个产品获得成功,积累尽可能多的用户群体。

6、最后,开发者可以选择在合适的时机抛弃对IE6的支持——比如在该产品的IE6用户已经只剩下1%的时候。

这样,浏览器厂商逐渐积累各自的用户数量,减少IE6的用户数量;开发者的努力逐渐让用户对IE6的依赖性降低。这是让用户逐渐脱离IE6的前提条件。但是就国内的情况而言,这些仅仅是前提条件,并不能带来可观的推动力。

根据CNNIC在7月刚刚发布的《第26次中国互联网络发展状况统计报告》,2010年6月为止,使用家庭电脑上网的网民比例为88.4%,网吧上网的比例为33.6%,单位上网的比例为33.2%(多选的调查问卷)。这个样本的代表性和数字的准确性我们不去深究了,即使按照这个数字来,那么使用公共电脑的比例也占了四成以上。公共电脑的装备多半是某个盗版的Windows XP,由网吧或是单位的网管统一装机,使用者往往被迫使用预装的IE6上网,还无法更新。事实上,如果是正版Windows XP或近两年购入的个人电脑,那系统自动更新早就把IE7或是IE8安装上了,也不会遗留这么多的IE6。

鉴于盗版Windows XP是一个更难解决的问题,所以在国内,要解决IE6的问题,最有效的手段也许是去贿赂一下360安全卫士?

Advertisements
This entry was posted in editor and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s