Android Info

Android is an operating system based on the Linux kernel,[12] and designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Initially developed by Android, Inc., which Google backed financially and later bought in 2005,[13] Android was unveiled in 2007 along with the founding of the Open Handset Alliance—a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.[14] The first publicly available smartphone running Android, the HTC Dream, was released on October 22, 2008.[15]

The user interface of Android is based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects. Internal hardware such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented. Android allows users to customize their home screens with shortcuts to applications and widgets, which allow users to display live content, such as emails and weather information, directly on the home screen. Applications can further send notifications to the user to inform them of relevant information, such as new emails and text messages.

Android's source code is released by Google under the Apache License;[12] this permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Most Android devices ship with a combination of open source and proprietary software.[3] As of July 2013, Android has the largest number of applications ("apps"), available for download in Google Play store which has had over 1 million apps published, and over 50 billion downloads.[16] A developer survey conducted in April–May 2013 found that Android is the most used platform among developers: it is used by 71% of the mobile developers population.[17]

Android is popular with technology companies which require a ready-made, low-cost and customizable operating system for high-tech devices.[18] Despite being primarily designed for phones and tablets, it also has been used in televisions, games consoles, digital cameras and other electronics. Android's open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which add new features for advanced users[19] or bring Android to devices which were officially released running other operating systems.

As of May 2012, Android became the most popular mobile OS, having the largest installed base, and is a market leader in most countries[20] including the United States; there it has had the highest installed base of mobile phones for years.[21] In the third quarter of 2013, Android's share of the global smartphone shipment market—led by Samsung products—was 81.3%, the highest ever.[22][23][24] In most markets Android-powered phones are the most popular comprising more than half of the overall smartphone sales, including the United States market starting with the September–November 2013 period.[25] The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies.[26][27] As of September 2013, one billion Android devices have been activated.[28]


History
See also: Android version history

Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of Danger),[29] Rich Miner (co-founder of Wildfire Communications, Inc.),[30] Nick Sears[31] (once VP at T-Mobile), and Chris White (headed design and interface development at WebTV)[13] to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences".[13] The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realised that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile.[32] Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.[13] That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.[33]

Google acquired Android Inc. on August 17, 2005; key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition.[13] Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move.[13] At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.[34][35][36]

Speculation about Google's intention to enter the mobile communications market continued to build through December 2006.[37] The unveiling of the iPhone, a touchscreen-based phone by Apple, on January 9, 2007 had a disruptive effect on the development of Android. At the time, a prototype device codenamed "Sooner" had a closer resemblance to a BlackBerry phone, with no touchscreen, and a physical, QWERTY keyboard. Work immediately began on re-engineering the OS and its prototypes to combine traits of their own designs with an overall experience designed to compete with the iPhone.[38][39] In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony.[40][41]
Eric Schmidt, Andy Rubin and Hugo Barra at a press conference for the Google's Nexus 7 tablet.

On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC, Sony and Samsung, wireless carriers such as Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices.[14] That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6.[14] The first commercially available smartphone running Android was the HTC Dream, released on October 22, 2008.[15]

In 2010, Google launched its Nexus series of devices – a line of smartphones and tablets running the Android operating system, and built by a manufacturing partner. HTC collaborated with Google to release the first Nexus smartphone,[42] the Nexus One. The series has since been updated with newer devices, such as the Nexus 5 phone and Nexus 7 tablet, made by LG and Asus respectively. Google releases the Nexus phones and tablets to act as their flagship Android devices, demonstrating Android's latest software and hardware features. On March 13, 2013, it was announced by Larry Page in a blog post that Andy Rubin had moved from the Android division to take on new projects at Google.[43] He was replaced by Sundar Pichai, who also continues his role as the head of Google's Chrome division,[44] which develops Chrome OS.

Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases. Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. The latest released version is 4.4.2 KitKat, which was released on December 9, 2013.[5][45][46]
Features
See also: List of features in Android
Interface
Notifications are accessed by sliding from the top of the display; individual notifications can be dismissed by sliding them away, and may contain additional functions (such as on the "missed call" notification seen here).

