不治身亡是什么意思| 咳嗽喉咙痒吃什么药好得快| 肺结核传染途径是什么| 糖尿病吃什么水果| 李商隐被称为什么| 红绿色盲是什么遗传病| 月经量极少几乎没有是什么原因| 势利眼是什么意思| 5月13号是什么星座| 抵抗力差是什么原因| 男人为什么喜欢大胸| 胃疼吃什么药效果好| 支气管疾患是什么意思| 什么动物有四个胃| 梦见女人是什么意思| 金青什么字| 有故事的人是什么意思| 全脂牛奶是什么意思| 雉是什么动物| 春风什么什么| tt是什么意思| 肠胀气吃什么药| 肚脐眼的作用是什么| 人为什么有两个鼻孔| 12月8号什么星座| 松板肉是什么肉| 两脚发热是什么原因| 旗舰是什么意思| 等离子是什么| 走肾不走心什么意思| 过敏性咳嗽有什么症状| 小孩头疼是什么原因| 查颈椎挂什么科| 为什么会有痰| 四叶草项链是什么牌子| 眼袋重是什么原因| 微量元素检查挂什么科| 吴亦凡为什么叫牛| ebv病毒是什么| 品红是什么颜色| 子宫肌腺症是什么病| 政治面貌是什么意思| 梅毒螺旋体抗体阳性是什么意思| 为什么小便会带血| 重庆房价为什么这么低| 心肾不交是什么意思| 中性粒细胞百分比偏低是什么意思| 云字属于五行属什么| 缺铁吃什么| 1月3日什么星座| 眼睛红肿是什么原因| 为什么子宫会下垂| 布施什么意思| 造纸术是什么时候发明的| 含羞草能治什么病| 喝什么补羊水| 五点是什么时辰| 小腿外侧是什么经络| 吃什么促进新陈代谢| 腹泻拉稀水是什么原因| 桑蚕丝是什么面料| 头晕冒汗是什么原因| 酸梅汤不能和什么一起吃| 深海鱼油有什么功效| 东营有什么大学| 茶叶有什么功效与作用| qaq什么意思| 肛门周围痒是什么病| 6月24日什么星座| 甲状腺结节吃什么散结| 妈妈的姐姐叫什么| 女人为什么会得霉菌| 印度什么人种| 梦见自己拉粑粑是什么意思| 过敏不能吃什么东西| 颈椎病头晕吃什么药| 青少年梦遗有什么危害| 这是什么| 儿童结膜炎用什么眼药水| 警察为什么叫蜀黍| 公价是什么意思| 历史是个什么玩意儿| 考护士资格证需要什么条件| 月经期间吃什么补气血| 256排ct能检查什么病| 蔬菜沙拉一般用什么蔬菜| 处女座的幸运数字是什么| 鸡打瞌睡吃什么药| 心房颤动是什么意思| 八府巡按是什么官| 爱叶有什么作用和功效| 喝酒伤什么| 白带多是什么原因| 文爱什么意思| 白切鸡用什么鸡做好吃| 果位是什么意思| 中午吃什么减肥| 为什么海水是咸的| 加盟店是什么意思| 孙尚香字什么| 霉菌性阴炎用什么药好得快| 抗病毒什么药效果好| 百合和什么一起煮可以治失眠| 风疟病是什么意思| 骨髓抑制什么意思| 未土是什么土| 鹿查什么部首| 眩晕症是什么| 想要孩子需要做什么检查| 夜间睡觉出汗是什么原因| 甲鱼和什么食物相克| 上火喝什么药| 吃什么会变白| 头顶发热是什么原因| 长期开灯睡觉有什么危害| 为什么发际线高| 尿黄吃什么药| 男人吃洋葱有什么好处| 睾头囊肿是什么意思| 什么是热射病| 兰花什么时候开花| 腮腺炎不能吃什么东西| 气泡水是什么| 小暑节气吃什么| 胎盘能治什么病| 七月十三号是什么星座| 农历七月份是什么星座| 摩羯座和什么座最配| 拔罐紫色说明什么| 业障什么意思| 含是什么意思| 为什么插几下就射了| 矜贵是什么意思| 玥字属于五行属什么| 排湿气吃什么药效果好| 碳酸氢钠是什么东西| 待见是什么意思| 来月经喝啤酒有什么影响| 咳嗽适合吃什么水果| 歧途什么意思| 三羊念什么字| 羟苯乙酯是什么| 葛根粉有什么功效和作用| 哪是什么意思| 兔子不吃窝边草是什么意思| 什么的跑步| 1889年属什么生肖| 益生元是什么东西| 十月初八是什么星座| 自然人是什么意思| 挑染是什么意思| 腿为什么肿| 职位是什么意思| 为什么吃辣的就拉肚子| 化疗期间吃什么好| pe医学上是什么意思| 女生做彩超是检查什么| 吃什么不会长胖| 动手术后吃什么对伤口恢复比较快| 土豆不能和什么一起吃| 恒顺众生是什么意思| 什么什么龙什么| 高血压适合吃什么水果| au750是什么材质| 什么是菊粉| 艺不压身是什么意思| 9月10日什么星座| 蛋白粉什么时候喝最好| 省油的灯是什么意思| 八仙桌是什么生肖| 痔疮是什么症状| 脑供血不足吃什么药好得快| 肺纤维化有什么症状| 经常放屁是什么病| 117是什么电话| 下颌关节紊乱挂什么科| 属马的本命佛是什么佛| 月子吃什么最下奶| 什么网卡好| 传说中的狮身人面像叫什么名字| 眼睛屈光不正是什么| 口臭吃什么药最有效| 宝宝大便发白是什么原因| 泥鳅吃什么食物| 花荣的绰号是什么| 孤魂野鬼是什么生肖| 草鱼又叫什么鱼| 吃什么对卵巢好| 婴幼儿吃什么奶粉好| 后背疼应该挂什么科| 什么解酒快| 檀木手串有什么好处| 扁桃体肥大是什么原因造成的| 盗墓笔记它到底是什么| abob白色药片是什么药| 脚心发热是什么原因| 梦见女儿结婚是什么意思| 什么人靠别人的脑袋生活| 炖排骨放什么调料| 38码衣服相当于什么码| 为什么射出的精子里有淡红色| 呕吐腹泻是什么原因| 绿茶女什么意思啊| 日本为什么要侵略中国| 什么是贫血| 红绿色盲是什么遗传病| 什么是变异性哮喘| 丙二醇是什么| 耳聋是什么原因引起的| 带环了月经推迟不来什么原因| 总手是什么意思| 单侧流鼻血是什么原因| 智障是什么意思| 酸碱度偏低是什么原因| 主播是什么意思| 脚趾缝痒溃烂用什么药| 经常饿肚子会导致什么后果| 国民党为什么会失败| 挺尸 是什么意思| 什么啤酒劲最大| 一般事故隐患是指什么| 乳腺钼靶是什么意思| 马上风为什么拔不出来| 肚脐下三寸是什么位置| 尿葡萄糖高是什么原因| 入心是什么意思| 烂脚丫用什么药| 毫米后面的单位是什么| 尿里加什么能冒充怀孕| 羟基维生素d是什么| 借力是什么意思| 炖汤用什么鸡| 微波炉加热用什么容器| 秦始皇为什么要焚书坑儒| 艮五行属什么| 头晕恶心挂什么科| 亚铁是什么| 履历是什么意思| 大便颜色发黑是什么原因| 汉语拼音是什么时候发明的| 拔牙能吃什么| 脑淤血是什么原因引起的| 梦到小孩子是什么意思| 佛是什么意思| 独在异乡为异客是什么节日| 影响是什么意思| 血压高吃什么降压药| 病理是什么意思| 申时属什么生肖| 叕怎么读音是什么意思| 所费不赀是什么意思| 过敏了吃什么药好| 癫疯是什么原因引起| 10.16是什么星座| 4月25日什么星座| 下巴两边长痘痘是什么原因| 常吃阿司匹林有什么副作用| 怀孕了有什么症状| 拍身份证穿什么衣服| 羡慕的什么| 东北属于什么气候| 鉴黄师是什么职业| oem是什么| 补肾气吃什么药最好| 百度
Skip to content
Biz & IT

