Getting started developing mixed-reality real-time analytics apps: WebSockets in HoloLens

Kenneth Holstein
Lumilo
Published in
1 min readJun 2, 2017

We’ve been moving forward with the development of an initial functional prototype recently. In an upcoming post, I’ll discuss some early design insights (along with open questions) from our spring prototyping studies, and how they’re guiding our current development efforts! In the meantime, I thought I’d share a few quick tips on setting up networking for mixed-reality real-time analytics apps.

Below is a clip from one of our first testing sessions with a working connection between the HoloLens, a Node+Socket.io adapter, and our learning management system (LMS). To get to this point, we explored a number of Socket.io libraries for Unity… before finally finding one that would work when deploying to HoloLens (not just in the Unity editor): BestHTTP. This was yet another reminder of the risks of staying in the Unity editor for too long, without deploying! (Even though the convenience of features such as Holographic Remoting can make it awfully tempting at times…)

Minimal networking test with one “student” (me) and one automated behavior detector (which diagnoses and assesses help-seeking behavior). On the left side, streaming updates are shown in the HoloLens (as plain text, for the purposes of this test). The student’s screen is shown on the right side.

As it turns out, we’re not the first to have struggled with getting socket connections running in HoloLens apps. For example, the Ventana IoT team propose an alternative solution that does not rely on BestHTTP: http://ventanaiot.com/websockets-in-our-hololens-more-likely-than-you-think/

--

--

Kenneth Holstein
Lumilo
Editor for

Asst Prof @ CMU’s Human-Computer Interaction Institute