Android's user interface is based on direct manipulation,[47] using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects.[47] The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. Internal hardware such as accelerometers, gyroscopes and proximity sensors[48] are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel.[49]

Android devices boot to the homescreen, the primary navigation and information point on the device, which is similar to the desktop found on PCs. Android homescreens are typically made up of app icons and widgets; app icons launch the associated app, whereas widgets display live, auto-updating content such as the weather forecast, the user's email inbox, or a news ticker directly on the homescreen.[50] A homescreen may be made up of several pages that the user can swipe back and forth between, though Android's homescreen interface is heavily customisable, allowing the user to adjust the look and feel of the device to their tastes.[51] Third-party apps available on Google Play and other app stores can extensively re-theme the homescreen, and even mimic the look of other operating systems, such as Windows Phone.[52] Most manufacturers, and some wireless carriers, customise the look and feel of their Android devices to differentiate themselves from their competitors.[53]

Present along the top of the screen is a status bar, showing information about the device and its connectivity. This status bar can be "pulled" down to reveal a notification screen where apps display important information or updates, such as a newly received email or SMS text, in a way that does not immediately interrupt or inconvenience the user.[54] Notifications are persistent until read (by tapping, which opens the relevant app) or dismissed by sliding it off the screen. Beginning on Android 4.1, "expanded notifications" can display expanded details or additional functionality; for instance, a music player can display playback controls, and a "missed call" notification provides buttons for calling back or sending the caller an SMS message.[55]
Applications
See also: Android software development and Google Play

Android has a growing selection of third party applications, which can be acquired by users either through an app store such as Google Play or the Amazon Appstore, or by downloading and installing the application's APK file from a third-party site.[56] The Play Store application allows users to browse, download and update apps published by Google and third-party developers, and is pre-installed on devices that comply with Google's compatibility requirements.[57] The app filters the list of available applications to those that are compatible with the user's device, and developers may restrict their applications to particular carriers or countries for business reasons.[58] Purchases of unwanted applications can be refunded within 15 minutes of the time of download,[59] and some carriers offer direct carrier billing for Google Play application purchases, where the cost of the application is added to the user's monthly bill.[60]

As of July 2013, there are more than one million applications available for Android in the Play Store.[61] As of May 2013, 48 billion apps have been installed from the Google Play store.[62]

Applications ("apps"), that extend the functionality of devices, are developed primarily in the Java programming language[63] language using the Android software development kit (SDK). The SDK includes a comprehensive set of development tools,[64] including a debugger, software libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) plugin. Other development tools are available, including a Native Development Kit for applications or extensions in C or C++, Google App Inventor, a visual environment for novice programmers, and various cross platform mobile web applications frameworks.

It was announced in January 2014 that Chrome HTML5 web applications should become available, using a compatibility layer from the open source Apache Cordova framework to allow such applications to be wrapped in a native application shell, enabling their distribution over Google Play.[65]

In order to work around limitations on reaching Google services due to Internet censorship in the People's Republic of China, Android devices sold in the PRC are generally customized to use state approved services instead.[66]
Memory management

Since Android devices are usually battery-powered, Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited mains electricity. When an Android app is no longer in use, the system will automatically suspend it in memory – while the app is still technically "open", suspended apps consume no resources (e.g. battery power or processing power) and sit idly in the background until needed again. This has the dual benefit of increasing the general responsiveness of Android devices, since apps don't need to be closed and reopened from scratch each time, but also ensuring background apps do not consume power needlessly.[67][68]

Android manages the apps stored in memory automatically: when memory is low, the system will begin killing apps and processes that have been inactive for a while, in reverse order since they were last used (i.e. oldest first). This process is designed to be invisible to the user, such that users do not need to manage memory or the killing of apps themselves.[69][70] However, confusion over Android memory management has resulted in third-party task killers becoming popular on the Google Play store; these third-party task killers are generally regarded as doing more harm than good.[71]
Hardware
See also: Android hardware requirements

