Running in VR

This morning I went for a run in various places around the world, including a fjord in Iceland, a tropical waterfall, a canal in Venice, a bobsled run in Jamaica, a beach in Hawaii and various other exotic locales.

I was actually at home on my treadmill, my GearVR over my eyes, headphones over my ears, and one hand resting firmly on the treadmill rail (a necessary concession to reality).

It was great fun, and I thoroughly enjoyed the experience. Enough so that I think I’m going to make VR a regular part of my exercise regime.

The fact that the GearVR / Galaxy Note 4 system is high enough resolution, that it has no wires trailing, that it responds without noticeable lag when you turn your head, all combine to make a compelling experience.

Sure it could be better: I need higher quality noise canceling headphones, the contrast is nothing to write home about, and of course higher pixel density would certainly be welcome. But that will be coming soon enough.

For now, this is a huge leap forward from anything I could have imagined I’d be experiencing at home on my treadmill.

There is one wrinkle though. After about twenty minutes, the Galaxy Note 4 heats up from the constant activity and I get a warning on my screen that I need to stop and let it cool off.

Fortunately, that’s one of the advantages of being at home. I just pop my phone in the freezer, and in about two minutes I’m ready to go back to that beach in Hawaii.

Battling APIs

Most of my programming experience is one of blissful unawareness. I find a nice quiet place to work that doesn’t involve too many complications — for a while it was Java applets, and in the last year and a half it has been HTML5, Javascript, WebGL — and from there I build up my own tools, happily constructing my little workshop and inventing shiny new toys.

Alas, you can’t always live in blissful unawareness. There are days when you need to open up your front door, walk outside, and breathe in the smog filled air of reality.

Today was one of those days. My colleague David and I spent much of the day wading through many APIs (abstract programming interfaces), trying to get to the point where we could create our own original content on the GearVR virtual reality headset that works with my fancy new Galaxy Note 4 smartphone.

We read instructions, we installed software, we downloaded libraries, we failed. We rethought our approach, we tried again, we failed again.

We looked at all the sites where people tell you where you may have gone wrong. We got on Google, we read on Reddit, we studied at Stackoverflow. We installed a plethora libraries from Oculus, from Unity, from Android, from Oracle, from other companies that provide services to those companies.

Hours went by. It’s amazing how an activity can be filled with constant activity and drama and yet still be boring. Very discouraging.

Except at the end of the day, we managed to get it working. Through sheer ornery persistence we hacked our path through the thorny thickets of third party software. And I found myself staring at a wonderful virtual reality landscape, a completely made up world, that stretched out to infinity in every direction.

Now the fun part begins.

Hologrammatical errors

OK, so here’s a puzzler.

Microsoft comes out with an extremely cool new device — the HoloLens — and then in their announcement they falsely describe it as a device for looking at holograms.

In fact, the HoloLens, as wonderful as it is, does not show you holograms. It doesn’t involve holography at all. Just to make sure, I asked somebody very high up on their technology team about this, and he confirmed the obvious.

What’s even stranger is that none of the major newspapers — not the New York Times, not the Washington Post, none of them — have pointed this out. They have all just repeated the obviously false assertion that this is a device for looking at holograms.

Why is it that in technology you are allowed to say any nutty thing you want, and nobody calls you on it? This generally does not happen in other sectors.

For example, if Paramount Pictures had opened Selma by saying “Martin Luther King was the leading figure in the struggle for the rights of Italian Americans”, would all the papers just have printed that?

I’m guessing that somebody, somewhere, would have called them on it.

Virtual irony

Tonight I went to a Virtual Reality Tech MeetUp. It was very nice, and the people there were all extremely enthusiastic. Brownies were served.

Quite a few attendees had brought their Oculus Rift DK2 or GearVR (and in some cases, both), and were taking turns putting them on and showing each other the virtual worlds they had made.

All of these excited happy people, who were mostly quite young, were clearly enjoying a sense of community, of hanging out, of being together with fellow travelers.

But I couldn’t help thinking that if all of this succeeds, there may come a time when a gathering such as this will seem as quaint as a horse and buggy. Why travel to a common meeting place, when you can have a face to face conversation without ever leaving the comfort of your own home?

Most people don’t miss the horse and buggy. In fact, most people don’t think about it at all. We have long since moved on.

So I wonder about that future world where kids grow up hanging out together without ever being in the same room, where brownies are “shared” by people who are in different houses, or on different continents.

When that day arrives, will the people I met this evening feel nostalgic for the time, long gone, when they once gathered in a room, to usher in a world where nobody ever gathers in a room?

Dipping a toe in the water

Today I wanted to understand what something that I was trying to program would look like. So I sort of implemented it.

What I mean by “sort of” is that I implemented one special case, which could be used to show exactly one demo. That demo worked just fine, but you couldn’t do anything else with it except show that one demo.