额济纳旗东风航天城入选首批中国十大科技旅游基地

百度 孙群表示,下一步,在首个征期前,重点抓好四项工作:一是继续完善配套政策、制度。

Canning Windows Phone and using Android would be a huge mistake.

Ars Staff | 414
Credit: Broderick
Story text

As happens from time to time, the suggestion has been made that Microsoft cancel Windows Phone, and instead fork Android. It's not the first time this suggestion has been made. It's probably not the last, either.

It's a poor idea. Google has worked to make Android functionally unforkable, with no practical way to simultaneously fork the platform and take advantage of its related strengths: abundant developers, and abundant applications.

The outline of the "Microsoft should fork Android" argument is as follows: Windows Phone doesn't have huge developer buy-in or sales success, but Android has both. By forking Android, Microsoft could provide unique value—corporate integration with things like Exchange, Active Directory, and System Center or InTune; full Office support; a polished user experience—and make the platform depend on its own cloud services (Bing, Bing Maps, Azure) rather than Google's. But simultaneously, it would still have access to all the Android applications that people depend on.

The result should be a platform that's somehow more attractive to consumers, by virtue of the Android brand and all those Android apps, more attractive to developers thanks to the Android APIs, and cheaper for Microsoft to develop, since core operating system development can be left to Google.

