CASE STUDY

Oculus Go Classroom

The company builds educational platforms based on AR&VR usage.

Solution

VR Software Development

Industry

Education Services

Outcome

Enabling the high expertise of Computools's engineers in creating virtual reality-based software, the finished application fully meets the high requirements and standards of the industry. The application has been distributed in educational institutions, which allowed the client to increase profits and customer loyalty.

Several key options we solved:

  • Introduced strict control from the teacher's desktop application.
  • Implemented the ability to use standard and 360-degree videos.
  • Developed the UX design for the desktop application.

+93%
Throughput, Users
+85%
Average Order
+74%
Increasing Productivity
+69%
Increasing Revenue
-61%
Reducing Costs
58%
Business Process Automation

PROJECT DESCRIPTION

The main idea of the project is to create VR educational classrooms. Computools's experts developed a software kit that allows using of VR materials for Classrooms.

It consists of two separate parts: for teachers and for students. The Desktop application is designed for the teacher. It has options to select one of the materials available on the Oculus Go side application and control every state, like play, pause, stop, timeline, backward, forward, select different 360-degree videos, or using classic videos. Oculus Go application side is an application in headset controlled by the Desktop application, that shows video fragments selected by the teacher.

This application removes the problem of explaining complex things through simple and clear visualization in the VR environment.

The classroom had to be equipped with Oculus Go/Quest for every student

Wi-Fi access is required for the classroom

The classroom has to be fulfilled with video materials specific for VR and specific for their learning path

Full teacher control

Strong secure system (without teacher’s desktop nothing will work on the Oculus side so it’s work only in the classroom)

100% Engaging of students in the process

Communication Framework

Computools
Business Analyst
Project Manager
Team Lead
Business Development Manager
Oculus Go Classroom
CEO
Communication

From the very beginning, Skype and email were chosen for communication as the most convenient way to exchange information. The created communication framework made it possible to timely resolve issues, hold scrum meetings, and discussions on the project.

Business Process Mapping

01
CONSULTING

A thorough study of the goals of the client and all stakeholders allows to more accurately determine the tasks of the project. Consulting includes extensive work on the study of similar projects, existing solutions, competitors. The data obtained are also used to identify possible obstacles and find a solution for them, and to calculate risks.

02
DESIGN

The design of the project consists of building a high-level architecture, which includes the study of ready-made solutions, the selection of a technological stack, the creation of a specification, the building of an interactive prototype, and the distribution of roles. This allows to reduce development time because most of the changes can be made at this stage.

03
ENGINEERING

Project engineering begins with team building. Since the roles and necessary specialists have already been identified, the employees most suitable for this project are selected from the talent pool. The next step after the intro-meeting, the choice of methodology, and the distribution of tasks. Depending on the selected framework, the development process is divided into segments. Testing is mandatory for each methodology.

Interactive Prototype

The prototype of the project is a powerful developer tool, which opens up wide opportunities for studying its functionality. This allows to check the effectiveness of the implemented options and add new ones, if necessary. Possible errors or flaws in the usability of the original idea can also be seen with the help of a prototype.

Computools
Project Manager
Team Lead
UX Designer
Oculus Go Classroom
CEO
Communication

Digital Platform & Technology

The technological stack is determined by the needs of the project. To fully implement the required functions, the necessary programming languages, engines, and frameworks are selected.

Computools
Project Manager
Team Lead
Oculus Go Classroom
CEO
Communication
Unity3D

Unity3D is an available multiplatform game engine used for the production of 2d and 3D video games as well as non-game interactive simulations and visualizations. Unity is popular due to its combination of power, flexibility, and ease of use. It provides developers with necessary components eliminating the need of making them from scratch.

C#

C# is a modern, general-purpose programming language that can be used to perform a wide range of tasks and objectives. C# integrates seamlessly with the Unity engine and can be used on virtually any modern mobile device or console thanks to cross-platform tech.

Oculus Go SDK

The Oculus Go SDK is required for Facebook’s new standalone VR headset. The Oculus Go is one of the first completely self-contained, dedicated VR devices heading to the consumer market. That means it does not have to be tethered to a computer but has all the parts needed inside. The apps for Oculus Go should be re-packed in accordance with major requirements.

System architecture

Specification

A specification is created throughout the project. Initial stages are prescribed in parallel with the creation of the prototype.

Goal - Virtualization of Classrooms. 100% engage from students.

Precondition
Open the Desktop application on the teacher’s side.
Check the Wi-Fi stability connection.

Open the app on Oculus Go.
Appear Headset.

Postconditions

Select available media from the Desktop app.
Watch and listen on the Oculus side.

