这个曾领先于谷歌和微软的开源项目,为何盛极而衰?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"编译|核子可乐"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"编辑|燕珊"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Firefox正在不断流失用户,这是一个不争的事实。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"来自Firefox的"},{"type":"link","attrs":{"href":"https:\/\/data.firefox.com\/dashboard\/user-activity","title":"","type":null},"content":[{"type":"text","text":"公开数据"}]},{"type":"text","text":"显示,自2018年底到2021年8月30日,桌面端Firefox的MAU(月活跃用户数)下降约 18% 至 1.998 亿,大概少了 4400 万月活用户。进一步看会发现,其中有一半月活用户是今年内损失的(3月至今减少近2000万)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/d5\/d518153ecb1720e71e096c989279d129.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"根据Statcounter在8月发布的"},{"type":"link","attrs":{"href":"https:\/\/gs.statcounter.com\/browser-market-share#","title":"","type":null},"content":[{"type":"text","text":"统计"}]},{"type":"text","text":",在桌面浏览器市场中,Microsoft Edge 和 Mozilla Firefox 目前正在激烈争夺第三的名次,其中Edge录得3.57%的市场份额,Firefox则是3.55%。"},{"type":"text","marks":[{"type":"strong"}],"text":"自从Edge 浏览器转向Chromium内核之后,其份额就持续上升。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"事实上,近几年关于Firefox衰落趋势的讨论络绎不绝。Firefox曾一度是全球第二大浏览器,市占率高达35%,而现实的情况是,它的市场占有率已经连续多年下降。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一位有近40年编程经验的开发者Dan近日就Firefox的衰落趋势发表了自己的看法,从几个方面阐述Firefox的不足之处。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在社区讨论中,一个获得不少赞同的观点是,因为不想让Google完全控制浏览器市场所以才用的Firefox。但也有人表示,当 Firefox 越像 Chrome,自己就越没有理由继续使用它了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Dan认为,造成 Firefox 衰落的原因,始于2009年第三季度的一个致命决定……"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"以选项卡为中心"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"在做出强制推行选项卡中心设计的"},{"type":"link","attrs":{"href":"https:\/\/www.wired.com\/2009\/07\/mozilla-considers-copying-chrome-for-firefox-4dot0\/","title":"","type":null},"content":[{"type":"text","text":"决定"}]},{"type":"text","marks":[{"type":"strong"}],"text":"之后,Firefox的市场份额就开始萎缩"},{"type":"text","text":"。当时,PC上的所有其他程序都在使用针对活动窗口的选项卡,包括微软Office及Adobe等专有软件,Notepad++及GIMP等自由开源软件,外加3D设计、视频编辑器、十六进制编辑器等等。总之,这一切都是当时最标准、最合乎逻辑的设计思路。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"之后谷歌决定把选项卡设定为Chrome浏览器中的核心标准,但这款浏览器其实主要是为移动设备、而非台式机所设计。这套方案在智能手机上确有意义,毕竟这里没有完整的桌面式菜单布局空间。但在台式机上,整个体系就显得很反直觉,而且破坏了其他程序的操作流程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"台式机代码与手机不同,因此"},{"type":"text","marks":[{"type":"strong"}],"text":"Firefox其实没理由要把这种强调移动端的UI强行推广给台式机用户"},{"type":"text","text":"。面对高达400万行的代码库,Firefox当时针对其中两行代码给出的“原方案太难维护”的理由纯粹是在侮辱用户的智商——代码又不是草坪,几个礼拜不管也不会变黄。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"面对用户如海浪被涌来的投诉,一位不愿透露姓名的主要开发者给出的回应是,“我们有几亿用户,5000人的不满并不能代表大多数使用者。”但他们没有意识到,人们在抱怨中流露出了这样的意见——如果我想让自己的浏览器看起来像Chrome,那我就直接用Chrome了。没错,他们也确实这么做了。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"不断删除“没人使用”的功能"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Firefox做出的每项变更都遵循着相同的模式——"},{"type":"text","marks":[{"type":"strong"}],"text":"修改掉默认功能,但却没有任何菜单设置供用户执行恢复。"},{"type":"text","text":"接下来,把菜单设置删除掉,用户只能通过about:config执行变量。之后是删除about:config选项。用户群体的每一次抗议得到的都是相同的回应:“"},{"type":"text","marks":[{"type":"strong"}],"text":"你只是极少数,大多数人喜欢这种变化。"},{"type":"text","text":"”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而且每轮调整都会赶走更多用户,没人愿意再度遭受Mozilla工作人员傲慢、居高临下的态度给自己留下的“心理创伤”——所以,他们永远也不会回来。认真关注用户数量,大家可以发现每次删除之后Firefox的份额都有明显下降,只有在第三方加载项或CSS恢复变更方案出现后才会稳定下来。年复一年、周而复始,Mozilla显然没有吸取任何教训。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"好像是觉得删除设置还不过瘾,Firefox又继续对插件和主题进行中立化处理,强制集中签名并最终弃用了XUL,而且根本不给能够补充这些丢失功能的webextension api。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"面对这些变化,我再次与之前那位主要开发者交谈,他的回答是“大家不用Firefox,就是因为这里的插件太多了。我们的遥测结果显示,80%的用户从未安装过任何插件。”但问题在于,任何懂点技术的人都会优行关闭遥测功能,他们不希望浏览器监视自己的行踪,所以这种调查结果明显就不靠谱。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"即使是在UI设计中做出的一项重大举措——拖放式可定制Australis界面,也因为糟糕的默认布局和CSS选项太少而没能得到用户们的肯定。可怕的倾斜选项卡(直接抄袭自Chrome)也是Mozilla唯一亲口承认没能做好的UI变动。更让人意外的是,就连Chrome自己后来都取消了这项功能,Firefox却一路坚持到底。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"直到今天,Mozilla仍声称自己非常重视用户的意见。但12年过去,他们的态度冷漠依旧,糟糕的「默认Proton UI」则是强迫用户的最新手段。(如果大家觉得我的判断有失偏颇,请在Google上输入「Firefox Proton」看看其他用户是怎么评价的。)虽然这方面问题可以通过userCHrome.css得到很大程度修复,但我已经厌倦了这种一有更新就得修复一番的感受。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"糟糕的编码范式"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Mozilla的源代码也是噩梦一场。例如,默认配置文件位置被定义了3次,使用的是3种不同语言的不同变量,其中之一还是由不同文件当中多个变量组合而成的。其中有一个全局变量,要通过6个不同的文件共同定义。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"编译后、下载历史、访问过的页面、书签等等,都被一股脑塞进了混淆文件当中。最终结果是,我们只能从历史记录中一个个删除这些条目。要是能把它们放在同一个独立的文本文件中,不是几秒钟就能清理完吗?为什么非要这么搞?想要更改图标外观,或者为自定义搜索添加新图标?这些PNG图像也被混淆并保存在omni.ja文件当中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我觉得但凡脑回路正常的开发者,都会支持用指定的编辑器在几秒内完成变更。但Mozilla偏偏要求用户安装并学习Eclipse之类的大型编辑工具,并在每次变更时重新编译文件。问题实在太多了,这里不再赘述。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"难怪Mozilla的编码人员在查找和修复bug方面表现得如此步履维艰,他们自己造就了更糟糕的编码范式、迫使他们为了修复bug而记录下所有内容。恶性循环就此展开。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"内存管理不善"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果某个程序待在那里什么都不做,它的内存使用量应该不会改变。看看我的内存管理器,里面有40个进程都遵循着这样的原则。但有个程序在什么都不做时仍在不断读写磁盘,猜猜它是谁?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"没错,就是Firefox。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它运行着13个进程,而且每个进程都在不断活动。我有40年的编程经验,其中30年面向PC平台,所以我多少还算懂计算机工作原理。这类问题只能归结于糟糕的底层设计,任何流于表面的修复都治愈不了这么深的病根。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"代码范式也成为 Firefox 性能糟糕的根源,他们也压根不打算解决。我敢打赌,性能也是FirefoxOS遭遇失败的一大原因。FirefoxOS的想法很好,但差劲的执行与编码实践带来了太多bug,导致成品根本无法使用。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"一边说“我们重视您的隐私”,一边大肆侵犯用户隐私"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"遥测。即使点击“禁用遥测”也无法禁用隐藏遥测。此功能会先运行ping、再强制进行插件签名,还有无法关闭的自动更新会每10分钟再ping一次。我们甚至得单独做出明确选择才能退出“实验”项目。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"现在Firefox最新的“花样”是要求用户必须使用双因素验证登录至Firefox插件账户,才能制作自定义主题。但如果不是强制推广插件签名,本来不需要这么麻烦的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"总之,Mozilla对用户隐私丝毫没有尊重,正如对我们的反馈意见丝毫没有被尊重一样。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"写在最后"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不愿承认错误、不愿听取不同意见的组织或个人必然会停滞不前、慢慢腐朽。Mozilla的决策者们似乎就是这样,所以我对Firefox的未来也不抱太大希望。希望Mozilla中能有人从过去的错误中吸取教训,克服顽疾、走向复兴。毕竟一款产品的成功来自为用户提供他们想要的、而不是告诉他们应该要什么,盲目复制竞争对手只会让自己迷失方向。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文链接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/news.itsfoss.com\/firefox-continuous-decline\/","title":"xxx","type":null},"content":[{"type":"text","text":"《Here’s Why Firefox is Seeing a Continuous Decline for Last 12 Years》"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章