October 2014 I had dinner with a good friend of mine from high school, Thierry. He had been researching upcoming technologies to figure out how to bring an unforgettable trip to Villa Borghese in Rome to people’s living rooms. He believed VR was the answer, and convinced me to stop the businesses I was working on and dive into the largely unexplored world of cinematic VR.
We chose to skip flat 360º video and go straight for stereoscopic 360º with ambisonic audio, because we figured that virtual reality is an attempt to mimic reality, and reality isn’t flat. In the end this was a great decision, but it did cost us several long, frustrating days and nights to figure out a semi-decent stereo workflow, especially with the limited tools available at the time.
We also built our own camera system and decided to share both the 3D models of our camera, as well as all of our acquired knowledge in the form of a free video course on Udemy, which 8000 people have taken so far. We also did a couple of productions, which made one thing painfully clear: there was no way to distribute these 360º 3D videos to the various VR headsets in high quality, and with spatial audio (This was looong before Youtube and Facebook came out with support for VR).
So there we were, sitting with a couple of undistributable videos… Out of pure frustration we started building our own video player using the popular Unity game engine, since that was the most accessible way to do anything with VR at the time, and actually still is to this day. After several iterations, our video player was good enough to offer to our clients, but we soon realized that each app involved dozens of email asking clients to sent their logos and videos over, only to finally receive them in an incorrect format..
Our initial attempt to automate this frustrating part of the app creation process was called AppFactory, our Minimum Viable Product. We thought AppFactory would allow us to build apps in no-time, but in reality it was nothing more than a glorified web form which did not really live up to our expectations. Nevertheless, this experiment did position us as a serious player in the VR apps market and brought us a lot of new clients.
Business was good building 360º video apps for clients ranging from T-Mobile to National Geographic, but the most valuable thing we got out of this was the feedback from these clients who put their trust in us. Listening to this feedback made us realize that we needed to drop everything we were doing and re-focus our entire team’s effort toward developing the tool that these clients seemed to be craving for.
What we learned
So what exactly did we learn from our clients? Well, a lot of things, but the main take-away was that clients wanted to be able to easily add new videos to their app after they launched it in the app stores, but they obviously would rather not pay an additional fee for that service. They wanted to manage their content themselves.
Another key insight was that the majority of clients was fine with using one of our pre-designed interfaces, as long as we changed the color scheme to match their brand. However, there was also a significant portion of clients who had their own developers and who wanted to dive into the source code of the app and tweak every little detail or even add additional features.
But why did these clients decide to pay us money for a VR app, while they could distribute their 360º content for free on platforms like YouTube, Facebook, Vrideo, Littlestar and many similar avenues? The answer we got is that serious brands want serious distribution. They don’t want their video to be part of a channel inside someone else’s app, they want to have their videos inside a standalone, branded package.
In short:
90% asked for a content management system (CMS)
70% chose a pre-designed template
30% wanted to fully customize their app
100% wanted to have a standalone app with their own logos, colors and branding
How to solve this
Looking at what these clients told us, it seems obvious that what they really want is a WordPress for VR apps, and they are more than willing to pay for it. Since WordPress powers 26% of all websites on the internet (!), it makes sense that people are now used to having a simple web interface to manage their content, ample choice of templates to style their front-end, and the option to dive into the source code to tweak every little feature to their liking. So why isn’t there something similar for VR video apps?
The short answer is that VR is a whole lot more complex than setting up a simple website. We’re dealing with multiple devices across multiple operating systems, ranging from Google Cardboards running on iOS and Android to Oculus Rifts and Vives running on Windows. Also, the difficulty of transcoding, hosting and streaming 4k videos cannot be compared to hosting and serving some HTML and image files.
Several companies, like Wonda VR and Sprawly, have taken some inspiring steps toward developing a content management system for VR video content. However, with Wonda VR you build a channel inside their app, and to build a standalone app with Sprawly you’ll have to hire a developer to implement their SDK. There’s simply no easy-to-use tool available to quickly create and manage multi-platform, white label VR video apps.
That’s why we decided to develop our own solution…
Enter Headjack
Headjack is an app creation and content management platform for 360º video producers. Inspired by WordPress, our main focus is to allow non-technical users to easily create and manage standalone VR apps which run on all of the currently available VR headsets, while also giving developers the ability to tweak the source code to their liking.
The Headjack Dashboard shows you data about your apps and the amount of views they’re getting.
Headjack is a web based platform with an intuitive interface (we also wrote a ton of tutorials to help you out) where you can create full-fledged Unity-based VR video apps with just a few clicks. You simply upload your texts, images, and hi-res 360º (3D) videos, which we will transcode for you to the optimal resolutions for the various VR headsets. You then select a free or paid template from our marketplace, or upload your own, just like you can pick a new WordPress theme for your website.
All that’s left to do now is to select the VR platform you are targeting, e.g. Oculus Rift, and press the big “Build app” button. Within minutes you will receive a fully functioning, standalone VR app in your inbox, ready to be submitted to the app stores or to install on your own local devices! Pretty neat, huh? And you can keep adding new content through the web interface, which will then magically appear in your app the next time you open it.
Add, remove and re-order projects and easily export your app for all VR platforms.
Behind the scenes
So how does all of this work? Well, we essentially integrated a lot of separate parts into a single tool: transcoding, secure hosting, app building, and content management. By letting Headjack handle all these daunting tasks, content creators can focus on what they do best and deliver their productions in a professional package while still meeting their deadlines and staying under budget.
Headjack communicates directly with a Unity Cloud Build server, where your apps are built with the assets you uploaded through our web interface. This has the added benefit that you do not need your own Unity license to build apps with Headjack.
You can use the powerful Unity editor to customize every aspect of you app experience.
So why do we use the Unity game engine as the foundation of our VR apps? Because according to Palmer Luckey, 90% of VR apps are currently powered by Unity, so there is fantastic support for VR headsets built into the Unity editor.
Another major benefit of Unity is the fact that it allows us to easily export apps for Android, iOS, Windows and other operating systems. On top of that, by (ab)using Unity to play 360º videos, we also open up the possibility of mixing video with interactive game elements and 3D objects. Now the only limit truly is your own imagination!
Interested? Then click the button below to register for a Free account!