Alternative Flows
1. Play, Pause, Stop, Backward, Forward, Select timeline, Repeat media.
2. Stop and ask questions.

COMPUTOOLS TEAM

The company strives to complete the project at the highest possible level of quality. For this purpose, Computools selects employees whose level of expertise and skills are best suited to fulfill the project objectives.

Business Analyst
Mikhail Shvaikovsky
Project Manager
Nikita Abelmasov
Teamlead
Nikolay Smorgun
Business Development Manager
Alexander Azmanov
Software Engineering Team
3D Designer
Alexander Sosin
UX Designer
Denis Gubrienko
Quality Assurance Specialist
Maria Grekova

BACKSTAGE

The application development process flows more active and fast if it is properly organized. Computools uses the latest technology for brainstorming, sharing experiences and ideas. Thanks to this, teams are so effective and productive.

Dev meetings
Cooperation with other teams and clients also allows to share experiences and make the necessary changes to ready-made solutions, as a fresh look allows to identify small bugs and errors.
Team Brainstorming
The brainstorming sessions help the engineers to find a really innovative solution. They stimulate creative activity and each participant has an opportunity to offer as many options as possible, including the most fantastic ones. It helps to hit the necessary ideas and solutions.
Feedback
After finishing a large part of the work the company conducts team discussions and arranges feedback sessions. Thanks to exchanging opinions and emerging ideas, the developers improve their personal efficiency and the efficiency of the entire team.

Internal Communication Flow

Constant communication in the team was ensured through the use of Skype, scrum, and face-to-face meetings. This allowed all participants to stay on one page. To manage the project PM used Trello, through which he timely monitored the implementation of tasks.

Project Management Methodology

Scrum was chosen as one of the most effective application development methodologies to date. Dividing the development process into stages with short periods and daily reports makes the task execution easy and quick. Scrum also managed to prove its efficiency and productivity for performing urgent tasks with short sprints and tight deadlines. It allows not only to accelerate all processes but also to save the customer’s funds.

Short sprints allow to find errors and bugs in completed tasks promptly and eliminate them. Thus, the work is significantly accelerated and the quality of the finished product is improved. Moreover, constant meetings - scrum - allow the team to remain highly motivated, receive support, and the necessary feedback.

PROJECT TIMELINE

1 week
2 weeks
12 months
1
CONSULT
Defining goals
  • Identifying high-level project goals
Analysis & Exploration
  • Researching and analyzing the existing and ready-made solutions
  • Defining main restrictions and providing solutions for them
  • Identifying the main risks
2
DESIGN
High-Level Architecture
  • Selecting basic architectural patterns and tools
  • Forming an application stack, work processes with VCS
  • Forming the main development guidelines
Interactive prototypes & Specification
  • Development of a prototype in parallel with specification
  • Choosing Project Management Methodology
Build Development Process
  • Calculating the number of project teams
  • Configuring the technological processes and interactions between roles
3
ENGINEER
Build The Team
  • Making the initial scope based on the specification and estimate, calculating the optimal number of specialists for each role
  • Adding executors to the team's core
  • Conducting an intro meeting
Development
  • Development of a road map, dividing the development process into parts
  • Implementing control and secure options to the teacher’s application
  • Implementing the ability to use standard and 360-degree videos
Testing & Stabilization
  • Developing a testing plan
  • UI & Unit testing
  • Applying improvements
  • Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency

Design

The product architecture plays a key role in developing it from scratch and when working on an upgrade. Computools's integrated approach includes the development of the architecture for the project, which allows taking into account not only functional features but also their interaction.

Computools
Architect
Project Manager
UX Designer
3D Designer
Oculus Go Classroom
CEO
Communication

Engineering

The development of the code was divided into certain periods of time - sprint. After each sprint, testing and code checks were carried out, which ensured timely debugging and high quality of the finished product.

CODE SAMPLE

Scan QR code to find code sample

Or use link below

https://github.com/computools/Oculus-Go-Classroom

Implementation On Client’s Side

01 launch

The launch of the finished application was carried out in accordance with the agreed terms and requirements. Preliminary tests were done confirming the stable work of the application.

02 Transfer

Transfer to the client’s server was carried out according to the agreed plan - gradually and in compliance with all safety standards and rules. Subsequently, the application was tested on the client server.

03 Education

The client did not request additional training materials for his staff, however, the company is ready, if necessary, to provide additional documentation, tutorials.

Contact Us

Let's talk about your project.
Use the form to drop a line or write us an e-mail: info@computools.com

Thank you for your message!

Your request will be carefully researched by our experts. We will get in touch with you within one business day.

GET EXPERT ADVICE!

Computools will guide your company through a digital transformation.