Chrome OS is an operating system based on the Linux kernel and designed by Google to work with web applications and installed applications. Initially, Chrome OS was almost a pure web thin client operating system,[6][7] with only a handful of "native" applications, but Google gradually began encouraging developers to create "packaged applications", some of which can work offline. In 2014, Google upgraded its Play Store standards for packaged applications, requiring that these applications work offline. Around the same time, Google also announced that Chrome OS would gain the ability to run Android applications natively, by late 2014. In September 2014, App Runtime for Chrome (beta) was launched together with four Android applications being able to run on Chrome OS.

Chrome OS is built upon the open source project called Chromium OS[8] which, unlike Chrome OS, can be compiled from the downloaded source code. Chrome OS is the commercial version installed on specific hardware from Google's manufacturing partners.[9] The launch date for retail hardware featuring Chrome OS was delayed from late 2010[10] to June 15, 2011, when "Chromebooks" from Samsung, and then Acer shipped in July.[11]

Google announced Chrome OS on July 7, 2009,[12] describing it as an operating system in which both applications and user data reside in the cloud. To ascertain marketing requirements, the company relied on informal metrics, including monitoring the usage patterns of some 200 Chrome OS machines used by Google employees. Developers also noted their own usage patterns. Matthew Papakipos, former[13] engineering director for the Chrome OS project, put three machines in his house and found himself logging in for brief sessions: to make a single search query or send a short email.[14]

On November 19, 2009, Google released Chrome OS's source code as the Chromium OS project.[8] As with other open source projects, developers can modify the code from Chromium OS and build their own versions, whereas Chrome OS code is only supported by Google and its partners and only runs on hardware designed for the purpose. Unlike Chromium OS, Chrome OS is automatically updated to the latest version.[15]

At a November 19, 2009 news conference, Sundar Pichai, the Google vice president overseeing Chrome, demonstrated an early version of the operating system. He previewed a desktop which looked very similar to the Chrome browser, and, in addition to the regular browser tabs, also had application tabs, which take less space and can be pinned for easier access. At the conference, the operating system booted up in seven seconds, a time Google said it would work to reduce.[15][16][17][18]

Also on November 19, 2009, Chris Kenyon, vice president of OEM services at Canonical Ltd, announced that Canonical was under contract to contribute engineering resources to the project with the intent to build on existing open source components and tools where feasible.[19]

By February 2010, Google switched its development Linux distribution for Chrome from Ubuntu to Gentoo Linux in order to use that distribution's Portage package management system, which, according to sources at Google, is used with "Google's own take on the vanilla Linux kernel".[20]

Laptops running Chrome OS are known collectively as "chromebooks". The first was the CR-48, a reference hardware design that Google gave to testers and reviewers beginning in December 2010. Retail machines followed in May 2011. A year later, in May 2012, a desktop design marketed as a "chromebox" was released by Samsung.

In April 2012, Google made the first update to Chrome OS's user interface since the operating system had launched, introducing a hardware-accelerated window manager called "Aura" along with a conventional taskbar. The additions marked a departure from the operating system's original concept of a single browser with tabs and gave Chrome OS the look and feel of a more conventional desktop operating system. "In a way, this almost feels as if Google is admitting defeat here", wrote Frederic Lardinois on TechCrunch. He argued that Google had traded its original version of simplicity for greater functionality. "That’s not necessarily a bad thing, though, and may just help Chrome OS gain more mainstream acceptance as new users will surely find it to be a more familiar experience."[21]

Google has encouraged developers to build not just conventional Web applications for Chrome OS, but packaged applications using the company's Package App Platform. Packaged applications are modified Web applications written in HTML5, JavaScript, and CSS. They have the look and feel of traditional "native" applications and lack the address bar, tab strip and other elements typically associated with an application that runs on a browser. Packaged applications load locally and are thus less dependent on the network and more apt to remain functional without an Internet connection.[22][23][24]

In June 2010, Google software engineer Gary Kačmarčík wrote that Chrome OS will access remote applications through a technology unofficially called "Chromoting", which would resemble Microsoft's Remote Desktop Connection.[26] The name has since been changed to "Chrome Remote Desktop", and is "probably closer to running an application via Remote Desktop Services or by first connecting to a host machine by using RDP or VNC".[27] Initial roll-outs of Chrome OS laptops (Chromebooks) indicate an interest in enabling users to access virtual desktops.[28][29]

Google integrates a media player into both Chrome OS and the Chrome browser, enabling users to play back MP3s, view JPEGs, and handle other multimedia files while offline.[26] It supports DRM videos.[30]

Chrome OS also includes an integrated file manager, resembling those found on other operating systems, with the ability to display folders and their associated files, as well as preview and manage file contents using a variety of Web applications, including Google Docs and Box.net.[31]

