Part 1: The Google Daydream Team VR Development Process Talk
At the 2018 Synapse Summit, there was much interest and discussion around the topic of Virtual Reality (VR) design and development methodologies, guidelines for success, and best practices that are delivering significant results in the Spatial Computing market space.
As an professional Business Systems Analyst/Developer and Spatial Computing enthusiast, I share an interest in AR/VR design and development. As such, I've begun to research, document and explore VR application development concepts, ideas and methodologies in practical use today by leading VR application development teams.
My research into VR application development methodologies began by re-visiting a VR Design Process talk presented at the 2016 Google I/O Developer Conference. What follows is basically a key talking points transcript that I extracted, based on the first part of the presentation, led by Rob Jagnow, Software Engineering Manager at Google. Check back periodically as I’ll be adding more content based on my research and reader feedback.
I believe that viewing this talk and reflecting on the concepts, ideas, best practices and guidance shared by Rob Jagnow (captured in part, below) is a good starting point for those of you interested in learning more about current VR application development processes and practices.
In the coming weeks, I'll be diving deeper into current VR application development methodologies and best practices. I'll be freely publishing some of my research findings via my website. More in-depth research findings and takeaways, complete with references and resource listings, will be exclusively available via Patreon.
I welcome your comments, suggestions and ideas for upcoming research and resulting articles!
Notes from the 2016 Google I/O Developer's Conference Presentation:
Google Daydream Development Team's VR Development Process
VR Design Process. (Rob Jagnow, First of three presenters, Google I/O, 5/19/2016) Decades of exposure to sci-fi literature, movies and games have shaped our vision of VR, establishing certain expectations. In this session, we talk about chasing these fantasies and sculpting them into real products that children, grandparents, teachers, and gamers alike can comfortably enjoy.
Google Daydream Team Development Methodologies
First, we introduce a framework that’s enabled us to turn out 60+ VR prototypes with weekly sprints.
Next, we discuss a new design process for exploring, polishing, and launching consumer VR products while avoiding the pitfalls of a traditional 2D workflow. Finally, we conclude with tips for building your own VR design team.
VR is a very Open community when it comers to development.
Challenges in VR Design
New UI standards and design patterns
Head Mounted Displays (HMDs) have unique design concerns
New input methods and tools
New skill sets and design tools
New team foundations
Attention to Safety
Physical and Psychological comfort
Safety in the physical environment while immersed in the VR experience
Anyone working in VR is going to have to become familiar with a whole new set of skills, tools and workflows. For example, Game Engines have become an invaluable part of the VR developer's toolkit.
Design Process: Rapid, Exploratory Prototyping
Explore everything. Fail fast.
Daydream Labs projects focus on exploring terrain quickly, finding promising use cases, testing a lot of ideas without wasting a lot of time on supporting a more structured process.
It takes many more development iterations as compared to developing in other media, to create a great VR experience.
The current small Daydream development team has completed 60 prototypes in a years time. We work in teams of two (one designer, one programmer), with the goal of releasing one prototype per week.
Projects range in size from very small, including:
what makes for a comfortable reading experience
What is the size of text that is needed?
How bright should the background be?
How much contrast is needed?
Other project themes are larger:
Creating a timeline-based layered animation editing system.
The Daydream Team Prototyping Process
Sharing the results
Step 1: Brainstorming Ideas
Get opinions from friends, family, co-workers, etc. Everyone has ideas of what a great VR experience would be. Get ideas and opinions from diverse teams who have a breadth of perspective and experiences.
Creative Exercises When Considering Ideas for Implantation
Don't be incremental
You don't have to be literal
Crank it to 11
Apply creative constraints
Don't be incremental; the best VR experiences are not going to be derivative in nature. They will not be something you've seen in another media platform that is transferred over to VR. Rethink everything cognitive of the strengths and limitations of VR.
Let's be imaginative; create a world where you use your trebuchet to launch giant stuffed animals that are fetched by your pet T-Rex.
Constraints are Good
Constraints are good. You don't want to over-specify the details for a team that is working on a project. You do, however, want to have that team work with challenging constraints.
"The more constraints one imposes,
the more one frees one's self. And
the arbitrariness of the constraint
serves only to obtain precision of
~ Igor Stravinsky
A Bad Constraint vs a Good Constraint
For example, a bad constraint for a VR product development team would be the following: You have a team of 50 designers and you put this task to them: "Create a VR version of a classic board game that feels exactly like the original".
The problem with this constraint is it does not leave room for creative interpretation. So, what you end up with from your team of 50 designers is 50 versions of checkers in VR.
Let's instead, provide a good constraint to our VR team of 50 developers. "You want a game for two players, with the following constraints
The players have to face each other
It should not just be a table-top game
The players should both be able to interact with the play space that is between them
The game space should be impossible to create in real life
These set of constraints provide an enormous amount of room for creative interpretation. Your team of 50 developers will now deliver 50 different, totally awesome and imaginative games.
Step 2: Rank Ideas (10:20)
When you get going with the brainstorming process, ideas will come in at a rate that requires filtering and ranking the ideas. What's needed is a way to choose the most promising of the ideas. The Daydream team has selected a criteria that enables them to filter and rank ideas.
Better (or only possible in VR
Hasn't been done before
A good fit for you team
Good scope for a 1-week sprint
More than just pure entertainment
We are interested in Education and productivity; VR game developers have the game development segment well covered. We want to focus on some of the potential areas for VR that have not yet been addressed.
Step 3: Implementation
A prototype in a week?! Is that sustainable? An onsite game jam or hackathon lasts 48 hours typically, to create a working game in two days. When you take a game jam approach and stretch it out to 5 days, it is a lot more manageable.
Start with an experience that is way smaller than an Agile MVP. You want an experience that needs you to walk a user through an experience and enough to test your hypothesis.
Stay focused on the core objective of developing a workable game in 48 hours.
Step 4: Sharing (16:28)
There is no sense is building prototypes if there is going to be nobody able to seem them. Have a demo party scheduled every week to show you prototype and get feedback from those viewing.
"You build the tip of the
Iceberg and people will
Come to you and describe
~ Manuel Clement, Google Daydream Team Member
Users tend to provide features as feedback when a prototype is presented to them. If a near finished product, feedback tends to focus on subtleties of a feature, rather than features themselves.
Step 5: Documentation (22:15)
You do not want to get bogged-down at the start of prototyping with a heavy-handed design document, If do want to document what you've learned as a result of your week-long sprint development effort, the benefits realized from the effort will largely evaporate into the ether. Your goal for your effort is to capture information from the effort so your work has impact and results.
The Daydream team typically documents week-long development efforts by:
We capture a 30 or so second video of the VR application, noting things like lessons learned, tips and tricks, etc.
We summarize our findings
We publish our feedback that we've received from demo parties
Daydream Labs: Week at a Glance for a Development Team (19:15)
Monday: Demo Party
Pick the next project; review the concept name, description, and project scope. Further restricting scope of selected idea; deciding what hardware to implement on, etc.
Tuesday, Wednesday and Thursday: Extract Findings & Design Iteration
Our Daydream teams are still extracting and summarizing findings from previous week's project.
Examining this week's project scope and Iterating on both the scope and design.
Iterating on Scope and Design
Get our first prototype working and examine our work product relative to the project scope and goal.
Reaching out to members other teams for feedback.
Friday: Wrapping-up the Week's Party
The team is wrapping-up the current weeks project, putting on enough polish on the project as time allows. Narrowing down our list of ideas for the start of next weeks project.
Avoiding Burnout from Continuous Weekly Prototyping
Best practices and guidelines include:
Scope for 2 days, stretch out to 5 days
Block out time for each step in the process
Pick ideas you're team is passionate about
Limit time-wasters: bureaucracy, too many meetings, etc.
Focus on improving idea filters and criteria for selecting the best ideas to pursue