The main hardware platform for Android is the 32-bit ARMv7 architecture. There is support for x86 from the Android-x86 project,[7] and Google TV uses a special x86 version of Android. In 2012, Intel processors began to appear on more mainstream Android platforms, such as phones.[72] In 2013, Freescale announced support for Android on its i.MX processor, specifically the i.MX5X and i.MX6X series.[73]

As of November 2013, current versions of Android require at least 512 MB of RAM,[74] and a 32-bit ARMv7, MIPS or x86 architecture processor (latter two through unofficial ports),[7][75] together with an OpenGL ES 2.0 compatible graphics processing unit (GPU).[76] Android supports OpenGL ES 1.1, 2.0 and 3.0. Some applications explicitly require certain version of the OpenGL ES, thus suitable GPU hardware is required to run such applications.[76]

Android devices incorporate many optional hardware components, including still or video cameras, GPS, hardware orientation sensors, dedicated gaming controls, accelerometers, gyroscopes, barometers, magnetometers, proximity sensors, pressure sensors, thermometers and touchscreens. Some hardware components are not required, but became standard in certain classes of devices, such as smartphones, and additional requirements apply if they are present. Some other hardware was initially required, but those requirements have been relaxed or eliminated altogether. For example, as Android was developed initially as a phone OS, hardware such as microphones were required, while over time the phone function became optional.[58] Android used to require an autofocus camera, which was relaxed to a fixed-focus camera[58] if it is even present at all, since the camera was dropped as a requirement entirely when Android started to be used on set-top boxes.
Development
Android green figure, next to its original packaging.

Android is developed in private by Google until the latest changes and updates are ready to be released, at which point the source code is made available publicly.[77] This source code will only run without modification on select devices, usually the Nexus series of devices. The source code is, in turn, adapted by OEMs to run on their hardware.[78] Android's source code does not contain the often proprietary device drivers that are needed for certain hardware components.[79]

The green Android logo was designed for Google in 2007 by graphic designer Irina Blok. The design team was tasked with a project to create a universally identifiable icon with the specific inclusion of a robot in the final design. After numerous design developments based on science-fiction and space movies, the team eventually sought inspiration from the human symbol on restroom doors and modified the figure into a robot shape. As Android is open-sourced, it was agreed that the logo should be likewise, and since its launch the green logo has been reinterpreted into countless variations on the original design.[80]
Update schedule
See also: Android version history

Google provides major updates, incremental in nature, to Android every six to nine months, which most devices are capable of receiving over the air.[81] The latest major update is Android 4.4 KitKat.[5]

Compared to its chief rival mobile operating system, namely iOS, Android updates are typically slow to reach actual devices. For devices not under the Nexus brand, updates often arrive months from the time the given version is officially released.[82] This is caused partly due to the extensive variation in hardware of Android devices, to which each update must be specifically tailored, as the official Google source code only runs on their flagship Nexus devices. Porting Android to specific hardware is a time- and resource-consuming process for device manufacturers, who prioritize their newest devices and often leave older ones behind.[82] Hence, older smartphones are frequently not updated if the manufacturer decides it is not worth their time, regardless of whether the phone is capable of running the update. This problem is compounded when manufacturers customize Android with their own interface and apps, which must be reapplied to each new release. Additional delays can be introduced by wireless carriers who, after receiving updates from manufacturers, further customize and brand Android to their needs and conduct extensive testing on their networks before sending the update out to users.[82]

The lack of after-sale support from manufacturers and carriers has been widely criticized by consumer groups and the technology media.[83][84] Some commentators have noted that the industry has a financial incentive not to update their devices, as the lack of updates for existing devices fuels the purchase of newer ones,[85] an attitude described as "insulting".[84] The Guardian has complained that the complicated method of distribution for updates is only complicated because manufacturers and carriers have designed it that way.[84] In 2011, Google partnered with a number of industry players to announce an "Android Update Alliance", pledging to deliver timely updates for every device for 18 months after its release;[86] however, this alliance has never been mentioned since.[82]

