The original project goals were to bring a 2 Chainz VR experience to every VR capable device (except psVR). Quickly we found that the goals of the project required a re-write of the entire site.
The reasons behind this were simple, the client wanted to start charging users for the VR experiences. First that comes with HTTPS instead of HTTP (a requirement for credit card payments). Next if you have a paywall on your site you have to make sure that people can’t get past the wall or download your videos. To get past the first hurdle I wrote a custom back-end API which would pass along the users credentials and requested video as an encrypted URL. This would be received by the server and “decrypted” to check for parity. Once the info was deemed the same with the servers Key, the new temporary web-page was passed along to the users browser, that removed the ability to share links. Passport was used for the encryption of user sign in and signup data (this is a nodeJS service)
Next was the cleanup of every single web page on the site. Tons of code was duplicated, unnecessary, down right wrong, or hard to follow. KRPano was used to build the site before I came on the project. We did not want to change to a different VR Tech as the site owner was somewhat familiar with KRpano and wanted to be able to manage small updates to the site himself. After learning KRPano through the online documentation I began the cleanup. The results were staggering, where before the site could only run on the fastest devices at the time (iPhone 6 and up) some users would still run into memory errors where after using the site for enough time you could guarantee a crash. This completely went away after my re-write. I could surf the entire site on an iPhone 4 and an HTC One M7, two super old devices.
Finally we were asked to give teasers to users and non users alike. Something to entice them into purchasing the full experience. To do this I wrote custom code to check the users purchase data on a custom SQL database and show them the proper experience. On top of this I wrote all the Stripe processing code for the site, allowing for credit card purchases with the touch of a button to allow for users to not have to remove the device from their VR headset.
Overall the project was a huge success! I learnt more than I thought possible for a single project. The other developers on the project who were working on the Vive and Oculus experience seamlessly integrated with my web version of the App.
Click image below to be taken to VRTGO website.