Inspiration
We thought that VR was going to soon become the next major deliverer of entertainment, so we decided that we should create an application similar to Netflix Party that works with VR videos.
What it does
It allows friends and family to watch a VR video in sync with a live voice-to-text chat (speech is converted to text and sent as a chat message) because many people won't be able to use a keyboard with their VR headsets to chat, and we thought a live voice call might be too much noise to focus on while watching a video.
How we built it
We made use of a few different API's and libraries. First, we used Cockroach's Serverless PostgreSQL database to store our user credentials, display names and profile pictures, and their extensive documentation helped with that. Specifically, we used psycopg2 and Flask to access the DB. For the VR videos, we used Delight XR (https://delight-vr.com/). To communicate with the chat room, we used websockets and to convert speech to text we used the JavaScript webkit speech recognition API.
Challenges we ran into
We ran into many challenges. First, we had to get a viable and reliable was of playing VR videos on the web. We tried YouTube and Deovr with little luck, then almost gave up, until Delight XR thankfully worked. We also had to figure out a good way of communicating when we didn't have access to buttons. Also, structuring the backend was hard to do well because of how many open websocket connections had to stay open.
Accomplishments that we're proud of
We have a product that works pretty well for something created in such a short time. A lot of things had to go right for this to work, as indicated in the challenges we ran into section. There were multiple parts of this project that we just didn't know if they were possible to create coming into this, so we're proud that we have a working project. Plus, it works in every target category: desktop, iOS Safari, Android Chrome, and Google Cardboard with Safari and Chrome - with one exception. The speech recognition API is still experimental on iOS, so it took some tinkering to get that working.
What we learned
We learned a lot about websockets and web development, in particular new technologies like speech recognition and WebXR. We also learned about collaboration, and GitHub helped with that.
What's next for VR Party
We think it'd be cool to allow people to sign in to their Bitmoji/Snapchat account so we can have 3D avatars, and then have a sidebar that shows a 3D model of each user's head, showing where they are looking in the scene. It could also use some polishing-up visually, and some more user-friendly links.
Built With
- cockroachdb
- css
- flask
- flasksockets
- html5
- javascript
- webspeech
Log in or sign up for Devpost to join the conversation.