Aroaro Engineering Architecture
Aroaro is an XR “peer-to-peer” (currently via a shared relay, Photon). For cloud storage (optional) and person management, we are using PlayFab (Microsoft), which is used for many massive games.
This means that if someone wants to set up their own Aroaro persistent space and collaborate with others, they must get their own PlayFab and Photon accounts. Enter these into the control panel, and they can invite others into their spaces without Mr Big intervening and monetising their presence.
Aroaro supports peer-to-peer clients with a cloud relay. The system is built using the Unity 3D engine and contains an SQLite database for data storage within the client.
Microsoft Mixed-Reality Toolkit is used to provide client services. Currently, only datasets in .csv and .json formats are supported, allowing connection to cloud and local databases and API services. As the figure above shows, Aroaro links to several cloud services, mainly providing data access. Data is reached directly on the machine Aroaro runs on, i.e., a PC or HMD for the VR application or HoloLens for the AR application.
A cloud relay, Photon, enables multiple users to work on the same tasks and interact with objects in the same virtual space at the same time. Users from distant, different places can be present in the same collaboration space, viewing the same visualizations from different viewpoints and communicating synchronously with speech or asynchronously with shared notes.
Microsoft Azure Cognitive Services are used for speech-to-text, enabling users to avoid awkward typing on a virtual keyboard. Messages sent to the server are returned to the user with an interpretation of the text. Complementing Azure, Aroaro uses PlayFab as the back-end tool for user management. It is also used to store scene objects.
Heroku is used to host the code that calculates network measures such as centrality and other degree-based node properties. Using a cloud-based approach with Heroku allows Aroaro to offload the processing from the XR client.
Aroaro currently runs on HoloLens 1, HoloLens 2, Windows Mixed Reality and Android with iOS and Oculus Quest soon to be released. An alpha version of Aroaro for Android is available here. HoloLens 2 is a particularly welcome enhancement to HoloLens 1, which can track the movement of hands and eyes, allowing the user to move objects virtually using fingers.