How we designed a VR login experience by Auth0 Lab
Auth0 Lab overview and vision
Auth0 Lab is a team working towards developing a strong culture of innovation by building a culture of rapid execution. In this post, I’ll take you through how Auth0 Lab identified an opportunity to improve the user experience and released a solution to developers in just a few months.
Auth0 Lab’s vision is to consistently develop projects and experiences for future initiatives (18m+ in the future). To deliver on this vision, the team has mastered how to turn an idea into something that can be tested and placed directly in the hands of the developer community for feedback. If you are interested in knowing more about this team, check Matias Woloski’s keynote.
The team developed a living map with different areas of interest that we would like to create. In other words, we start from a repository of innovative and uncertain ideas to then define which is the next project to be incubated. This definition can be related to various factors such as; the potential and impact on the company, technical feasibility, complexity, and positioning within the industry. We seek to stay in touch with technology trends to remain leaders in the industry and work within an Interdisciplinary team with unique skillsets. In this way, we achieve to test hypotheses and experiments without disrupting Auth0s regular development cadence.
How an experimental project like VR Login was born
This project started in an organic way and it’s part of a more experimental branch within the map of ideas. Javier Centurion and I decided to buy a couple of Oculus Quest 2 and when playing with experiences that did not integrate with Facebook Login, we realized the log-in experience was not well designed for VR environments. For example: in many cases, the password was hidden, which doesn’t make much sense in VR. It was the initial kickoff to chat with our expert on the subject: Vittorio Bertocci. It turns out that Vittorio already had something in mind to experiment with. Before we knew it, Auth0 Lab was building a VR Login experience. The idea was quite simple to test and experience the integration between Auth0 and Unity 3D.
Currently, VR login experiences emulate an experience on a device like a phone or a computer but they lack resources such as 1 Password, the use of their hands to type, and be logged in on other platforms such as Google or Twitter. Alternatively, they force you to download an app on another device to be able to log in to your VR device. This causes the login experience to be high friction.
The Process
This experiment’s goal was to improve the VR login experience by removing some of this friction and implementing an existing Auth0 flow that can be integrated very easily. Our main goal was to play with what building a Unity SDK for Auth0 would look like, and get feedback to see if our workflow is interesting to VR developers. Like all other SDKs, the code needed to be OSS so the developers can use it in their apps.
From there, we put together the project plan. We contacted some Auziros we knew had experience in Unity 3D, like Nick Gamb, who guided us and showed us a project he had developed to integrate Okta with Unity 3D.
We built an experimental SDK for Unity (one of the top VR gaming development platforms) that makes it simple for a developer to use the Device Authorization Grant (Device Flow) for VR authentication. We integrated the existing Device Flow in Auth0 (the exact flow you’ll see on Netflix). So, the user will see a dialog with a URL with “/activate” (e.i.: acme.auth0.com/activate) and a 6-digit code. Users must remove the VR headset and use any device to enter the URL and log in.
From a design perspective, we know that this is not the best experience as users will have to remove the VR headset remember and enter a code, login, or sign up and put the Oculus back on. However, after careful consideration, we decided this was the initial kick-to start our research process on the possibilities in VR. In order to meet the development times of the experiment, we need to keep the project simple without changing the Auth0 core code. This means integrating an existing flow.
We selected Unity because it has a large base of independent developers and we believe that getting the attention of these developers will help drive interest in and use of Auth0.
Some challenges
#1 Learning New Technology
Learning how to use the Unity platform and the technology brings an understanding of integrating it with Auth0 (we use the Auth0 Device Flow). Sebastian Iacomuzzi was in charge of the implementation, wrote the scripts, and created the prefabs. Then, we worked with the Branding Design team and paired with Cecilia Alvarez to develop the assets we required to replicate the identity of Auth0 prompts in VR and Auth0 Lab Unity Asset Store branding.
#2 Legal and Compliance
Issues so that we could upload the package to the Unity Asset Store. We had to polish the package several times to get it to work the way we wanted, but we finally made it available for free use and experimentation. In order to make a publication, it is necessary to go through a compliance process. This implies certain checks by the legal team and seeing that everything complies with Okta regulations.
#3 Organic Feedback
As an innovation team, we work on several initiatives simultaneously.
Therefore, there are projects where we don’t invest specific research resources or marketing; we just measure how it organically grows. We currently have a channel on Discord, and we are using the analytics dashboard of the Unity Publisher Portal to understand how people are using the package.
We intend to give this a few months in the Unity Asset Store and monitor usage and feedback during that time. Adoption will be measured by downloads and feedback will be collected from the Unity Asset Store, comments in Discord, and comments on Twitter.
Where to try Auth0 VR Login?
You can find the package in the Unity Asset Store or Github. And if you want to send us feedback, join our Discord & Twitter; we would love to chat with you. If you are interested in learning more about this project, check Vittorio Bertocci’s post.