Where this falls down is that there's no good way to use the Android platform this way. It's not designed for it. In fact, with each new Android release, Google is making a forked operating system less and less viable.

Not-very-open source

Broadly speaking, Google produces two big chunks of code. The first is the Android Open Source Platform (AOSP) codebase. This provides the basic bones of a smartphone operating system: it includes Android's version of the Linux kernel, the Dalvik virtual machine, and portions of the basic user interface (settings app, notification panel, lock screen). This part is licensed under a mix of the GPL and Apache license. Google produces periodic code release of these open source parts, though has been criticized for performing the actual development largely behind closed doors.

The second chunk is called the Google Mobile Services (GMS). (Or at least, sometimes it's called GMS. Sometimes it's called just Google Services, and sometimes it's Google Play or Google Play Apps; GMS is what it's called in the code, though, so that seems to be the most common name). This has two big portions. The Google Play Services provides a wealth of APIs and system services: APIs for Google Maps, Location, and in-app purchasing; Google+ integration; Remote Wipe; Malware scanning; and more. Then there's the Play Store collection of apps: Search, Gmail, Chrome, Maps, and many more.

The GMS has a few important features. GMS isn't open source. Anyone can take AOSP and slap it on a phone. That's not true of GMS. To get GMS, the device has to meet certain technical requirements (performance, screen resolution, and so on), and it has to pass validation. Though Google says that the GMS suite is itself free, the validation process isn't, with reports that it costs around $0.75 per device.

GMS also seems not to be divisible: if your phone passes the GMS validation and can include GMS, it includes everything: both Play Services, and the various Google-branded apps that use those services.

The split between AOSP and GMS is not constant, either. Google has slowly been migrating more and more functionality to GMS. For example, in the latest Nexus 5, the core phone user interface—the thing that you use to launch apps and show icons—has been rolled into the GMS Search app.

Similarly, APIs have made the move. AOSP contains a location API, but GMS contains a newer, better one, with additional features. Google encourages developers to use the GMS API, and the AOSP Location API mostly dates back to Android 1.0, and hasn't seen any substantial changes since Android 1.5. The result is that many third-party applications are not merely "Android" applications: they're GMS applications, and won't run without the proprietary, non-open Google software.

Four ways to do Android

There are four ways that hardware builders can use Android on their phones.

The first is the way that Google really wants companies to use Android: by relying both on AOSP and GMS. Pass the certification, include all the Google services and Google apps. That's what companies like Samsung and HTC and LG do. Going this route still provides some facility for the OEM to customize. OEMs can provide their own apps to sit alongside the Google ones, for example. It appears that Google isn't completely happy about this—there are reports that the company recently made an agreement with Samsung whereby Samsung would reduce the amount of customization of the user interface and deprioritize or remove its apps that competed directly with Google-branded equivalents.

