A couple of days ago, my developer version of the Oculus Rift Virtual Reality (VR) headset arrived. It came in a very slick plastic case and hooked up to my computer in minutes. I installed the software and ran the demonstration "world" and stuck my head into the Oculus Rift - Amazing! The quality and immersive sense was better than I thought it would be. A couple of years ago, I had ordered another virtual reality (VR) headset from a different company and, well, after five minutes of playing with that one, I shipped it back. It was like looking at the screen down a five foot tunnel. It had head tracking and it was neat for a few minutes, but I was never going to use it in any practical sense. So, I shipped it back.
The Oculus Rift does not suffer from this tunnel effect! Definately a keeper. I wanted to interface the Oculus Rift with my Haylyn Project (formerly known as Nexus. I'll go into the reasons for the name change some other time). In the past couple of months, I had re-written the Haylyn WebGL/HTML5 client and changed the WebGL libraries from GLGE to Three.js. GLGE was excellent to work with, but the project has been inactive for too long for my comfort and Three.js has a fairly active user and developer base. The question now is how to access the Oculus Rift from within the browser? After a little bit of searching, I downloaded and installed the vr.js code by Ben Vanik which includes a NPAPI plugin that works with Chrome and Firefox. Ben Vanik provides several demos for using the vr.js with the Oculus Rift including a Three.js version. The image in this article shows the dual screen effect seen without the Oculus Rift Headset on. The image depicts the aggregated http traffic to my VIVO site http://reach.suny.edu as linked data that I did as a poster at the 4th VIVO National Conference last week. See poster here.
With the Oculus Rift Headset, graphs and other visuals can be seen in 3D and with the added bonus of head-tracking, you can immerse yourself in a world of data and look up, down, left, right, diagonally, etc just by moving and turning your head. Haylyn WASD functionality allows you to move around the scene of RDF linked data. The "endless plane" and cubes in the image are objects that I added from the vr.js demo. They looked good but have nothing to do with the colored RDF graph. The vr.js libraries also work with Sixense's Razer Hydra which is a motion capture system for your hands. Sixense is also working on a wireless version of the Hydra called the STEM System. I can't imagine the mouse and keyboard being the pinnacle of computer/human interface technology. Hey, W3C Device APIs Group, can we add the Rift?! The thought of being able to reach into the 3D scene and grab and manipulate triples and data with my hands...Some distractions are too cool to ignore...must...order.....Squirrel!