Assignments At Yost Labs

The PrioVR Utility Application

My first true assignment was the Utility. It was made so that users could have some tool to use to setup, test, calibrate, debug, and experiment with their suit. It was developed with web tech. The app base is Electron, which is based on Chromium, which is nearly identical to Google Chrome. So the app appearance is written in HTML and CSS, the functionality is written in JavaScript. Usage of the PrioVR suit requires access to USB ports, which requires me to drop down to native levels for that. If I am going to go to native code at all, why not use our PrioVR API? So I wrote a binding. This idea has been done at Yost Labs before with MoCap Studio. So what we do is this: We take a C++ library known as JSON-RPC and use that to make this binding possible. Then we have a server run in the background on app startup. The JavaScript will send RPC requests to the server and it will call a C++ function with arguments given by the JavaScript. The C++ will call an API function and return the results to the JavaScript.  Here is a screenshot of the app on my Mac.

app

This app is complicated and does so many things it is untrue. It is by far the biggest project I have done. Biggest in scope, importance, code size, and time. I also wrote an updater, which is yet to be deployed at the time of this writing, which is complex and soon to be open source. So the Utility took me months to make, along with the API server, and the Updater took a couple weeks. All of the coding was done by me alone. Sure others helped, like the authors of the PrioVR API, the Electron team for the base, and much more. But the act of assembling it all and making it work was all me, and I am happy.

My next project, which was just assigned last week, is a rewrite of the 3-Space Sensor Suite. The old one is not maintainable as the tech is unique and the original creators no longer are with the company. Below is what I have managed to accomplish so far.

app1

It is pretty, but not functional at all. I just got the Main UI 90% done Monday. Since then I have been working on the API server for this app. It is a different API so I need to write another binding. I just got the new binding done Wednesday and so development hasn’t truly started yet.

 

It has been great working at Yost Labs and I hope to work there for quite some more time.

Leave a Reply

%d bloggers like this: