I've just finished knitting the brows after reading it in the news that IBM launches an initiative that has something to do with the mobile world. "It seems", I thought, "that there's so much money in mobile business that even the Big Blue could not resist".
But now I'm totally down on the floor with the idea of having more than one, potentially completely different, operating systems on the same device. I've just read that Motorola invests in VirtualLogix, Inc. whose "VirtualLogix VLX enables multiple operating system environments to run concurrently on shared hardware and provides a range of performance, fault tolerance and security options to address specific market requirements".
In my opinion, the whole solution abounds with challenges. Technically, from usability/business point of view, whatever. The thing is that each member of the value chain must learn/tackle something new. For example,
- Device manufacturers must be prepared for having to integrate such hardware elements in the same device that enable multiple operating systems to run in parallel also considering the cost of virtualization (in terms of time, but money-wise, too). These pieces of hardware must give the best performance so that the user experience is constantly good on all platforms. For example, whilst a ~500MHz CPU performs well on a Windows Mobile-powered device, it's a dual 330MHz CPU that gives the same performance on an Nokia N95 8GB. Of course, this applies not only to the CPU, but to memory, persistent storage, etc., too. Thus, hardware costs will definitely be higher than for regular phones.
- Of course, there will be a constant fight for giving the same performance as on a normal device and also keep the price of the device as low as possible. As to software vendors,
- Writers of guest operating systems (each operating system will be guest, by the way) must prepare for a new challenge, namely that scarce system resources will become even busier and harder to get access to.
- Some weird situations could also occur, for example, when a resident background application would be waiting for an incoming call, which would eventually be "stolen" by another virtual device with a higher priority.
- In addition, it would result in a much better user experience if commonly used resources, such as persistent storage, were shared. For example, the file system:
- One use case would be to allow the user to seamlessly move files between OSes.
- Another to allow browser applications of the same type running on different platforms (e.g. based on WebKit on Android and S60) to share cookies, forms data, etc.
- On the other hand, mobile OS vendors should be careful about what they would give access to: a secure platform cannot afford making a security hole by letting other platforms access sensitive shared files (such as DRM-protected content) unless a satisfactory level of protection is applied.
- I'm not sure as to how network operators could be affected by the introduction of a multi-OS mobile device other than having to adjust something in their administration system. Oh yeah, a seamingly not so important question: branding should apply to ALL operating systems running on the same device. Anyway, I think these issues would be less important and easier to solve than the challenges described above.
- Not necessarily a content provider issue, but it rather concerns the content consumer who would not like to pay for the same content twice in order to be able to use it on the same device, but on a different platform. For example, I wouldn't like to pay again for an MP3 music that I've already downloaded to my Windows Mobile device, but would like to listen to it now on my S60 phone (remember, we're talking about the same phone!).
My two cents,