In 2012, Google began decoupling certain aspects of the operating system (particularly core applications) so they could be updated through Google Play Store, independently of Android itself. One of these components, Google Play Services, is a system-level process providing APIs for Google services, installed automatically on nearly all devices running Android version 2.2 and higher. With these changes, Google can add new operating system functionality through Play Services and application updates without having to distribute an update to the operating system itself. As a result, Android 4.2 and 4.3 contained relatively fewer user-facing changes, focusing more on minor changes and platform improvements.[3][87]
Linux kernel

As of January 2014, current Android versions consist of a kernel based on the Linux kernel's longterm 3.4 branch, varying in version numbers depending on the actual Android device.[88][89][90] Android versions older than 4.0 Ice Cream Sandwich were based on the Linux kernel versions 2.6.x.[91][92]

Android's Linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle.[93] Certain features that Google contributed back to the Linux kernel, notably a power management feature called "wakelocks", were rejected by mainline kernel developers partly because they felt that Google did not show any intent to maintain its own code.[94][95][96] Google announced in April 2010 that they would hire two employees to work with the Linux kernel community,[97] but Greg Kroah-Hartman, the current Linux kernel maintainer for the stable branch, said in December 2010 that he was concerned that Google was no longer trying to get their code changes included in mainstream Linux.[95] Some Google Android developers hinted that "the Android team was getting fed up with the process," because they were a small team and had more urgent work to do on Android.[98]

In August 2011, Linus Torvalds said that "eventually Android and Linux would come back to a common kernel, but it will probably not be for four to five years".[99] In December 2011, Greg Kroah-Hartman announced the start of the Android Mainlining Project, which aims to put some Android drivers, patches and features back into the Linux kernel, starting in Linux 3.3.[100] Linux included the autosleep and wakelocks capabilities in the 3.5 kernel, after many previous attempts at merger. The interfaces are the same but the upstream Linux implementation allows for two different suspend modes: to memory (the traditional suspend that Android uses), and to disk (hibernate, as it is known on the desktop).[101] Google maintains a public code repository that contains their experimental work to re-base Android off the latest stable Linux versions.[102][103]

The flash storage on Android devices is split into several partitions, such as /system for the operating system itself, and /data for user data and application installations.[104] In contrast to desktop Linux distributions, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. However, root access can be obtained by exploiting security flaws in Android, which is used frequently by the open-source community to enhance the capabilities of their devices,[105] but also by malicious parties to install viruses and malware.[106]

Android is a Linux distribution according to the Linux Foundation[107] and Google's open-source chief, Chris DiBona.[108] Others, such as Google engineer Patrick Brady, disagree that it is a Linux distribution, noting the lack of support for many GNU tools in Android, including glibc.[109]
Software stack
Android's architecture diagram
[icon]     This section requires expansion. (December 2013)

On top of the Linux kernel, there are the middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik "dex-code" (Dalvik Executable), which is usually translated from the Java bytecode.[110] Android 4.4 also supports new experimental runtime virtual machine, ART, which is not enabled by default.[111]

Android uses Bionic in place of a standard C library, originally developed by Google specifically for Android, as a derivation of the BSD's standard C library code. Bionic has several major features specific to the Linux kernel, and its development continues independently of other Android's source code bases. The main benefits of using Bionic instead of the GNU C Library (glibc) or uClibc are its different licensing model, smaller runtime footprint, and optimization for low-frequency CPUs.[112][113]

Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.[114] Support for simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI[115] like, for example, in the Jagged Alliance 2 port for Android.[116]
Open-source community

Android has an active community of developers and enthusiasts who use the Android Open Source Project (AOSP) source code to develop and distribute their own modified versions of the operating system.[117] These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, albeit without as extensive testing or quality assurance;[19] provide continued support for older devices that no longer receive official updates; or bring Android to devices that were officially released running other operating systems, such as the HP TouchPad. Community releases often come pre-rooted and contain modifications unsuitable for non-technical users, such as the ability to overclock or over/undervolt the device's processor.[118] CyanogenMod is the most widely used community firmware,[119] and acts as a foundation for numerous others.

