My annual interview with Mac of O'Reilly on what's going on in the Android ecosystem.
My talking points (what I meant to say, not necessarily what I said):
What are the benefits of creating a new Android ROM? What does it
allow you to do?
"Vanilla Android is good for a standard vanilla phone experience.
Android is open, and there's a wide spectrum of customizations that you can do.
It could be just minor cosmetic customizations that carriers typically do, such as include or exclude certain apps, change default setting, lock the device, and so on.
At the other extreme, you could be using Android to power a device that has nothing to do with a mobile phone. For example, Android running a car, or a photocopier is at that extreme. Often, user may not even realize it is Android OS underneath the hood.
In between these two extremes, you have all sorts of customizations that manufacturers typically do by tweaking the vanilla Android to create a better mobile experience. HTC, Motorola, and Samsung all fit in this category, but so does DoD that is creating a flavor of Android suitable for the battlefield, for example."
Beyond building a new ROM for the sake of doing it, do you see
broader applications?
"The broader applications are that for the first time in history, we have a common operating system running on all sorts of devices, with a standard model for writing apps. I mean, sure, Embedded Linux runs on all sorts of machines, but there isn't an easy framework for creating applications. Image a wide array of machines all running the same OS. That creates some very interesting opportunities. Connect them, and suddenly Internet of Things becomes a reality."
Once you have a ROM, does that give you a platform for custom apps,
libraries, etc?
"Certainly it does. You basically start by downloading and building the vanilla Android OS. Then, you add any number of your own custom kernel, drivers, libraries, services, apps, frameworks, and Linux configuration options. And you get a custom Android OS.
The trick is to do this so to future-proof your changes. The risk is that you'd just sprinkle your changes all over the codebase. When Google releases the next version of Android, you'd have hard time migrating your changes up-stream. There are some best practices to avoid these pitfalls. That's what we focus on."
Broader question for you -- How do you see the Android ecosystem
changing over the next few years? What should we watch for?
"I currently have 4-5 distinct Android devices in my house, from a phone to a tablet, TVs, sound system and so on. And this is just in the living room. I think my kitchen and my cars are next to on the list to get smarter. Then, there's the office. Android is going to be a the heart of many of these innovations. That's what I'd watch for."