Tech —

Android everywhere: If it has a screen, it will probably run Android soon

Kiosks, cars, ATMs—we take a look at the wide world of Android.

Android logos have been photoshopped into a game of whack-a-mole.
What covering the latest Android releases feels like.

As the most popular OS on Earth, Android finds itself on a lot of different form factors. Sure, there are smartphones in countless different flavors, and Google has expanded the OS to cover tablets, watches, and TVs. But there's way more to the Android world than that.

Remember, the core Android platform is open source, which means all sorts of companies want it for things other than the typical Google-suggested use cases. Android is becoming the OS of choice for everything with a screen. So that's what we're diving into—the weird world of Android devices.

Why Android?

If you're aiming to build a consumer-facing thing—especially a thing with a touchscreen, there are oodles of reasons to go with Android.

  • It's free—Anyone can download AOSP at no charge. "Free" is a big deal when you're making a thing. You don't have to add the cost of Microsoft Windows to your bill of materials, and "free" means no product licensing shenanigans to screw up.
  • It's open source—You won't get the proprietary Google software, but after downloading AOSP, you'll get source code for the base operating system. You can easily browse it to see how things work, strip out what you don't need, and change Android to make it suit your project.
  • It works on nearly everything—Android runs great on x86 chips, but its big advantage is that it works on dirt-cheap ARM hardware. This is great if you want your thing to be small, mobile, and/or cheap, while still being fast enough to do things like play games, video, and (if you do everything right) smoothly scroll an interface. With on-screen navigation buttons, the only required hardware button is power.
  • Easy app development—If you're building an interface on top of Android, you have access to Google's Android Studio, a purpose-built IDE with a drag-and-drop interface designer. A huge developer community means you can always find easily Googled solutions to problems, tons of libraries, and no shortage of developers for hire.
  • Touch support—If your thing has a touchscreen, Android gives you first class touch support. You get big, finger-sized buttons with the default widget set, flickable scrolling, a touch keyboard, and plenty of other touch affordances.

As for Android's competition: Windows covers the device spectrum with regular consumer Windows, stripped down offerings like "Windows 10 IoT" (and formerly "Windows Embedded" and "Windows CE"), Windows Automotive, and specialty projects like the Xbox operating system. Windows isn't free and isn't open source though, so if you're building from scratch, it's a tough sell. The main appeal for Windows is the legacy support for x86 devices—if you have an existing piece of software, it probably runs on Win32. If you have PC hardware, it's easy to put Windows on it.

Linux-based OSes are an option, too, but you're kind of picking that option with Android already, since Android is a Linux-based OS. As for non-Android flavors of Linux, the big downside is the lack of touch support. Graphical Linux is almost always meant for a mouse and keyboard—good luck finding a touch keyboard and finger-sized buttons for your Linux OS. Android ends up being a "Linux++" for most consumer applications—you get most of the Linux benefits with a bunch of useful interface and app stuff on top.

The downside to using Android is the same as a phone: updates and security. You're going to be wholly responsible for updating the software on your thing from now into eternity. If the SoC vendor even provides support for a new version of Android (that's a big "if") you're still going to be responsible for recreating the new version while porting over all your customizations and apps.

The first rule of using AOSP is to not talk about AOSP

Sometimes, figuring out if something runs Android is a challenge. Many of these products are created without Google's involvement and don't ship with the Google apps. In some cases, you aren't even allowed to call them "Android."

As Google's branding guidelines state, "Android" is a trademark of Google, Inc. and is "not part of the assets available through the Android Open Source Project." Those guidelines go on to say "The use of “Android” on hardware, packaging, or marketing materials of device is restricted to Android-compatible devices only." In the world of Android, "compatibility" is a magic word that specifically means "compliance with Google's Android Compatibility Definition Document." Basically, if you don't pass Google's tests, you aren't allowed to say "Android."

The "Android" name also comes with connotations some device manufacturers would like to avoid. Just the name conjures up images of Google apps and a sprawling app store, and often times these aren't available on the Android-derived product. Rather than explain the complicated delineations of AOSP versus consumer-ready Android, not mentioning Android at all is just easier.

Amazon's Kindle Fire products are a good example of hidden Androids. The products all run Android, but you won't find a mention of the Android-based OS on the official product page. The only way you'll find out about the Android connection is through third-party reporting. Other unsanctioned AOSP-based products work the same way—you can't promote the device as "Android" without Google's blessing. Otherwise, you keep your OS on the down-low.

Kindle Fire is a popular product line that makes the rounds in the tech press, so information about the "secret" Android-based OS is easy to find. For less popular products, this information isn't always available on the Internet. The only way to find out is to either try it out yourself and play the "Does this look like Android?" game, or tear apart a software package or SDK to look for Android code. It's a fun mystery!

Channel Ars Technica