Historically, device manufacturers and mobile carriers have typically been unsupportive of third-party firmware development. Manufacturers express concern about improper functioning of devices running unofficial software and the support costs resulting from this.[120] Moreover, modified firmwares such as CyanogenMod sometimes offer features, such as tethering, for which carriers would otherwise charge a premium. As a result, technical obstacles including locked bootloaders and restricted access to root permissions are common in many devices. However, as community-developed software has grown more popular, and following a statement by the Librarian of Congress in the United States that permits the "jailbreaking" of mobile devices,[121] manufacturers and carriers have softened their position regarding third party development, with some, including HTC,[120] Motorola,[122] Samsung[123][124] and Sony,[125] providing support and encouraging development. As a result of this, over time the need to circumvent hardware restrictions to install unofficial firmware has lessened as an increasing number of devices are shipped with unlocked or unlockable bootloaders, similar to the Nexus series of phones, although usually requiring that users waive their devices' warranties to do so.[120] However, despite manufacturer acceptance, some carriers in the US still require that phones are locked down.[126]

The unlocking and "hackability" of smartphones and tablets remains a source of tension between the community and industry, with the community arguing that unofficial development is increasingly important given the failure of industry to provide timely updates and/or continued support to their devices.[126]
Security and privacy
See also: Mobile security
Permissions are used to control a particular application's access to system functions.

Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed. Before installing an application, the Play Store displays all required permissions: a game may need to enable vibration or save data to an SD card, for example, but should not need to read SMS messages or access the phonebook. After reviewing these permissions, the user can choose to accept or refuse them, installing the application only if they accept.[127] The sandboxing and permissions system lessens the impact of vulnerabilities and bugs in applications, but developer confusion and limited documentation has resulted in applications routinely requesting unnecessary permissions, reducing its effectiveness.[128]

The "App Ops" privacy and application permissions control system, used for internal development and testing by Google, was introduced in Google's Android 4.3 release for the Nexus devices. Initially hidden, the feature was discovered publicly; it allowed users to install a management application and approve or deny permission requests individually for each of the applications installed on a device.[129] Access to the App Ops was later restricted by Google starting with the Android 4.4.2 release, with the response that it was enabled accidentally and was not intended for use by the end users, for which Google received criticism from the Electronic Frontier Foundation.[130][131][132] Individual application permissions management, through the App Ops or third-party tools, is currently only posssible with root access to the device.[133][134]

Research from security company Trend Micro lists premium service abuse as the most common type of Android malware, where text messages are sent from infected phones to premium-rate telephone numbers without the consent or even knowledge of the user.[135] Other malware displays unwanted and intrusive adverts on the device, or sends personal information to unauthorised third parties.[135] Security threats on Android are reportedly growing exponentially; however, Google engineers have argued that the malware and virus threat on Android is being exaggerated by security companies for commercial reasons,[136][137] and have accused the security industry of playing on fears to sell virus protection software to users.[136] Google maintains that dangerous malware is actually extremely rare,[137] and a survey conducted by F-Secure showed that only 0.5% of Android malware reported had come from the Google Play store.[138]

Google currently uses their Google Bouncer malware scanner to watch over and scan the Google Play store apps.[139] It is intended to flag up suspicious apps and warn users of any potential issues with an application before they download it.[140] Android version 4.2 Jelly Bean was released in 2012 with enhanced security features, including a malware scanner built into the system, which works in combination with Google Play but can scan apps installed from third party sources as well, and an alert system which notifies the user when an app tries to send a premium-rate text message, blocking the message unless the user explicitly authorises it.[141] Several security firms, such as Lookout Mobile Security,[142] AVG Technologies,[143] and McAfee,[144] have released antivirus software for Android devices. This software is ineffective as sandboxing also applies to such applications, limiting their ability to scan the deeper system for threats.[145]

Android smartphones have the ability to report the location of Wi-Fi access points, encountered as phone users move around, to build databases containing the physical locations of hundreds of millions of such access points. These databases form electronic maps to locate smartphones, allowing them to run apps like Foursquare, Google Latitude, Facebook Places, and to deliver location-based ads.[146] Third party monitoring software such as TaintDroid,[147] an academic research-funded project, can, in some cases, detect when personal information is being sent from applications to remote servers.[148] In August 2013, Google released the Android Device Manager (ADM), a component that allows users to remotely track, locate, and wipe their Android device through a web interface.[87][149] In December 2013, Google released ADM as an Android application on the Google Play store, where it is available to devices running Android version 2.2 and higher.[150][151]