Taking this path provides the best compatibility with third-party applications by ensuring that they have both AOSP and GMS APIs available to them. It also provides the most consistent experience: in spite of the various customizations that are done, it means that Google's apps will be available, and those apps will work the same way on any AOSP+GMS device.

It also cedes most control to Google, and that level of control will only grow. Each new release increases the level of integration with Google's own services, and Google is moving more and more new functionality to GMS, leaving AOSP a barebones husk.

At the other end of the spectrum, you can ignore GMS entirely. Ship a phone with AOSP and perhaps some custom software on top of it to make the experience a little less rough for users, and call the job done. At the very cheapest end of the market, there are companies doing precisely this; it's abundant in China, in particular. If they choose, OEMs can provide their own stores and other services to fill the many, many gaps that omitting GMS leaves, but they're always at a disadvantage relative to GMS devices, because they won't be compatible with any third-party applications that use GMS' APIs. That's not a small category, either, since features such as in-app purchasing are in GMS.

The third option is the one that spans the two: ship a device with AOSP, and an equivalent to GMS that provides new implementations of substantially the same APIs. Provide workalike replacements for services such as location and mapping, but plumb into Microsoft services rather than Google ones. No company has really gone down this route. The closest is Amazon, which provides near-drop-in replacements for some Google APIs (in particular mapping), but which hasn't even begun to keep pace with GMS development in general.

Technically, however, a company with sufficient development resources could provide its own GMS replacement. The overhead would be not insignificant, especially as—to ensure optimal compatibility—the replacement would have to replicate not just correct functioning, but any bugs or quirks of the GMS implementation.

There are also lots of little awkward aspects of the GMS API; it includes such capabilities as "share with Google+" which few companies have any real counterpart to. Another example: there is an API for handling turn-based multiplayer gaming. A company could implement this API and have its own server infrastructure for managing the gaming sessions, but obviously these gaming sessions would be completely separate from Google's gaming sessions, fragmenting the player base in a way that game developers are unlikely to be keen on.

As an added bonus, should the ultimate resolution of Google's long-running legal battle with Oracle be that APIs are, in fact, copyrightable, this kind of wholesale reimplementation of GMS would become legally actionable. Google could, if it chose to, shut it down through the courts.

To these three options, one could perhaps add a fourth: use AOSP to provide a few essential services—support for hardware, telephony, and so on—but then build an entirely new platform and APIs to run on it. Aspects of Amazon's API support would fall into this category, with some of its APIs covering the same ground as GMS APIs, but in a completely different, incompatible way. It's not clear, however, that any manufacturer has entirely embraced this path, though one might argue that Ubuntu for Android is similar, at least in spirit.

You can have compatibility or control: Not both

The first of these options—AOSP with GMS—is the only option that provides the full Android experience. It's the only one that ensures developers can transfer their skills perfectly, the only one that ensures that the full breadth and variety of Android software is available. However, it's clearly not a good option for Microsoft, given that it would almost entirely cede control of the platform to Google—and judging by the advertising company's track record, it would cede even more control with each new Android release.

The second option—AOSP with a few extra custom extras—has the upside of providing an opportunity for Microsoft to integrate its own services. It would support some Android software, though exactly how much is unclear. It would certainly mean omitting any high-profile title using in-app purchasing, so, say, Plants vs. Zombies 2 or the latest iteration of Angry Birds would be out. If one were building a feature phone platform, this may be a somewhat reasonable path to take. When the phone is only really built for running the built-in apps (camera, browser, e-mail) the fact that many Android apps would be incompatible doesn't really matter.

The rumors of a Nokia-built Android phone suggest this kind of approach: AOSP under the hood, but with Nokia services, not Google ones, on top.

This approach also probably works acceptably for ultra-low-end devices where compatibility isn't such a big deal, which accounts for much of the Chinese AOSP market. But for Microsoft, this would be missing the point: the company already has a platform that's not compatible with the latest and greatest high profile apps. It doesn't need another one.

However, it's important to understand just how deficient this kind of device would be. Google has pushed very significant pieces of functionality into GMS, including messaging and the Chrome browser. The AOSP counterparts are buggy, feature deprived, and by at least some accounts, barely maintained. If a company wants to use AOSP without GMS, it has a lot of work to do if it wants to produce a high quality experience. The open source parts just aren't good enough.

