How do I build a VR app – What I learned
When I was introduced to Virtual Reality, I didn’t realize how much I would enjoy creating and viewing VR applications. I began to wonder how to build a VR app. I started with the hello world of VR development, a 360 photo viewer. I began experimenting with three.js and tried to learn and understand the basic concepts of WebGL.
I was hooked – the number of items you can build with three.js and in VR is mind blowing.
Soon, I wanted to do something that would force me to learn and also keep me in check from a time perspective; I decided to do 30 VR projects in 30 days. I was by no means an expert in three.js and VR by this time, but I knew I had to do this. I learned a lot from this. If you want to learn how to build a VR app, this is the most efficient way. Just practice over and over.
I started this around the last week of February and powered through 30 days of coffee filled work. There were days when I didn’t have any idea till evening that day, but there was no doubt in me that I would have a VR project done by the end of the day. You can see all my projects here, or you can view the code on Github. I even wrote tutorials for VR projects every day.
I also made it a point to post my projects to some FB groups, mainly the Virtual Reality group, which you must join if you are interested in VR. I started getting some positive feedback and had a lot of people encourage me. I also started getting some people reach out to me to ask me if I could build them some products, join as co-founders, use their products, etc. but the most frequent and most interesting group of people reaching out to me wanted to know one thing.
” How do I build a VR app ?”
Now this seems like a broad question, and I decided to get deeper; I shared some more tutorials that I worked on, created or had used to learn on VR developers group. With more prodding and question asking (I must have spoken to at least 2000 people over the past three months); all of the queries broke down into two major categories.
- Game development or delivering a game in VR
- Delivering some content ( 360 videos/360 photos/virtual tours ) etc
I have no experience in game development, but I did have a ton of experience in building frontend apps to deliver 360 content. So I decided to think more on this and see what exactly people wanted and if there was something I could build. I have just listed some of my observations and feedback from conversing with everyone who was interested in VR.
Why 360 content is hotter than “truly immersive” VR
- 360 content is more accessible: Facebook and Youtube came out with support for 360 photos and videos which caused an explosion in 360 content. Most of the 360 content is experienced without a VR headset using a magic window. Most people I talk to have an understanding of this being a different media type rather than VR; this is because most of them do not have access to VR headsets so use the Gyroscope mode.
- Creating 360 content is so much easier now: There are mobile apps such as Panorama360 and 360 cameras such as Ricoh Theta, Gear 360, Insta360 and so on. The barrier of entry to create and distribute 360 content as a consumer has reduced a lot. More focus needed to be put on how the 360 content will be consumed than how to create 360 content. Things, like aligning the horizon in post production and stabilizing the video, is important to give a better experience for the user.
Based on those observations I have a hypothesis about what would be needed.
- The lack of penetration of high-end VR devices today coupled with higher customer education about 360 content via FB and Youtube meant that for the immediate future more people/businesses would want to be able to publish 360 content.
- Mobile VR is more scalable than roomscale VR this will explode more with depth sensing AR capabilities with Tango (Android) / AR kit (iOS)
There needs to exist a simple to use, fast and scalable way to deliver rendered VR/360 content to all existing platforms.
Again this is just a hypothesis about the current state of VR and 360 and I wanted to get some feedback from everyone about this. I have already built out some ideas on how this can be done and figured out all the technical details that need to be built/fixed to make this into a proper product.
What do you think ? Does this make sense; let me know pretty please
I’ll be sharing the progress more in the coming weeks. You can subscribe below to keep updated. You can also reach out to me on Twitter @risonsimon.