The open-source nature of Android allows security contractors to take existing devices and adapt them for highly secure uses. For example Samsung has worked with General Dynamics through their Open Kernel Labs acquisition to rebuild Jelly Bean on top of their hardened microvisor for the "Knox" project.[152][153]

As part of the broader 2013 mass surveillance disclosures it was revealed in September 2013 that the American and British intelligence agencies, the National Security Agency (NSA) and Government Communications Headquarters (GCHQ) respectively, have access to the user data on iPhone, BlackBerry, and Android devices. They are reportedly able to read almost all smartphone information, including SMS, location, emails, and notes.[154] Further reports in January 2014 revealed the intelligence agencies capabilities to intercept the personal information transmitted across the internet by social networks and other popular apps such as Angry Birds, which collect personal information of their users for advertising and other commercial reasons. GCHQ has, according to The Guardian a wiki-style guide of different apps and advertising networks, and the different data that can be siphoned from each.[155] Later that week, the Finnish Angry Birds developer Rovio announced that it was reconsidering its relationships with its advertising platforms in the light of these revelations, and called upon the wider industry to do the same.[156]

The documents revealed a further effort by the intelligence agencies to intercept Google Maps searches and queries submitted from Android and other smartphones to collect location information in bulk.[155] The NSA and GCHQ insist their activities are in compliance with all relevant domestic and international laws, although the Guardian stated "the latest disclosures could also add to mounting public concern about how the technology sector collects and uses information, especially for those outside the US, who enjoy fewer privacy protections than Americans."[155]
Licensing
From left to right: HTC Dream (G1), Nexus One, Nexus S, Galaxy Nexus

The source code for Android is available under free and open-source software licenses. Google publishes most of the code (including network and telephony stacks)[157] under the Apache License version 2.0,[158][159][12] and the rest, Linux kernel changes, under the GNU General Public License version 2. The Open Handset Alliance develops the changes to the Linux kernel, in public, with source code publicly available at all times. The rest of Android is developed in private by Google, with source code released publicly when a new version is released. Typically Google collaborates with a hardware manufacturer to produce a "flagship" device (part of the Nexus series) featuring the new version of Android, then makes the source code available after that device has been released.[160] The only Android release which was not immediately made available as source code was the tablet-only 3.0 Honeycomb release. The reason, according to Andy Rubin in an official Android blog post, was because Honeycomb was rushed for production of the Motorola Xoom,[161] and they did not want third parties creating a "really bad user experience" by attempting to put onto smartphones a version of Android intended for tablets.[162]

While much of Android itself is open source software, most Android devices ship with a large amount of proprietary software. Google licenses a suite of proprietary apps for Android, such as Play Store, Google Search, and Google Play Services—a software layer which provides APIs that integrate with Google-provided services, among others.[87] These apps, along with the Android trademarks, can only be licensed by hardware manufacturers for devices that meet Google's compatibility standards contained within the Android Compatibility Definition Document; as such, forks of Android that make major changes to the OS itself, such as the Nokia X Software Platform, Amazon's Fire OS and Alibaba Group's Aliyun OS, do not include any of Google's non-free components, and are incompatible with apps that require them. Custom, certified distributions of Android produced by manufacturers (such as TouchWiz and HTC Sense) may also replace certain stock Android apps with their own proprietary variants and add additional software not included in the stock Android operating system.[3][163] With many devices, there are binary blobs that must be provided by the manufacturer in order for Android to work.[79]

