For Google Daydream, software is as important as the hardware.

Mobile VR has come a long way since Google Cardboard. And it's one area where a lot of different companies have ideas for how it can get even better. We're nowhere near a "peak VR" situation and expect advances with every generation.

Daydream-ready phones need to perform without overheating or killing the battery in 10 minutes.

A big part of why things can get better is the hardware. Getting a phone Daydream certified isn't a mystery. You need to have a display with an HD resolution that can process two separate streams at 60 frames per second with latency under 25 milliseconds. And you need to be able to do it while it's running on battery power and keep it cool while tucked away in a headset. It's not easy to do, but newer hardware helps a lot. An engineer from Motorola who went through the process for the Moto Z has some specific and interesting things to say about it here.

It is neither required nor sufficient to have [a Snapdragon] 821, nor any other specific chipset. But the requirements to meet from an overall system behavior perspective are not trivial to meet and require some specific platform hooks and code to be added, which involve display, graphics pipeline, security, sensors, scheduler, thermal engine, and significant testing & validation effort - for that you will need to send devices to Google and they will verify whether your device compiles. Then they will whitelist your device, and that will enable Daydream-specific mode of graphics pipeline operation for your production devices, which is required for stutter-free performance of 3rd party apps.

Google is serious about making the Daydream experience the best it can be, and there's a lot involved. And much of it is in the software. Specifically, Android and how it can use graphics APIs from Vulkan or Open GL. Android O will be better at drawing all the data on your screen and turning it into a VR experience because it's more efficient and takes better advantage of these 3D graphics APIs. That's a given — the Daydream team and the Android team certainly work closely to make sure the experience is the best it can be, while always working on making it even better in the future.

Besides Daydream-specific changes in Android, other improvements can also help make a better experience.

But other changes in Android O, like the way background processes are handled and better power management through the operating system itself, can have a major impact. VR is a heavy load for any phone and reducing the way the rest of the system uses resources leaves more CPU time for the various processes at work when you have a Daydream unit strapped to your head. We know a lot of work is being done to optimize Android O for VR even further because Google is working on a major platform update and launching stand-alone Daydream devices from HTC and LG in late 2017. We imagine people working on the project are pretty busy for the rest of the summer.

VR is important. Getting it right is just as important. We've seen huge strides from Samsung's Gear VR platform and Google Daydream, and can't wait to try Daydream 2.0 on a proper Android 8 device.