The company builds educational platforms based on AR&VR usage
VR Software Development
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
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.
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.
Business Process Automation
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.
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# 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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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 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
Code stabilization/refactoring, increasing system stability, reducing the probability of bug emergency
Project architecture is crucial to building a robust, ergonomic design. The team pays special attention to the development of the product's functional elements and the ways these elements interact.
Implementation On Client’s Side
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.
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.
The client did not request additional training materials for his staff, however, the company is ready, if necessary, to provide additional documentation, tutorials.