Several stock apps in Android's open source code used by previous versions (such as Search, Music, and Calendar) have also been effectively deprecated by Google, with development having shifted to newer but proprietary versions distributed and updated through Play Store, such as Google Search and Google Play Music. While these older apps remain in Android's source code, they have no longer received any major updates. Additionally, proprietary variants of the stock Camera and Gallery apps also include certain functions (such as Photosphere panoramas and Google+ album integration) that are excluded from the open source versions (however, they have yet to be completely abandoned). Similarly, the Nexus 5 uses a non-free variation of the Android 4.4 home screen that is embedded directly within the Google Search app, adding voice-activated search and the ability to access Google Now as a page on the home screen itself. Although an update for Google Search containing the relevant components was released through Google Play for all Android devices, the new home screen requires an additional stub application to function, which has not been officially released, and was not provided in the Android 4.4 updates for any other devices (which still use the existing home screen from 4.3).[3][164][165]

Richard Stallman and the Free Software Foundation have been critical of Android and have recommended the usage of alternatives such as Replicant, because drivers and firmware vital for the proper functioning of Android devices are usually proprietary, and because Google Play allows non-free software.[166][167]
Reception
Android-x86 running on an ASUS EeePC netbook; Android has been unofficially ported to generic computers for use as a desktop operating system.

Android received a lukewarm reaction when it was unveiled in 2007. Although analysts were impressed with the respected technology companies that had partnered with Google to form the Open Handset Alliance, it was unclear whether mobile phone manufacturers would be willing to replace their existing operating systems with Android.[168] The idea of an open-source, Linux-based development platform sparked interest,[169] but there were additional worries about Android facing strong competition from established players in the smartphone market, such as Nokia and Microsoft, and rival Linux mobile operating systems that were in development.[170] These established players were skeptical: Nokia was quoted as saying "we don't see this as a threat,"[171] and a member of Microsoft's Windows Mobile team stated "I don't understand the impact that they are going to have."[171]

Since then Android has grown to become the most widely used smartphone operating system[18] and "one of the fastest mobile experiences available."[172] Reviewers have highlighted the open-source nature of the operating system as one of its defining strengths, allowing companies such as Nokia (Nokia X family), Amazon (Kindle Fire), Barnes & Noble (Nook), Ouya, Baidu and others to fork the software and release hardware running their own customised version of Android. As a result, it has been described by technology website Ars Technica as "practically the default operating system for launching new hardware" for companies without their own mobile platforms.[18] This openness and flexibility is also present at the level of the end user: Android allows extensive customisation of devices by their owners and apps are freely available from non-Google app stores and third party websites. These have been cited as among the main advantages of Android phones over others.[18][173]

Despite Android's popularity, including an activation rate three times that of iOS, there have been reports that Google has not been able to leverage their other products and web services successfully to turn Android into the money maker that analysts had expected.[174] The Verge suggested that Google is losing control of Android due to the extensive customization and proliferation of non-Google apps and services—Amazon's Kindle Fire line uses Fire OS, a heavily modified fork of Android which does not include or support any of Google's proprietary components, and requires that users obtain software from its competing Amazon Appstore instead of Play Store.[3] Google SVP Andy Rubin, who was replaced as head of the Android division in March 2013, has been blamed for failing to establish a lucrative partnership with cell phone makers. The chief beneficiary of Android has been Samsung, whose Galaxy brand has surpassed that of Android in terms of brand recognition since 2011.[175][176] Meanwhile other Android manufacturers have struggled since 2011, such as LG, HTC, and Google's own Motorola Mobility (whose partnership with Verizon Wireless to push the "DROID" brand has faded since 2010). Ironically, while Google directly earns nothing from the sale of each Android device, Microsoft and Apple have successfully sued to extract patent royalty payments from Android handset manufacturers.

Android has suffered from "fragmentation",[177] a situation where the variety of Android devices, in terms of both hardware variations and differences in the software running on them, makes the task of developing applications that work consistently across the ecosystem harder than rival platforms such as iOS where hardware and software varies less. For example, according to data from OpenSignal in July 2013, there were 11,868 models of Android device, numerous different screen sizes and eight Android OS versions simultaneously in use, while the large majority of iOS users have upgraded to the latest iteration of that OS.[178] Critics such as Apple Insider have asserted that fragmentation via hardware and software pushed Android's growth through large volumes of low end, budget-priced devices running older versions of Android. They maintain this forces Android developers to write for the "lowest common denominator" to reach as many users as possible, who have too little incentive to make use of the latest hardware or software features only available on a smaller percentage of devices.[179] However, OpenSignal, who develops both Android and iOS apps, concluded that although fragmentation can make development trickier, Android's wider global reach also increases the potential reward.[178]
Tablets
The first-generation Nexus 7 tablet

Despite its success on smartphones, initially Android tablet adoption was slow.[180] One of the main causes was the chicken or the egg situation where consumers were hesitant to buy an Android tablet due to a lack of high quality tablet apps, but developers were hesitant to spend time and resources developing tablet apps until there was a significant market for them.[181][182] The content and app "ecosystem" proved more important than hardware specs as the selling point for tablets. Due to the lack of Android tablet-specific apps in 2011, early Android tablets had to make do with existing smartphone apps that were ill-suited to larger screen sizes, whereas the dominance of Apple's iPad was reinforced by the large number of tablet-specific iOS apps.[182][183]

Despite app support in its infancy, a considerable number of Android tablets (alongside those using other operating systems, such as the HP TouchPad and BlackBerry PlayBook) were rushed out to market in an attempt to capitalize on the success of the iPad.[182] InfoWorld has suggested that some Android manufacturers initially treated their first tablets as a "Frankenphone business", a short-term low-investment opportunity by placing a smartphone-optimized Android OS (before Android 3.0 Honeycomb for tablets was available) on a device while neglecting user interface. This approach, such as with the Dell Streak, failed to gain market traction with consumers as well as damaging the early reputation of Android tablets.[184][185] Furthermore, several Android tablets such as the Motorola Xoom were priced the same or higher than the iPad, which hurt sales. An exception was the Amazon Kindle Fire, which relied upon lower pricing as well as access to Amazon's ecosystem of apps and content.[182][186]

This began to change in 2012 with the release of the affordable Nexus 7 and a push by Google for developers to write better tablet apps.[187] According to International Data Corporation, shipments of Android-powered tablets surpassed iPad's in Q3 2012.[188]
Market share

Research company Canalys estimated in the second quarter of 2009 that Android had a 2.8% share of worldwide smartphone shipments.[189] By the fourth quarter of 2010 this had grown to 33% of the market, becoming the top-selling smartphone platform,[190] overtaking Symbian.[191] By the third quarter of 2011 Gartner estimated that more than half (52.5%) of the smartphone sales belonged to Android.[192] By the third quarter of 2012 Android had a 75% share of the global smartphone market according to the research firm IDC.[193]

In July 2011, Google said that 550,000 new Android devices were being activated every day,[194] up from 400,000 per day in May,[195] and more than 100 million devices had been activated[196] with 4.4% growth per week.[194] In September 2012, 500 million devices had been activated with 1.3 million activations per day.[197][198] In May 2013, at Google I/O, Sundar Pichai announced that 900 million Android devices had been activated.[199]

Android market share varies by location. In July 2012, "mobile subscribers aged 13+" in the United States using Android were up to 52%,[200] and rose to 90% in China.[201] During the third quarter of 2012, Android's worldwide smartphone shipment market share was 75%,[193] with 750 million devices activated in total and 1.5 million activations per day.[198]

In March 2013, Android's share of the global smartphone shipment market, led by Samsung products, was 64%. The Kantar market research company reported that Google’s platform accounted for over 70% of all smartphone device sales in China during this period and that Samsung's loyalty rate in Britain (59%) is second to that of Apple (79%).[24]

As of May 2013, 48 billion apps have been installed from the Google Play store,[62] and as of September 2013, 1 billion Android devices have been activated.[28]

In third quarter of 2013, Android's share of the global smartphone shipment market—led by Samsung products—was 81.3%;[22][23][24] Android smartphones account for more than half of sales in most markets, including the US.[25] Indeed, during August, September, and October 2013, no less than 261.1 million smartphones were sold overall, with about 211 million smartphones running Google's operating system.[23]
Platform usage
Breakdown of the Android versions usage

These charts provide data about the relative number of devices accessing the Play Store recently and running a given version of the Android platform, as of January 11, 2014.[202