So it wasn’t completely real. But it wasn’t completely fake either. I did lot of things exactly the same way that I would do them in a full blown version. Just not everything.

I guess this style of working is a way of saving time, by dipping a toe in the water instead of jumping in with both feet. You learn just enough from this sort of exercise to know whether you’re going in the right direction — so you know whether you should keep going that way, or back up and try a different path.

It wouldn’t do much good to make something like this completely fake, because you wouldn’t learn enough. Instead, you need to figure out which part of the problem you’re not sure you can do — and then do only that part for real, faking the rest.

If that much works — and only if that much works — then you can go ahead and jump in with both feet.

Old notebook

Suppose you found an old notebook that contained a fantastical tale, perhaps a tale of events in a parallel world.

For various reasons of your own, you strongly suspect that the tale is true, but you are also aware that nobody else would be likely to believe this.

What would you do? Would you keep it all to yourself? Try to talk about it anyway? Present it as fiction?

These are not easy questions. For all we know, Philip K. Dick was making documentaries.

Product placement

I’ve been working with some colleagues on a new technology — a rollable mat that functions as a kind of “video camera” for pressure. If you stand on it, it sends to your computer or smart-phone a high quality time-varying image of your feet, toes, etc. Below is a typical image of that (with different pressures shown in different colors):

You can also lie down on it, bounce a ball on it, or use it as a rug under a chair. It’s very versatile.

We’re making them 2ft × 3ft in size, and they will wirelessly communicate with smart-phones, tablets or computers. We want lots of people to be able to use them, so we’re trying to make them very inexpensive. It looks like we’re going to be able to sell them for just $199 a pop.

You can also put them side by side to create a single giant sensor. At NYU this spring we’ll be using 96 of them, to create a 24 ft by 24 ft pressure imaging floor for our motion capture lab.

We want to make these mats available to the world, but we need to do so in a self-sustaining way. In other words, whatever people use it for needs to be something they are willing to pay for. Otherwise, we will just run out of money and we’ll have to stop making them.

People have expressed interest in using them as game controllers, for posture and balance assessment, to help practice golf swings, and as exercise mats. Other people would like to use them to help identify people. For example, if the mat outside your front door recognizes you by the way you step onto it, it unlocks the door for you.

You can also just use one to weigh yourself. Roll it up and take it with you on a trip, then unroll it when you get there, and you have a smart scale that can send your current weight to your favorite smart-phone app.

Personally, I want to use one of these, together with my GearVR virtual reality headset, to create a meditation experience. I sit on the mat, put on my VR headset and headphones, and enter beautiful and calming alternate worlds, where I can fly around on my magic carpet.

I’m curious if anyone has any favorites among these ideas, or if you see some other cool use that we haven’t thought of yet.

To bcc or not to bcc

Suppose that I, the proud president of Universal Widgets, get an email from Al, one of our loyal clients. Al wants to know whether our widgets can work under water.

I think so, but am not sure. So I send a reply, copying Betty who runs our R&D lab, suggesting that she follow up.

Meanwhile, I also blind-copy Cecil, our patent lawyer. After all, if satisfying this customer will involve inventing some new capability, I want Cecil in the loop.

What’s wrong with this picture? Well, for one thing, Betty doesn’t know that I copied Cecil. While I may not want the customer to know we’re copying our patent lawyer on this exchange, I probably do want our head of R&D to know.

As far as I know, there isn’t any graceful way, with a single email, to do what I really want: Send a reply to Al, copy Betty on my reply, and copy Cecil in such a way that Betty (but not Al) sees that I have copied Cecil.

Yes, I could one email to just Al and Betty, and then send another email to just Betty and Cecil. But that seems inefficient.

Shouldn’t there be a way to do this in one step?

Dream job

When I was in college I would have dreams, from time to time, in which I would show up at class only to find that we were taking a test, and that I had no idea about the subject. I would receive my test booklet, the hour would start, and everyone would get to work — except for me, because I was completely unprepared.

Shortly after I got my Ph.D., I found myself teaching at NYU. Now I was on the other side — not the one taking the tests, but the one giving them. I was, as they say, the one in power.

Yet the dreams continued. Only this time I would show up to give a lecture, only to find that I was completely unprepared, and had no idea what to lecture about. A sea of expectant student faces would stare out at me, and I would have not a clue what to do or say.

Thinking back on all this, what fascinates me is that these are essentially the same dream. The only difference between them is in the societal role that I am playing. In every other way, they are the same.

What continues to surprise me — I’m not sure why it surprises me, but it does — is that my dream self would bother to make such a fine distinction between “student” and “teacher”. After all, you would think that the terrified three year old in my soul would not care about such petty details.

Yet evidently he does.