However, there are some issues with WebVR in its current state. User experience is obviously incredibly important. If they are not having a good time the application is not functioning correctly.
The biggest bonus, that anyone can open a link and experience virtual reality, is also a pitfall. We cannot currently guarantee a good user experience for all users. Maybe the user is using a browser which doesn’t render the screen as expected. The user could be using a low-powered device and therefore have frame-rate issues. The user could even receive a phone call half-way through the experience and get incredibly confused about what is happening to the screen. All these issues can cause eye-strain, nausea, head-aches and more.
This is probably the biggest problem to solve first. One solution would be to monitor the frame-rate. If the phone is not hitting the expected 90 FPS, then show a warning or don’t even allow the user into the experience. However, this doesn’t solve all the issues, especially as some phones reduce their capabilities as they heat up.
Another point to take into account is the issue of monetisation. Users are currently not used to paying for content on a website. Subscriptions are common for episodic content (such as newspapers and magazines), but there are few instances where you are asked to pay to try an application which runs on your browser.
Tied to this issue is security of your application. Because the whole application is simply JS and HTML, it would not be difficult to pirate the application. This might be less common for a user, but could be done by rivalling developers.
Some solutions to these issues could be to run any important code on a server, if possible.
For monetisation you could either fund the app through ads. Another alternative is to create applications which ARE ads. For example, a furniture store could have a VR catalogue on their website. The application would not need to be monetised, because the aim of the application is to sell a product.