I remember, many years ago, when I first heard of "Virtualization", I was completely baffled. Virtualization is software that can emulate the full hardware stack - Processor, RAM, HardDisks etc... - so that you can run another OS on your virtual hardware. Why would anyone want to run another OS inside their current OS I thought. What possible use could that have?Ten years later, virtualization is a $250 billion market, and it underpins most of the cloud infrastructure today. Clearly, the virtualization of a desktop computer was a huge win, and companies like VMWare which led in this space have done very well for themselves. And there's now a deja vu in this space, with the rise of "app emulators" that virtualize an Android phone, so that you can run Android apps on your desktop/laptop.
I came across the startup "AppSurfer" that is in this space. They've created an Android emulator, and stuck it inside a website, so you can experience an Android app from your web browser, without actually downloading it. Neat.
I played around with AppSurfer for a while, and for the apps that they currently support, it seems to work quite well. The app runs inside a "phone", which has hardware buttons as well, so not only can you scroll and swipe on the screen, but you can also click the hardware "back" button to navigate. The India Today app seems to work quite well. I could scroll through topics and read stories, swipe through the articles. I could even log into twitter via the emulated phone's built-in-browser app and visit the India Today website. It is pretty cool!
I also tried another app, a game - Hangman. And it worked quite well on the emulator. In fact, it even started showing those banner ads like it would on a real phone - Not surprising since the original app is running on the emulator, and the app believes it is running on a real phone. Because of that, the experience on the emulator is nearly indistinguishable from an actual phone. Well, almost.It is clearly early days for Android emulators (AppSurfer itself is currently in Beta). The list of apps that are supported right now is quite small: around 20. And the emulator is a little bit slow - The scroll lags once in a while, and the interaction with the emulated touchscreen isn't as smooth as it would be on a real phone. The emulated phone feels like a slow, 2 year-old, early android phone rather than a Galaxy S2. Only a couple of the hardware buttons are available - So you can't really press the "home" key and leave the app or switch between Apps seamlessly.
The interesting question, though, is what all can we do with an Android emulator? There are some obvious benefits of virtualization. You can try an app without actually downloading it. Imagine if this was integrated right into the Play store - You could try an app and decide whether to pay for it. An emulator is also great protection against shady apps - Because you are running it in an emulated phone, the app doesn't have access to any of your personal data - Your contacts, Gmail login, location etc... - So you can feel free to run the most untrusted apps in a sandbox environment without having to worry about the app being malicious.
Currently, these emulators run inside a browser or on your desktop. What would happen if the emulator ran on an Android phone? That is, if your Android phone could emulate another android phone inside it? Now you could have multiple "profiles" that you could switch between on your phone. You could have a "work" phone where your office IT could set policies and passwords etc..., and you could have a "personal virtual phone" where you could have all your personal facebook/twitter/games etc... so that it doesn't interfere with your office phone. The cool thing about virtualization is that you can "move" the emulated hardware from one device to another. So you could use your virtual android instance on your phone all day, have it move over to your Android tablet when you get home, and then continue to use it on your laptop if you need the keyboard. Or how about an Android emulator that runs on iOS or Windows Phone? The possibilities are endless!
I think virtualization on the mobile phone is an incredibly exciting area that is just taking off. Where this goes and how it gets used by consumers and enterprises remains to be seen, but I think it will be a large and exciting market just a few years from now.