Visualisation of Git in Virtual Reality
MetadataShow full item record
The aim of this study was to explore visualisation of complex data in virtual reality in the area of information visualisation. The purpose of this study was to find a better way to portray the visualisation of the Git development history. Because it is difficult to understand Git when learning it. As the first step toward this goal, a directed acyclic graph visualisation was implemented in virtual reality, because the development history found in Git repositories is in the form of a directed acyclic graph. Virtual reality was the chosen technology used, due to the possibilities that virtual reality can provide in the area of information visualisation. Unreal Engine was used to implement a 3D environment. Which allows the user to experience and interact with a directed acyclic graph. The graph is the representation of the development history from a Git repository. Branches and nodes are representing the commits and the relationship between them. To store the data from the backend, SQLite was integrated with the Unreal Engine. A backend was created to retrieve the development history from any repository and to prepare the data for the frontend to visualise. The backend consists of NodeJS with Mongoose to store the data retrieved from the repository locally and to prepare it. ExpressJS was also used in the backend for allowing users to request repositories and to route the requests. There are no other directed acyclic graphs developed for virtual reality. Therefore, the system developed for this thesis was compared toward the state of the art representation and experience, which was in 2D. To make the comparison as equal as possible, it was chosen to use the usability testing approach and look at efficiency and effectiveness. Efficiency and effectiveness were used to compare 5 tasks related to the exploration of the two directed acyclic graph representations. The conclusion was that both systems are equally effective while the 2D system is more efficient.