I don’t remember exactly when I first thought of this idea (your phone being the only computer you need), but I know it was many years ago, probably before Android was on the market. Imagine using your phone/mobile computer everywhere, because it’s always with you, and coming home, putting it on the desk, and boom – it connects to your desk’s monitor, and then you start using it as a PC. This future seems increasingly more likely thanks to Android.
I knew this is getting closer to reality when dual core ARM processors started appearing and when Motorola launched their laptop dock thing, where you can put your phone inside and the “laptop” (well more like a shell in Motorola’s case) would run on the phone’s hardware. It was the start of something interesting, but far from an ideal implementation.
One of the wrong things with it, is that it ran two operating systems in the same time, and a dual core Cortex A9 at 1 Ghz is barely enough to run a full OS at reasonable performance, let alone two. It would’ve made a lot more sense to continue to run the OS on the laptop display. Honeycomb was out around the same time, and Motorola was the first to use it. So I wondered why couldn’t they just use Honeycomb for the laptop, not as a separate OS, but just as the UI for the laptop?
Perhaps Motorola preferred to just sell another device instead of making the phone work with everything, or perhaps Google wasn’t ready for that kind of movement, but I do believe Google made Honeycomb (and now ICS) the way it is because they envisioned some kind of future of hybrid devices, where Android might even end up on laptops or similar devices.
My ideal vision of the future is to have Android use 3 different UI add-ons, so when you have it on your phone it automatically uses the phone UI, but when you connect it to a PC monitor or such, you should be able to select the tablet UI for it, and when you connect it to the TV, you should be able to pick the Google TV UI for it.
The codebase is the same, just the UI needs to change, depending on the form factor of the device. Ideally, you’d have one UI for everything, and while I’m sure Google will continue to try and make them as similar possible, I don’t think that’s ultimately possible. You can’t have the exact same UI for everything, because each form factor’s UI can be optimized to work much better for that specific form factor, so instead of having a mediocre UI for everything, you’re better off having the best possible UI for each scenario.
Perhaps just as important as having these UI’s is being able to do all this wirelessly. Needing separate cables, sometimes different cables for every device, is just way too cumbersome for something like this to become mainstream. It needs a wireless technology can can seamlessly connect all these devices on the spot. Bluetooth can’t be it, because it’s way too slow. Wi-Fi is also a bit cumbersome to use like this, but something like Wi-Fi Direct/Wi-Fi Display should be the future, and I think very soon we’ll start having access to that kind of technology.
So the only other part of this is for Google to enable Android to change UI’s based on what’s connected to. The sooner they forget the idea that ChromeOS is their *only* OS for laptop/PC monitors, the better. ChromeOS might still thrive in parallel with Android for some very niche markets, but I wouldn’t want them to slow down Android’s potential because of it.
Android has a unique opportunity here that neither Microsoft nor Apple have. Microsoft can’t use WP7 in the same way, because they have a totally different OS that they are pushing for PC’s, and they have a different OS for Xbox. So they can’t make everything work through WP7. Apple is closer in a way to Android, but they have such strange display ratios that might make the transitions look awkward – 3:2 for phones, 4:3 for tablets, and soon probably 16:9 for TV’s, while pretty much all of Android’s resolutions are somewhere between 16:9 and 16:10. It might be a lost opportunity for Google to not do this as soon as possible.
A video on using Galaxy Nexus as your PC through MHL (where obviously the tablet UI would make much more sense):