At Google I/O 2014, a proof of concept showing Android applications, including Flipboard, running on Chrome OS was presented. In September 2014, Google introduced a beta version of the App Runtime for Chrome (ARC), which allows Android applications to be used on Chrome OS, using a Native Client-based environment that provides the platforms necessary to run Android software. Android applications do not require any modifications to run on Chrome OS, but may be modified to better support a mouse and keyboard environment. As with other Chrome OS software, these applications are distributed through Chrome Web Store, and appear as native programs within application menus. As of its introduction, Chrome OS support is only available for selected Android applications, including Duolingo, Evernote, Sight Words, and Vine. Google stated that it was working with selected Android developers to add more supported applications to ARC over the coming months.[32]

At its debut, Chrome OS was viewed as a competitor to Microsoft, both directly to Microsoft Windows and indirectly the company's word processing and spreadsheet applications—the latter through Chrome OS's reliance on cloud computing.[33][34] But Chrome OS engineering director Matthew Papakipos argued that the two operating systems would not fully overlap in functionality because Chrome OS is intended for netbooks, which lack the computational power to run a resource-intensive program like Adobe Photoshop.[14]

Some observers claimed that other operating systems already filled the niche that Chrome OS was aiming for, with the added advantage of supporting native applications in addition to a browser. Tony Bradley of PC World wrote in November 2009:

“

We can already do most, if not all, of what Chrome OS promises to deliver. Using a Windows 7 or Linux-based netbook, users can simply not install anything but a web browser and connect to the vast array of Google products and other web-based services and applications. Netbooks have been successful at capturing the low-end PC market, and they provide a web-centric computing experience today. I am not sure why we should get excited that a year from now we'll be able to do the same thing, but locked into doing it from the fourth-place web browser.[35]

Google's successful introduction of the popular Android[36] and Chrome OS strategy has resulted in some critics of the dual open source, client-based operating systems. Microsoft CEO Steve Ballmer accused Google of not being able to make up its mind.[37]Steven Levy wrote that "the dissonance between the two systems was apparent" at the 2011 Google I/O developer conference. The event featured a daily press conference in which each team leader, Android's Andy Rubin and Chrome's Sundar Pichai, "unconvincingly tried to explain why the systems weren't competitive."[this quote needs a citation] Google co-founder Sergey Brin addressed the question by saying that owning two promising OSes was "a problem that most companies would love to face".[38] Brin suggested that the two operating systems "will likely converge over time."[39] The speculation over convergence increased in March 2013 when Chrome OS chief Pichai replaced Rubin as the senior vice president in charge of Android, thereby putting Pichai in charge of both.[40]

