Honey I Bought an Oculus

Image copyright Simon Stålenhag, who is a Godlike Genius

It’s been about a week since I brought the Oculus Quest VR headset home with me, so it’s high time to make some grand pronouncements. (If you’ll ignore the fact that everyone else has been on this train since May 2019, I’m pretty cutting edge). I actually bought it to do previz on my long-postponed home improvement project (knocking down walls, that sort of thing) but, as these things do, one rabbit-hole led to another.

The TLDR : you should probably definitely go out and buy one immediately. With a couple of, erm… cautions.

No question, the Quest is a massive leap forward — not because the tech is necessarily that much further ahead, it’s just been worked on.

The highlights :

  1. No expensive, complicated, bulky and annoying PC to lug around and set up ! All the computation is in the unit.
  2. No cable to run from the PC to the headset ! See above.
  3. No base stations to plug in and set up ! Tracking is done using four cameras mounted on the headset.
  4. Super slick unboxing and setup experience ! I had the system up and running in next to no time, all driven off an iPhone app.
  5. You can wear the headset safely in the house ! With the headset on, you can see your surroundings through the cameras — jerky, black-and-white, noisy and poorly exposed though it is, it stops you colliding with objects and people (or falling down the stairs).
  6. Intuitive play-zone definition ! The system auto-detects the floor, and lets you draw your play area using a simple interface. If you get close to the boundary, the system draws it for you as a warning; if you step outside the zone, the system shows you video again. In practice, this was surprisingly robust.
  7. (Almost) proper hand shape tracking and gestures ! This isn’t quite ready for disco yet, but you can see where it’s going.
  8. It’s completely portable — cram it in its carry case and stick it in your backpack. You can travel with this thing; I brought it to Barcelona with me.
  9. It costs £499 — the same as my first computer, the BBC micro, back in 1982. More on this later.

Again, there’s been a ton of work put into this.

The “home screen” is cute — think Netflix, but on a floating screen in a designer geodesic dome in the hills, a fire glowing in the fireplace and shooting stars in the night sky above.

The “introductory experience” is cute too — a sort of vapourwave polygon explosion, a nice tutorial teaching you how to use the hand controllers (which, although perfectly nice, are sucky, as all hand controllers are). You get to dance with a robot, play tennis, etc etc.

There’s lots of basic games included, none of which are really that fantastic. Full disclosure — my first job was in the games industry, which inoculated me against taking games at all seriously.

The thing that grabbed me the most, oddly, was spherical video — a three-episode documentary about climbing Everest which produced a jaw-dropping sense of presence and vertigo. This even though the quality and smoothness were, frankly, pretty crappy, and there’s no parallax. I wanted to immediately get on a plane and take the headset to show my dad, who loves climbing mountains but has had to curtail his activities recently due to injury.

Imagine this video, all around you in 360 degrees…

I haven’t tried the porn yet.

  1. VR is about to get really good and merge with video-based AR. There’s a great Finnish startup called Varjo pioneering this at the high-end, 10K-euro-per headset level. But walking around your room and seeing it all on grainy video, like the Terminator but without the scrolling 6502 assembly code, really gives you a visceral shiver of premonition — this is the way everyone’s going to be doing everything in a few years.
  2. I don’t know whether games will actually be the most widely used application. I feel like someone’s going to come up an epic telepresence modality that combines Tiktok, Snapchat, Instagram and LiveStream into a social media experience so unbelievably addictive that we all literally die on the toilet.

which brings me to …

“for he on honeydew hath fed, and drunk the milk of paradise”
  1. If you thought people glued to their phones in social situations were antisocial, wait till you try people in VR in your living room.
  2. If you thought we had a problem with phone addiction, wait till you try VR.
  3. If you feel like you’ve been neglecting your partner because of your phone addiction, wait till you try VR.
  4. If you feel like privacy’s a major issue, wait till you try VR (Facebook owns Oculus, so, um, yeah).
  5. If you feel like the world’s going to hell in a handbasket because everyone’s too transfixed by their phones to pay attention to anything, wait till you try VR.

A basic problem with VR is that it’s a solo experience — nobody else in the room can see what you see, which isolates you from them. An ideal VR experience would be a social one — where everyone in your physically-present group of friends has a headset, and you all drop into the same virtual environment together, without any fuss. (Actually, for all I know, the Quest might work like this already — I only bought a single headset.) I feel like if anyone gets this right, it’ll be Nintendo.

But anyway, most of the above is obvious, and has been written about by lots of people far more qualified than I.

What I really came to write about is the developer experience.

When I was 10, my family moved temporarily from India to London, and my dad laid out £499 (not an insignificant sum, in 1982) for one of these :

the BBC Micro

You connected it to your telly, turned it on, it made two beeps, and this is what you’d see :

You could — immediately — type in something like

20 GOTO 10

And hilarity would ensue.

Back then, there weren’t really any games available, but you could buy magazines with program listings in them, so we did, they didn’t work, we fixed them, and that’s how I learned to love programming computers (ironically, it also destroyed my love of games, but that’s another story).

The thing that really made me interested in the Oculus Quest was the fact that it had the same price tag as the original BBC micro, and is similarly self-contained (well, you need a phone to manage it, but you catch my drift). So I wanted to see what the developer learning curve was like.

I set out to do something really simple — walk around inside a model of my house (with a couple of annoying internal walls knocked out), and be able to try different arrangements of furniture, materials, colours, and lighting. Nothing too fancy, certainly not as fancy as Ikea’s VR shopping experience.

There are three options if you want to make something original on the Quest — native development, Unreal, or Unity. I don’t really have the time to get into native development, since this is a hobby project done in my spare time (although I’ll probably get into that once I do make the time, if that happens). I’m travelling and working on my 13" Macbook Pro, and I don’t really want the hassle of trying to Bootcamp (you have to do it when you first get the machine, or it doesn’t work); and I’m not in the mood to buy a PC laptop just to develop. So that means Unreal is out; and that means Unity.

I kept a coding diary for this project, because I do that now (you should try it). Here are my notes :

page 1 of my notes, small font to fit on page
page 2 of my notes, small font to fit on page

So at this point I have a blank Unity project with nothing in it, that builds and runs on the Oculus Quest. This took me something like 2 hours of messing about, and I am a grown-up software engineer. And this is before we get into the complexities of adding objects and behaviour and navigation and whatnot, which details I will spare you.

Suffice to say, the learning experience for a novice developer coming to this platform is, to put it politely, broken.

Which is a shame — somewhere out there right now is another 10-year-old-me, playing an vaguely whelming but ultimately shallow Star Wars VR experience for a couple of weeks and then losing interest in the whole thing, instead of getting hooked on coding and creating something that changes the world.

So this got me thinking.

What if the real VR revolution we need to create isn’t anything to do with higher resolution, or more frames per second, or foveated rendering, or eye-tracking, or lasers mounted on your corneas, or high-powered electromagnetic fields stimulating your visual cortex, or probes directly jacking into your optical nerve ?

What if it’s programmability ?

What does an IDE running entirely in VR, simple enough for a 10-year-old to grab with both hands, but powerful enough to build something you could sell on the Oculus app store, look like ?

I think I’m starting to want to make one, to find out.

I once made the mistake of letting other people use my software; the result was www.disguise.one. Now I’m trying to figure out how to fix what’s really broken.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store