Amazon's Kindle experience also demonstrates how even having an Android-like AOSP-derived platform is challenging. Kindle doesn't have the latest and greatest Android games, because their various developers haven't bothered making non-GMS versions of their games, even though the Kindle platform is very similar to Google's. In other words, the application challenge already faced by Windows Phone isn't solved by using AOSP. The only way to solve the application issue is to be not merely an AOSP platform but a GMS platform.

The third option—AOSP with a home-grown GMS equivalent—would solve this, but it would also maximize the development effort required by the forker. Providing equivalents to every GMS capability ensures at least that users get a decent experience. It would also reinstate the software compatibility that AOSP without GMS forfeits.

But this is a huge undertaking. For Microsoft, the effort required to build a GMS workalike on top of AOSP is going to be comparable to the effort required to build the Windows Phone shell and APIs on top of Windows. In fact, it's likely to be somewhat greater: Microsoft already has, for example, a browser engine that runs on Windows. It doesn't have one that runs on AOSP.

Moreover, it still implicitly gives Google control over the platform. Various aspects of how Android is used are determined by the underlying APIs: sharing between applications, for example, is done in a particular Android way. Any platform using Android in this way would have only a limited ability to take the platform in a different direction from the one Google chose.

The fourth option—use AOSP with an entirely new software stack on top—gives freedom and flexibility, but to what end? The kernel isn't the important bit. Microsoft already has a smartphone kernel. Windows Phone 8 already uses it. And strikingly, for Microsoft, ditching Windows Phone doesn't mean that the company can ditch development of this kernel. It's already being developed—for Windows! The kernel isn't the hard part.

Fork off

If Android were an open platform in the way that Firefox OS or Ubuntu for smartphones were an open platform, the forking suggestion would make more sense. The AOSP/GMS split wouldn't exist. Everything would be in AOSP, so piecemeal substitution of back-end services without having to reinvent vast tracts of code and without any major compatibility implications would be practical.

But it isn't. Not only is it not this kind of an open platform, but Google is actively working to make it functionally less open with each new release. The result is that a forker has to make a choice: they can give Google control and get the all the upsides of the platform, or they can snatch control from Google and get almost none of them.

Android isn't designed to be forked. With GMS, Google has deliberately designed Android to resist forking. Suggestions that Microsoft scrap its own operating system in favor of such a fork simply betray a lack of understanding of the way Google has built the Android platform.

Listing image: Broderick

414 Comments
氯雷他定片主治什么病 上腹部饱胀是什么原因 气血虚吃什么补最快女人 女性私下有苦味主要是什么原因 北极有什么动物
什么运动可以长高 虎的贵人是什么生肖 蜂蜜吃有什么好处 sys是什么意思 宫颈口在什么位置
屎壳郎是什么意思 女生安全期什么意思 羊鞭是什么部位 什么是免疫力 手指关节疼痛看什么科
道德经是什么意思 梅花象征着什么 外婆的妈妈叫什么 孩子睡觉咬牙齿是什么原因引起的 6月22日是什么星座
808什么意思clwhiglsz.com 卦是什么意思hcv8jop4ns6r.cn 什么的风hcv7jop9ns3r.cn 姊妹是什么意思hcv7jop7ns0r.cn 纯天然无公害什么意思hcv9jop2ns6r.cn
2月4日什么星座hcv8jop8ns7r.cn 什么食物养胃又治胃病hcv8jop7ns2r.cn 肾虚什么症状hcv9jop1ns8r.cn 炖肉什么时候放盐hcv9jop2ns9r.cn 2是什么生肖hcv7jop5ns1r.cn
核磁共振是检查什么的hcv9jop0ns0r.cn 为什么水能灭火travellingsim.com 赤子是什么意思creativexi.com 白凉粉是什么hcv8jop3ns4r.cn 莓茶是什么茶hcv7jop5ns0r.cn
脂肪瘤长什么样hlguo.com 鸽子吃什么hcv7jop4ns7r.cn 补办手机卡需要什么hcv7jop7ns0r.cn 音节是指什么hcv8jop1ns2r.cn 副处级干部是什么级别hcv8jop6ns1r.cn
百度