It’s live! Our entry for the recent VR Hackathon in San Francisco has received a significant amount of spit and polish (OK, perhaps not the best mental image) over the last couple of weeks and is now ready for prime time (i.e. Beta testing ;-).
Check it out at http://vrok.it! It should work well with Chrome, Firefox or Safari, although for best results I’d stick with Chrome on mobile devices.
The term “vrok” is one I came up with on the trip back from San Francisco… it’s a combination of an invented acronym – Virtual Reality Online Collaboration – and the slang term to grok, which the Oxford English Dictionary defines as:
to understand intuitively or by empathy; to establish rapport with" and "to empathize or communicate sympathetically (with); also, to experience enjoyment
What I’m trying to convey with this term is the idea that this tool can be used to communicate 3D information in a new – and I believe very compelling – way. To see what I mean, take a look at this video I created yesterday.
[In case you’re interested on how I made it, I recorded the two videos simultaneously – using Camtasia on my Mac and adb shell screenrecord with my connected Android device – and then overlaid them back in Camtasia.]
We’d love to get your feedback on this tool. Right now there are still limitations based on the fact we’re embedding the viewing component from the Autodesk Web and Data API twice in the “participant” pages, but we’re planning to swap that out soon for a single viewer using a stereoscopic renderer. Which should give us a significantly smaller memory footprint, apart from anything else. But it’s certainly possible to use this with simpler models, right now (a reason we’ve limited the file upload capability to 2MB, to set an appropriate expectation with users).
We needed to finish up a few things to get this ready for public use. The biggie was per-session support: if everyone connected in to a global session with multiple people trying to control it, it’d be a huge mess. So we now generate a 6-digit session ID when the page first loads, and participants get a custom URL (via a QR code on the master page) that they can use to connect in to that particular session.
Implementing the communication piece related to session support ended up being surprisingly easy: connected users get added to a socket.io room which we can then use to send messages to the interested users.
A few other interesting tidbits that may help people… sockets weren’t working on my Android device, initially, until I realised (and I still don’t know why this is the case for my phone) I needed to connect via https. This worked fine when we were running directly from Heroku – when we weren’t behind a custom domain – but clients soon saw a certificate mismatch when we put the “vrok.it” domain in front of it. I started to look into SSL certificates – closely related to the code signing certificates we talked about recently – until I discovered the excellent CloudFlare service which implements SSL for its managed sites. And it has a free tier!
The full source for this site is currently still on my GitHub account, but we’re planning on moving it to Autodesk’s, before too long.
We’re also starting to think about a logo for the site… does anyone have any suggestions?