年2月5日,Mozilla在给开发者的电子邮件中宣布,在2.6版本之后,将正式停止开发FirefoxOS手机版操作系统,这一举措,也就意味着FirefoxOS的失败。本文作者BenFrancis是FirefoxOS操作系统的开发者之一,他从自身经历出发讲述了FirefoxOS的前世今生。
FirefoxOS是个失败的操作系统,知道的人并不多,但它曾经想改变点什么,我们应该报道下这个内容,让它在国内的社区中,留点痕迹。本文最初发布于BenFrancis的博客,经原作者授权由InfoQ中文站翻译并分享。
写在前面我叫Ben,是一位Mozilla人,一名软件工程师,过去五年来一直全职从事着“BoottoGecko”(以下简称B2G)项目,今天我想给你们讲个故事。
从BoottoGecko开源软件项目在年通过邮件列表中发布的一封邮件,以一个空的GitHub代码库闪亮登场,到后来以FirefoxOS移动操作系统的形式商用发布,再到年将数百万行代码“转移”给社区,这个故事的跨度很大。五年时间,Mozilla社区的数百位成员因为一个共同目标走到一起,希望借助开放网络的力量颠覆应用生态。我希望借助本文对我们基于开源浏览器打造移动操作系统过程中所收获的成功、失败,以及学到的经验教训进行反思。
B2G的搭建从一个空白的GitHub代码库开始,共同创始人们组建了一个小规模的初始团队,开始着手“Gonk”(一种基于Linux内核和Android硬件抽象层的“底层基板”)、“Gecko”(一种在Firefox的Web引擎基础上建立的应用运行时和设备API)以及“Gaia”(一种使用HTML、CSS,以及JavaScript等Web技术构建的智能手机用户界面)的相关工作。
B2G架构
一些代码重用了Android开源项目的代码,但这个架构的独特之处在于彻底去除了Android中的整个Java层,取而代之的是通过Gecko渲染Web内容,借此实现近乎裸机运行的性能表现。这种设计使得B2G在性能方面具备了非常先进的优势,可以让Web内容获得类似原生代码的运行表现。
年12月,Mozilla在台北大楼的办公室筹备过程中,首次在不使用浏览器插件的情况下,通过网页拨打了有史以来的第一通电话通话。手机最基本的必要功能已经逐渐具备了。
FirefoxOS1.0 设计在第一次迭代过程中,提供给UX团队的想法极为有限,基本上不可能产生让人惊艳的成果。当时依然沿用了类似于Android和iOS的应用图标网格设计方式,但尽可能进行了简化。首先我们需要证明使用现有的Web技术是可以构建出这种类型的UI的。
UX团队的这个设计非常流畅,但现在回想起来,一开始就模仿现有产品,并假设随后如果必要可以调转方向,这是一个极大的错误。
实现在工程这一块,我们证明了使用开放的Web技术是可以打造智能手机的,并且整个用户界面都可以用HTML、CSS和JavaScript来创建。
为了通过JavaScript与智能手机的底层硬件通信,我们需要在新API方面进行大量投入,并要研究一种可行的特权模型。Web技术的现有安全模型可以通过沙箱限制让浏览器安全地执行不可信代码,为了让Web内容能够访问更多高特权功能,例如接打电话以及发送短信,还需要具备一套新的安全系统。
为了能按时发布1.0版B2G,我们认为能同时满足脱机使用和安全需求的最简单方法是为Gecko引入打包应用的概念。打包的资源可以“安装”到设备上,进而可以脱机运行,并通过密码学签名验证代码是否可信。
年7月在西班牙电信位于巴塞罗那的办公室举办的工作周活动中,我们决定先选择打包应用作为一种临时解决方案,直到能有其他更好的办法。我认为这个决策是另一个重大失误,因为随着技术债越欠越多,我们已经逐渐走上了一条不归路。
年世界移动通信大会年2月,我们在巴塞罗那世界移动通信大会上公布了首个商业化设备,首发设备包括ZTEOpen和AlcatelOneTouch。同时LG和华为也承诺会发布相关设备。
ZTEOpen和AlcatelOneTouch智能手机
当时消息是在MWC召开前一天通过媒体大会公布的。我们本来估计会有大约名与会者,结果当天来了超过家媒体、传媒、分析师嘉宾。我们还设法达成了一项史无前例的壮举,18个电信公司的CEO共同登台表达对该项目的支持,这样的盛况就算放在GSMA(全球移动通信系统协会)也足够让人吃惊了。
CEO出席媒体大会,MWC
我认为完全可以说FirefoxOS是那年活动上最耀眼的新星。大会杂志上每一天我们都上头版,我们在GoogleNews上共产生80,个媒体搜索结果,FirefoxOS甚至与奥斯卡一起登上了Twitter趋势榜!这几乎是所有公关人员梦寐以求的结果。
FirefoxOS1.xFirefoxOS已经做好了上市的准备。但在举行1.0版发布会之前,我们就已经回到办公室开始继续对它进行完善。
最初我们主要专注于增加智能手机的基本功能,例如1.0版中缺乏的彩信功能,随后我们将工作重心放在为应用开发者提供更完善的开发工具,以及满足合作伙伴们千奇百怪的需求方面。
随着我们在和年陆续发布1.1、1.2、1.3以及1.4版FirefoxOS,事实证明我们只是在不断追逐Android的尾灯,而Android比我们有着五年的先发优势,我们根本赶不上。如果希望FirefoxOS能赢得市场并获得更大市场占有率,必需另辟蹊径。
“蹊径”到底在哪几乎所有人都赞同,我们无法按照Android和iOS的路子战胜这两个操作系统。功能方面,我们赢不了Google;设计方面,当然也赢不了Apple。Mozilla曾经以小博大战胜过其他巨头,但如果按照他们制定的规则来玩,我们是赢不了的,我们必需制定自己的规则。
FirefoxOS的蹊径到底在哪,我觉得主要有两个思路。
以Web为平台思路一:我们不应在功能方面努力追赶竞争对手,而是可以考虑在用户界面方面发力。我们可以打造一种更简单的UI,借助这种UI强化Web本身的优势。
但这就会面临一个挑战:媒体经常会通过应用商店内的应用数量对FirefoxOS和竞争对手进行比较。FirefoxOS从一开始就没考虑过使用一个统一的应用商店,而是要以整个Web作为自己的平台。然而我们在早期作出的一些有关应用打包的技术决策把我们逼到了角落,使得我们只能继续依赖开发者提交到由Mozilla运营的FirefoxMarketplace中的那几千个应用。
我们讨论过将北京中科白殿风医院正规吗北京最好的白癜风医院电话