Backend Developer - Telemetry
With simulations designed to teach about real-world environmental & ecological, it's important to collect data to track how well the information is expressed, and how much of it is absorbed in the form of real-time telemetry. Collecting this type of data in a remote environment with people who are potentially half way across the world poses another set of challenges.
Learning Goals
My goals to take out of this internship;
Learning C# as well as basic understanding of Unity & VR development.
How to develop with device limitations such as network speed, device processing power, and variable network connection.
An understanding of the importance of collecting data, and figuring out what data is most important to generate meaningful relations.
Accomplishments
My accomplishments so far for this project;
Implementing a robust backend using TypeScript to handle data coming from multiple sources platforms (Google Cardboard and Oculus) different device sessions.
Learning C# to develop client-side telemetry code to collect and report data from the simulation to the backend for storage.
Set up an Ubuntu Server to run the telemetry storage code, as well as a MongoDB database for storing the telemetry data.
The system is split within two parts, One to handle collecting data and one built to track, aggregate, and store the data.
Backend:
Responsible for creating each new session
Tracks new entries of data to keep track of parallel simulations.
Stores the data, and provides methods of exporting existing sessions.
Simulation Telemetry:
Collects specific data points from the running simulation
Sends the collected data on interval to the Backend
Tracks time spent looking at objects
Tracks the exact time specific events occur