Zach Dixon journal

Activity Log

  • 5/14 12:00 - 2 PM: Prep for presentations/demos

  • 5/14 1:15-2:15 AM: Final Wiki review, writing final report

  • 5/13 3-9 PM: Attempts at getting WMR and hardware emulation working on older laptop w/ better GPU for demos (mostly unsuccessful)

  • 5/12 5-8 PM: Wiki reading, OpenSpace optimization attempts

  • 5/10 9-11 PM: Site review, begin adding descriptions and linking on Home page.

  • 5/9 5-9 PM: Finally got OpenSpace VR working, but framerate is horrible. Seems CPU bottlenecked, and very early in support.

  • 5/8 4 - 8 PM: OpenSpace recompiling, reconfiguring, and reinstalling

  • 5/4 1 PM - 9 PM: OpenSpace install

  • 5/1-2 10 PM - 1 AM: Presentation prep, site review, vizible troubleshooting (still not really working)

  • 4/30-5/1 11 PM - 3:30 AM: WMR compatibility on non-official hardware (steps added to page), vizible install and troubleshooting

  • 4/24 1-2 AM: Created Windows Mixed Reality HMDs Hardware Page, added to Hardware Compatibility Matrix

  • 4/21 12 - 8 PM : Testing out, debugging Lenovo Explorer (Windows Mixed Reality Headset)

  • 4/18-19 11 PM - 3AM: AR tutorials (unexpected hurdles slowed down progress)

  • 4/16 6:30-8, 10-12 PM Worldviz/Vizard installation / tutorials / testing

  • 4/16 6-6:30 PM: World machine prep, testing

  • 4/11 9:30-10 PM: Journal update, some documentation review

  • 4/11 6-9:30 PM: Lumberyard testing, debugging

  • 4/9 8-12 PM: Lumberyard additional installation, testing VR, following tutorial

  • 4/8 1-2 PM: Looking at VR stuff at PAX East

  • 4/4 10-12: Installing Lumberyard (slow internet)

  • 4/4 6-9 PM: Cryengine VR attempting (failed)

  • 4/1-2 10:00 PM - 2:00 AM: Unity tutorial prep, cryengine tutorials

  • 3/21 4:00 PM - 8:00 PM: Cryengine install / downloads, configuration, tutorials

  • 3/20, 12:45 - 1:00 AM: Reviewed partner's deliverables and my own

  • 3/18 10:00 - 10:15 PM: Wrote up initial impressions of workshop, not sure where to put them, so they're currently at the bottom of this page

  • 3/15 4:00 PM - 8:00 PM: Workshop prep, workshop, workshop cleanup

  • 3/14, 10 PM - 12:30 AM: Deciding, writing up plan, reviewing what others had done/what still needed doing

  • 3/14, 7-9 PM: User study

  • 3/14, 4-6:30 PM: Vive Prep for workshop

  • 3/12, 6-7 PM: Workshop prep

  • 3/8, 12-1 AM: Journal update, review of manuscript and home page. Midterms this week, so some hours will be made up later

  • 3/6, 12-2 AM: Evaluation and report writing

  • 3/5, 5-7 PM: Review of existing tutorials, creation of simple SteamVR null driver tutorial.

  • 3/5, 4-5 PM: Final looking at Immerseum, came to conclusion that the software was not reliable enough to merit inclusion

  • 2/28, 4-6 PM: Continued fiddling with Immerseum VR

  • 2/27, 1-1:30 AM: Prepped visuals for class (surprisingly difficult due to needing to use laptop's webcam)

  • 2/26, 6-7 PM: Helped Ankita and Linda with VR study preparations

  • 2/26, 12-2:30 PM: Immerseum VR initial exploration

  • 2/21, 9-10 PM: SteamVR null driver research/testing

  • 2/21, 6-9 PM: Wrote up tutorials for iVRy and VRidge

  • 2/21, 5-6 PM: Tested, evaluated iVRy for Android, updated evaluation page

  • 2/14, 11-12 PM: Restructed Hardware emulation page, wrote up iOS evaluation

  • 2/14, 8-11 PM: Tested iOS versions of iVRy and Trinus VR, compared w/ Android software

  • 2/12, 9-11 PM: Wrote up progress report and plan, minor research in VR emulation

    • Discovered Immerseum VR Headset emulation plugin for Unity, needs further research

  • 2/9, 4-7 PM: Unity Tutorials

  • 2/7, 6:00 - 12:00 PM : Further Vridge / Trinus / Gear VR research / troubleshooting

    • Vridge released 2.0 version, got cardboard working in Gear VR, Windows graphics driver VR interaction troubleshooting

  • 2/6, 10:00 - 10: 30, 12:00 - 12:30: VR demo prep / overflow time

  • 2/2, 5:00 - 6:00 : Prepared for VR demos

  • 1/31, 4:00 - 8:00 : Started learning Unity

    • Unity time to download/install: 1.5 hours

    • Unity time for interactive examples: .5 hours

      • Effective and well presented. Good introduction to avoid being overwhelmed by the interface. I wish they had more.

    • Unity time for basic example (not VR): 2 hours

    • TODO: VR examples

  • 1/29, 7:00 - 8:00: Wrote up (preliminary) evaluation of VRidge

  • 1/29, 4:00 -7:00 : Investigated VRidge VR application

    • Allows you to stream HMD data from a phone to a PC application which integrates with SteamVR

      • Very useful for testing VR basics

  • 1/29, 3:45 - 4:00 PM: created journal page

Plan 2

15 March

  • Deliverables

    • Future plans

      • On my journal page

  • Activities

    • Write up future plans

      • Value: Will help guide future work

      • Time: 2 hr

    • Prep Vives for workshop

      • Value: Necessary to hold workshop

      • Time: 2 hr

20 March

  • Deliverables

    • Initial conclusions from workshop work

      • Added to section on interface evaluation

  • Activities

    • Hold workshop

      • Value: Provides user data

      • Time: 3 hr

    • Look over workshop data, reach preliminary conclusions

      • Value: First step towards fully utilizing workshop

      • Time: 1 hr

22 March

  • Deliverables

    • Data on Cryengine, improvements to Cryengine documentation as necessary

      • Useful as second impression of Cryengine

  • Activities

    • Install, configure Cryengine

      • Value: Second data point for cryengine testing, potentially difficult progress (see Kevin's experience)

      • Time: 4 hrs

3 April

  • Deliverables

    • Data on Cryengine, improvements to Cryengine documentation as necessary

      • Useful as second impression of Cryengine

  • Activities

    • Continue Cryengine testing

      • Value: Second data point for cryengine testing, potentially difficult progress (see Kevin's experience)

      • Time: 4 hrs

5 April

  • Deliverables

    • Data on Lumberyard

  • Activities

    • Install, configure Lumberyard, follow Kevin's Hello World Tutorial

      • Value: Second data point for Lumberyard

      • Time: 4 hr

10 April

  • Deliverables

    • Finalized impressions of Lumberyard, Cryengine

  • Activities

    • Review/edit/update Lumberyard and Cryengine documentation

      • Value: Completes a section of the site and (if included) the final paper

      • Time: 1-2 hrs

    • Any further exploration of Cryengine/Lumberyard as needed

      • Value: Potentially necessary depending on technical difficulties

      • Time: 2-3 hrs

12 April

  • Deliverables

    • Possibly none, as this might be a buffer week.

    • Data on WorldViz

      • Useful as second impression of WorldViz

  • Activities

    • Install, configure WorldViz

      • Value: Second data point for WorldViz testing

      • Time: 4 hrs

17 April

  • Deliverables

    • Data on WorldViz, improvements to WorldViz documentation as necessary

      • Useful as second impression of WorldViz

  • Activities

    • Continue WorldViz testing

      • Value: Second data point for WorldViz testing

      • Time: 4 hrs

19 April

  • Deliverables

    • WorldViz HelloWorld tutorial

  • Activities

    • Write WorldViz HelloWorld tutorial, record estimated time

      • Value: Data necessary for final comparisons

      • Time: 4 hrs

24 April

  • Deliverables

    • Data on Windows Mixed Reality Hardware

  • Activities

      • Install, Configure Windows Mixed Reality Hardware

        • Value: Impressions of WMR

        • Time: 4 hrs

26 April

  • Deliverables

      • Data on <another undertested software>, potentially a tutorial if necessary

  • Activities

      • Continue testing <another undertested software>

        • Value: Additional datapoint for that software

        • Time: 4 hrs

Total Hours: 45

Progress Report 2

Time Spent

    • 25 hours


    • Wrote evaluations of various VR Hardware emulators

      • Under "Hardware > Hardware Emulation"

    • Wrote tutorials for using the 3 major hardware emulation methods

      • Under "Hardware > Hardware Emulation

        • > iVRy Tutorial"

        • > vRidge Tutorial"

        • > null Driver Tutorial"


    • Debugged, researched, and optimized various VR hardware emulators

      • Necessary for evaluation

      • Useful for assisting in development and research within the scope of the class

    • Wrote tutorials for 3 hardware emulators

      • Useful for others in class without easy access to VR hardware

    • Gained familiarity with Unity

      • Originally intended for use with Immerseum VR

      • Also separately relevant and useful for the class


    • Activities are explicitly and clearly related to deliverables

      • 4

    • Deliverables are described and attributed in wiki or manuscript

      • 4

    • Items from in-class google sheet of experimental data are in wiki or manuscript

      • 4

    • Report states total amount of time

      • 4

    • Total time is appropriate

      • 3


    • It has been difficult to gauge how long individual tasks would take, as unexpected technical issues take unpredictable amounts of time to resolve.

    • I ended up rejecting the inclusion of the Immerseum VR simulator due to usability issues, technical problems, and concerns about the long term viability of the project itself.

Progress Report


  • Overview of VR hardware emulation for consumers and developers

    • Under the Hardware subsection


  • VRidge evaluation/debugging/optimization

    • VRidge seems to be the most comprehensive hardware emulator

  • Trinus evaluation/debugging/optimization

    • Trinus performs the same function as Vridge, but is available on both Android and iPhone

  • Learning Unity


13 February

  • Deliverables

    • Progress Report

      • On my journal page

  • Activities

    • Write up progress report and future plans

      • Value: Will help guide future work

      • Time: 2.5 hr

    • Continue learning Unity

      • Value: Necessary to evaluate unity headset emulation plugin, relevant to VR in general

      • Time: 1.5 hr

15 February

  • Deliverables

    • Cleaner, more organized Hardware Emulation page

    • Evaluation of iPhone software

      • Will be added to the Hardware Emulation page

  • Activities

    • Borrow an iPhone / work with a classmate with one in testing iPhone apps for emulation

      • Using iVRy and Trinus (and any others I can find)

      • Value: Hardware emulation evaluation should be comprehensive

      • Time: 2 hr (more if unexpected problems arise)

    • Continue learning Unity

      • Value: Necessary to evaluate unity headset emulation plugin, relevant to VR in general

      • Time: 2 hr

22 February

  • Deliverables

    • Tutorials for using VR emulation software

      • Useful for our class in research, probably too much to be included in the final paper

  • Activities

    • Write the above tutorials

      • Value: Students in our class can use this software for development and testing, reducing demand for our limited headsets

      • Time: 4-5 hrs

    • Continue learning Unity

      • Value: Necessary to evaluate unity headset emulation plugin, relevant to VR in general

      • Time: Whatever time can be spared

27 February

  • Deliverables

    • Addition of Immersium VR emulator Unity plugin to the Hardware emulation page

    • Tutorial for setting up, using Immersium VR emulation plugin

  • Activities

    • Immersium evaluation/debugging/write up

      • Value: Potentially easier than phone-based emulation, and allows for greater capabilities (ex. controllers)

      • Time: 4 hrs

1 March

  • Deliverables

    • Any additional information required/discovered relating to VR hardware emulation

  • Activities

    • Gather feedback on VR hardware emulation from peers

      • Value: Can be used to get a broader view of the usefulness and quality of the software

      • Time: 4 hrs?

6 March

  • Deliverables

    • Finalized integration of Hardware emulation into the Manuscript page, final editing of other related pages/tutorials

  • Activities

    • Review/edit all hardware emulation related pages, and finalize their integration into the Manuscript page

      • Value: Completes a section of the site and (if included) the final paper

      • Time: 1 hr? (depends on number of pages and number of edits)

    • Choose next area of focus through research and discussion with classmates, create outline

      • Value: Necessary for switching to a new focus

      • Time: 4 hrs

Total Hours: 25

Old notes and findings page. Talk to Zach if you have any questions.

VRidge and Riftcat are connected applications for VR HMD simulation using an android phone. The system streams the device's orientation to a PC running VR software (SteamVR or Oculus). The phone receives streaming video of the HMD rendering, in a side-by-side format. Combined with a Google Cardboard, the phone will act as a VR headset. Additionally, there is support for the Samsung Gear VR headsets, which provide much more accurate head tracking data. The program simulates OpenVR hardware, allowing it to directly interface with the OpenVR API.


  • Very cheap (free for 10 minutes, $15 for a license) and only requires an android phone

  • Easy integration with SteamVR. Essentially anything that can run on a Vive or Rift device can be streamed to a phone

    • Very useful for development testing purposes

  • Good accuracy for head tracking. Accuracy with a Gear VR is just as good as a full commercial headset

  • Some android phones, and newer versions of the Gear VR headset support USB tethering, allowing for greatly increased performance.

    • I couldn't test this, as my Gear VR headset is older.

  • Supports NOLO trackers/controllers for the full room-scale experience. However, as the NOLO system is $200, it would probably be easier for most consumers to just get one of the Microsoft Mixed Reality HMDs


  • PC/Android only

  • Tracking and streaming latency issues make it largely impractical for any applications where long-term use or quick reactions are required.

    • Head tracking is accurate, but the latency can easily induce motion sickness

  • Bandwidth-dependent. High-bandwidth WiFi is necessary for acceptable streaming quality

  • Low FPS. Likely due to using built in video decoders on the phone in combination with bandwidth concerns, the streaming framerate is limited to either 30 or 60 fps, when 90 would be preferable to reduce motion sickness and headaches

  • (Brown Specific) The GearVR version has no option to manually enter an IP address for the host PC, and Brown's firewall blocks the port it uses for discovery, meaning that it can't be used on the Brown network. The regular version can with a manual IP, however.


Vridge provides a system which is passable for playing certain VR games and, with enough work, provides a potentially acceptable experience for a very low price. Currently, its major advantage is that it provides an incredibly easy test environment for VR development. However, with the prices of full HMDs going down, it is questionable whether it might be easier in the end to get a better experience with a cheaper HMD.

Future Research:

On Android, there are two other apps which perform roughly the same function. KinoVR doesn't seem to be actively maintained any longer, and Trinus VR which doesn't support Gear VR. I plan to look into Trinus as an alternative to Vridge.

Vridge 2.0:

  • Essentially the same as Vridge 1.0, but with a more friendly interface. Performance seems somewhat better.

Cardboard vs Gear VR:

  • Cardboard found to be more reliable, probably good enough. It seems to be the larger focus of the product.

Trinus VR:

  • Same business model as Vridge

  • Can also arbitrarily stream desktop content

  • More customizable, but harder to get working

    • Even when working, performance is at best the same as Vridge, and quality is generally lower.

Gear VR Cardboard support:

  • Need to install custom application (costs $2) which disables the Gear VR service in the phone.

  • Need to calibrate cardboard apps w/ Gear qr code

  • Doesn't use the Gear's sensors, just the headset itself

Future research:

  • Moonlight streaming (supported by both)

  • iPhone applications (need to get one)