The July 2013 press introduction of the Chromecast HDMI stick, which was hosted by Pichai, demonstrated how the two operating systems could work in tandem. The Chromecast device has a cut-down embedded version of Android, which users control using a smartphone or tablet running Android (or Apple's iOS or a PC running the Chrome browser). Gigaom reporter Kevin C. Tofel described the relationship as "a merger of experiences and services", a strategy that "fits with Google's overall theme of increasing user engagement in its ecosystem with Chrome as the underlying platform."[41]

The relationship between Android and Chrome OS became more substantial at Google I/O 2014, where Google developers presented a demo depicting native Android software running on Chrome OS through Native Client.[25][32]

Early in the project, Google provided publicly many details of the Chrome OS's design goals and direction.[42] Though, the company has not followed up with a technical description of the completed operating system.

Design goals for Chrome OS's user interface included using minimal screen space by combining applications and standard Web pages into a single tab strip, rather than separating the two. Designers considered a reduced window management scheme that would operate only in full-screen mode. Secondary tasks would be handled with "panels": floating windows that dock to the bottom of the screen for tasks like chat and music players. Split screens were also under consideration for viewing two pieces of content side-by-side. Chrome OS would follow the Chrome browser's practice of leveraging HTML5's offline modes, background processing, and notifications. Designers proposed using search and pinned tabs as a way to quickly locate and access applications.[43]

On April 10, 2012, a new build of Chrome OS offered a choice between the original full-screen window interface and overlapping, re-sizable windows, such as found on Microsoft Windows and Apple'sMac OS X. The feature was implemented through the Ash window manager, which runs atop the Aura hardware-accelerated graphics engine. The April 2012 upgrade also included the ability to display smaller, overlapping browser windows, each with its own translucent tabs, browser tabs that can be "torn" and dragged to new positions or merged with another tab strip, and a mouse-enabled shortcut list across the bottom of the screen. One icon on the task bar shows a list of installed applications and bookmarks. Writing in CNET, Stephen Shankland argued that with overlapping windows, "Google is anchoring itself into the past" as both iOS and Microsoft's Metro interface are largely or entirely full-screen. Even so, "Chrome OS already is different enough that it's best to preserve any familiarity that can be preserved".[44][45][46]

In preliminary design documents for the Chromium OS open source project, Google described a three-tier architecture: firmware, browser and window manager, and system-level software and userland services.[47]

The firmware contributes to fast boot time by not probing for hardware, such as floppy disk drives, that are no longer common on computers, especially netbooks. The firmware also contributes to security by verifying each step in the boot process and incorporating system recovery.[47]

System-level software includes the Linux kernel that has been patched to improve boot performance. Userland software has been trimmed to essentials, with management by Upstart, which can launch services in parallel, re-spawn crashed jobs, and defer services in the interest of faster booting.[47]

The window manager handles user interaction with multiple client windows much like other X window managers.[47]

Chrome OS is initially intended for secondary devices like netbooks, not as a user's primary PC,[16] and will run on hardware incorporating an x86 or ARM-based processor.[48] While Chrome OS will support hard disk drives, Google has requested that its hardware partners use solid-state drives "for performance and reliability reasons"[15] as well as the lower capacity requirements inherent in an operating system that accesses applications and most user data on remote servers. In November 2009 Matthew Papakipos, engineering director for the Chrome OS claimed that the Chrome OS consumes one-sixtieth as much drive space as Windows 7.[49]

Google Cloud Print is a Google service that helps any application on any device to print on any printer. While the cloud provides virtually any connected device with information access, the task of "developing and maintaining print subsystems for every combination of hardware and operating system – from desktops to netbooks to mobile devices – simply isn't feasible."[50][51] The cloud service requires installation of a piece of software called proxy, as part of the Chrome OS. The proxy registers the printer with the service, manages the print jobs, provides the printer driver functionality, and gives status alerts for each job.[52]

Chrome OS was designed with the intention of storing user documents and files on remote servers. Both Chrome OS and the Chrome browser may introduce difficulties to the end users when handling specific file types offline; for example, when opening an image or document residing on a local storage device, it may be unclear whether and which specific Web application should be automatically opened for viewing, or the handling should be performed by a traditional application acting as a preview utility. Matthew Papakipos, Chrome OS engineering director, noted in 2010 that Windows developers have faced the same fundamental problem: "Quicktime is fighting with Windows Media Player, which is fighting with Chrome."[14]:3

In March 2010, Google software security engineer Will Drewry discussed Chrome OS security. Drewry described Chrome OS as a "hardened" operating system featuring auto-updating and sandbox features that will reduce malware exposure. He said that Chrome OS netbooks will be shipped with Trusted Platform Module (TPM), and include both a "trusted bootpath" and a physical switch under the battery compartment that actuates a developer mode. That mode drops some specialized security functions but increases developer flexibility. Drewry also emphasized that the open source nature of the operating system will contribute greatly to its security by allowing constant developer feedback.[53]

At a December 2010 press conference, Google claimed that Chrome OS would be the most secure consumer operating system due in part to a verified boot ability, in which the initial boot code, stored in read-only memory, checks for system compromises.[54]

Chrome OS includes the Chrome Shell, or "crosh", which documents minimal functionality such as ping and SSH at crosh start-up. In the older Chrome OS versions originally in Acer C710 no Bash-like shell abilities were provided. In the later Chromebooks such as Acer C720, bash is available from crosh, where the entire Linux filesystem can be found and explored.

In developer mode, a full-featured Bash shell can be opened via VT-2, and is also accessible using the crosh command shell.[55] To access full privileges in shell (e.g. sudo) the root password is required; it is "chronos" in Chrome OS and "facepunch" in Chrome OS Vanilla.[56]

Chrome OS uses the same release system as Google Chrome: there are three distinct channels: Stable, Beta, and Developer preview (called the "Dev" channel). The stable channel is updated with features and fixes that have been thoroughly tested in the Beta channel, and the Beta channel is updated approximately once a month with stable and complete features from the Developer channel. New ideas get tested in the Developer channel, which can be very unstable at times.[57][58] A fourth canary channel was confirmed to exist by Google Developer Francois Beaufort and hacker Kenny Strawn, by entering the Chrome OS shell in developer mode, typing the command shell to access the bash shell, and finally entering the command update_engine_client -channel canary-channel -update. It is possible to return to verified boot mode after entering the canary channel, but the channel updater disappears and the only way to return to another channel is using the "powerwash" factory reset.[59]

On Windows 8, exceptions allow the default desktop web browser to offer a variant that can run inside its full-screen "Metro" shell and access features such as the Share charm, without necessarily needing to be written with Windows Runtime. Chrome's "Windows 8 mode" was previously a tablet-optimized version of the standard Chrome interface. In October 2013, the mode was changed on Developer channel to offer a variant of the Chrome OS desktop.[60][61][62][63][64]