Live data from Hacker News

The HTTP of VR

roderickkennedy.com

11–20 of 75 posts

Re: The HTTP of VR

#11
post #9

Nothing in the blog posting suggests to me you can't use HTTP and Websockets for VR. The understanding of HTTP in the blog posting seems to be rooted in the early 2000s. I don't think the author has much experience in protocol design (it is harder than it looks). It would be more productive to define a layer on top of HTTP/2 so we can leverage a lot of code that already works, rather than having to spend 10-15 years…

WebSockets are not an appropriate medium for VR in the most common use case today: real-time video games.

Even if you're not building a video game today and want to do something other-VR esque, I guarantee that you will inevitably end up recreating something the video game industry has done in the last 22-23 years.

Everything real-time the author of this article suggests is in the realm of something you would want for VR.

It makes sense to just take what both industries of web development and game development currently understand and build on that.

So let's take that to its logical conclusion. Let's say you wanted to navigate virtual worlds. You're going to end up having some sort of "navigator" or "explorer" or end up going on some sort of virtual "safari" of sorts.

You'll do that probably initially with HTTPS or talk to some HTTPS-based server. WebSockets are not sufficient for real-time VR based work, so you'll probably end up with some sort of, let's say, WebUDP or WebSockets with UDP functionality.

Everyone will end up wanting to build their own layers of abstraction over and over again and again so entry-level web and game developers have something to do, so it'll look like some incarnations that build on or supersede Three.js. Why?

Because everyone will have a different interpretation of what they want their camera, or user entity or actor to be able to do.

So, you'll need HTTPS, web-based UDP, some sort of localplayer series of libraries or framework, then you'll need levels or maps, because to do any sort of VR, you need a world, or worlds you can navigate.

Huh, weird. All of this just sounds like someone porting Quake to the web with VR. How boring.

Of course, if someone says "OK, yep, let's do it then," it won't be anything like that, or it will, but only superficially, because that's what happens when you live long enough to see people take technologies the broader population already knows about and cram them together.

The alternative is that Zuckerberg is an old person and no one was asking for a metaverse, just video games that don't suck eggs, and that Meta is just Mark's way of graduating Facebook to an Alphabet-type conglomerate in order to keep growth moving forward.

I seriously feel bad for kids today. You have what, Fortnite, Minecraft, and Roblox to play and that's it? Too many micro transactions and low quality games.

No 30-something is asking to put on a headset and go to the VR equivalent of Something Awful, which would probably look like a back alley with players farting on each other Jaykin' Bacon-style. You want a metaverse? That's what it would look like. There's always going to be some Something Awful/4chan/Facepunch equivalent.

No one is like "oh yeah I wanna go to work and sit in a virtual cubical with my Meta® Quest 3," and yet there are some people really disconnected from reality who think people are actually asking for that instead of, like, affordable housing or something. Weird.

Re: The HTTP of VR

#12
post #7

tl;dr: "So at Simul, for the past few years we’ve been building this protocol: it’s called Teleport VR. Let’s see what we can make with it!" An alternative view would be that HTTP(S) would be "the HTTP of VR". With WebXR and standard JS APIs for HTTPS, async fetching, WebRTC, etc, all the items listed in "Imagine an application-layer protocol for VR with the following characteristics..." are satisfied. And the stack…

I wouldn't even say performance is all that different.

Something that is unique is the idea that a website is a single document where as a virtual website might take the form of an interactive object and/or an interactive space.

I would say it's an open question how we want these web based virtual objects to interact with each other. Would we want to physically pull a video object off the Google Drive shelf and drop it into the YouTube workstation? How would such an interaction be possible? Even if, as today, they just never speak directly, could those objects live in the same space or would each website fully immerse the user?

Re: The HTTP of VR

#13

What exactly is the "metaverse" supposed to be, other than a marketing term to sell a more expensive class of IO devices? People will not switch over in droves to do their text/image/video editing in VR all of a sudden, because other than a few special design applications, there is no point in doing so...it's slower, clumsier and the input devices are much less precise than mouse&keyboard. Another supposed target dem…

I was thinking about exactly this today! On the right of me I have an oculus quest which I got 2-3 months ago and honestly, it is gathering dust. Just the idea of picking it up and putting it on my face is enough to make me think meh.

I did though and I feel like I can't be the only one who finds it really frustrating to the point of making me furious.

   1. I started with my eyes at floor level. 
   2. It moans about a guardian, this by far is the most soul sapping thing of all time. The thing is, I have dev mode, but I do find guardian useful (I punched some walls previously). It's just so annoying though. 
   3. It asks me to set up guardian every fucking time. 
   4. Followed by when I try the Oculus Link... do I want to trust this computer. 
   5. I start steam VR but it doesn't work as it cannot find my headset but at this point, I am strapped in and 2 meters from my desk (ala stationary guardian) so I take it off to restart steam VR and the Oculus app. 
   6. Sometimes the Oculus app simply doesn't work and I have to reinstall it. 
   7. For some reason my Oculus link cable is loose unlike other USB-C cables/ports so it disconnects from the movement of my standing desk intermittently enough to not be a problem but also highly annoying.
   8. Sometimes things don't start in VR but in Flat mode, this means removing the headset to sort it out (see point 5). I feel like jumping in and out of the experience makes it almost unusable.


It really doesn't take me long to just give up.

On the news the other day there was a guy from Microsoft and Facebook talking about how like "WOAH AVATARS ARE THE FUTURE". Like it is something new. I actually stopped playing Consoles (PS3/360?) because of all the Avatar setup shit with profiles. It's just that but in a fake office or room looking at bad 3d avatars and somehow this changes everything....

There is a long way to go. The best thing I have ever seen on my Oculus was when my girlfriend sent me a porn film for a laugh and it was actually pretty good as far as experiences go.

In saying all of this though. Beat Sabre and Super Hot are genuinely good experiences but they are as old as time itself so I feel that very very few things work well in VR. They are either completely shit (Skyrim VR etc), or very good with no in between.

Re: The HTTP of VR

#14
I'm building something similar for metaverses, although with less emphasis on VR currently. See https://substrata.info/about_substrata

Currently it's a relatively simple bidirectional protocol over TLS. It's not fully documented yet but you can get an idea of it by looking at an example bot client in python: https://github.com/glaretechnologies/substrata-example-bot-p...

Re: The HTTP of VR

#15
I don't want to have to strap a fucking telephone to my face to go to some shitty fake job. Please don't build this world.

Re: The HTTP of VR

#16
post #9

Nothing in the blog posting suggests to me you can't use HTTP and Websockets for VR. The understanding of HTTP in the blog posting seems to be rooted in the early 2000s. I don't think the author has much experience in protocol design (it is harder than it looks). It would be more productive to define a layer on top of HTTP/2 so we can leverage a lot of code that already works, rather than having to spend 10-15 years…

WebSockets are not an appropriate medium for VR in the most common use case today: real-time video games. Even if you're not building a video game today and want to do something other-VR esque, I guarantee that you will inevitably end up recreating something the video game industry has done in the last 22-23 years. Everything real-time the author of this article suggests is in the realm of something you would want fo…

Back up a bit, take a breath, read the HTTP 3 draft. Again, no need to reinvent the wheel. Let evolution take its course and piggyback on work that is already being done.

"Everyone" wanting to build their own layer on top of a transport that is mature isn't an argument for building yet another transport. It is just as likely that "everyone" will want to build their own transport. And do it badly.

Re: The HTTP of VR

#17

What exactly is the "metaverse" supposed to be, other than a marketing term to sell a more expensive class of IO devices? People will not switch over in droves to do their text/image/video editing in VR all of a sudden, because other than a few special design applications, there is no point in doing so...it's slower, clumsier and the input devices are much less precise than mouse&keyboard. Another supposed target dem…

John Carmack (consulting CTO for VR at Facebook/Meta) said in his most recent talk on VR (paraphrasing despite quotes),

"The internet has been described as people and screens. I've been arguing that the metaverse is just more people and more screens. Trillions of dollars of investment have made 2D screens very effective tools for delivering information. If the metaverse can deliver that information anywhere, at scale, shared with geographically disparate people in the same virtual location, then it will have real value."

I've thought about this and come to agree. Ignore the Snow Crash/Ready Player One "everyone lives in VR" hype, and for now ignore the "all games are interconnected in a shared world" fantasy and just think people and screens.

Already in VR, you can create multiple 2D screens for working in any number or configuration. You can place that in any kind of environment you find comfortable working in. You can create a "window" into the real world to see your real keyboard and mouse. You can see avatars of people in the same room that really feel like they're next to you. All of this is a bit clunky and the resolution is lower than hoped, but it works.

Now scale this up, advance technology, and add time. Higher resolution and lighter headsets are inevitable.

Will people want to work in VR? If it means 4 screens on the balcony of a Tuscan villa instead of a tiny desk in a depressing space? Maybe. They can still type "git push" on a 2d screen with a real keyboard in a virtual space.

Will companies buy a $300 device for every employee? If that replaces the $300 monitors they already buy, it could actually save money.

Will execs wear a 400g headset for 3h? What about if it's a 100g headset and lets them feel present with a globally distributed team that can sit around the same virtual conference table with spatial audio and see body language and facial expressions[1]? Maybe.

The benefits for shared movies, group gatherings, co-working, and social gaming are very compelling. If you stop projecting your preconceived ideas of what a "metaverse" is, and instead ask "what are the opportunities afforded by immersive shared and networked spaces being available to the masses through pervasive cheap technology?", you can come up with pretty compelling use cases that, taken together, ultimately form a far more likely "metaverse" in the near-term ([1] Search for "Codec Avatars" to see progress here. Here's an article with some videos: https://www.theverge.com/2021/10/28/22751177/facebook-meta-c...

Re: The HTTP of VR

#18
post #16

Earlier quoted context omitted.

WebSockets are not an appropriate medium for VR in the most common use case today: real-time video games. Even if you're not building a video game today and want to do something other-VR esque, I guarantee that you will inevitably end up recreating something the video game industry has done in the last 22-23 years. Everything real-time the author of this article suggests is in the realm of something you would want fo…

Back up a bit, take a breath, read the HTTP 3 draft. Again, no need to reinvent the wheel. Let evolution take its course and piggyback on work that is already being done. "Everyone" wanting to build their own layer on top of a transport that is mature isn't an argument for building yet another transport. It is just as likely that "everyone" will want to build their own transport. And do it badly.

Yeah, no one is going to do that, dude. No one who has a good idea of what they'd like this so-called metaverse to look like is going to wait around with their thumb up their bum while they wait for the IETF to sort out HTTP/3.

Everything you need to do this today already exists. You're right, you don't need to reinvent the wheel, but you'd just be screwing yourself working with a platform as crusty and stupid to work with as the web. You can reuse web protocols, but any sane person today will probably end up building a user agent unburdened by the stupidity web standards groups.

Plus a majority of usefulness wouldn't be done with HTTP. It would be done with DNS so you can do things like vrp:sweetbroandhellajeff.world, reliable UDP for anything meaningfully real-time, and some RPC protocol for packet handling. Why? Because video games do that today.

If you built a fork of Quake and exposed a way to "navigate" to worlds with an address bar of sorts, you'd be 80% of the way there.

You'll need a level format to standardize on, and various other standards would need to emerge, and most of them are probably going to be derivatives or outright ports of existing ones that are in use today.

An informal standard would emerge based on a popular client, then some attempts to hijack it would emerge. Why? Because that's what happened in the past, and what would happen all over again.

If you want to do it quickly, you're not going to use a web browser. You're talking about the same category of people who refuse to implement client side include for the web.[1]

[1]: https://github.com/whatwg/html/issues/2791

Edit: People already know what the requirements are at a minimum because video games exist, and all VR tech today is based on long-existing video game development techniques.

Do you want a floor? Walls? Textures? Guess you're gonna need a level format to standardize on then, yeah? Yeah.

Re: The HTTP of VR

#19
post #16

Earlier quoted context omitted.

Back up a bit, take a breath, read the HTTP 3 draft. Again, no need to reinvent the wheel. Let evolution take its course and piggyback on work that is already being done. "Everyone" wanting to build their own layer on top of a transport that is mature isn't an argument for building yet another transport. It is just as likely that "everyone" will want to build their own transport. And do it badly.

Yeah, no one is going to do that, dude. No one who has a good idea of what they'd like this so-called metaverse to look like is going to wait around with their thumb up their bum while they wait for the IETF to sort out HTTP/3. Everything you need to do this today already exists. You're right, you don't need to reinvent the wheel, but you'd just be screwing yourself working with a platform as crusty and stupid to wor…

Why would you need to wait when there's already running code you can use? It isn't as if the world's developers are sitting on their hands waiting for IETF to mint a new RFC before implementing.

And if nobody knows the requirements for the "metaverse" yet, then it would be too early to conclude what is needed, right?

UPDATE: turns out Facebook is heavily involved in quic and HTTP 3 already so it is likely they will go that route: https://engineering.fb.com/2020/10/21/networking-traffic/how...

Re: The HTTP of VR

#20
post #9

Nothing in the blog posting suggests to me you can't use HTTP and Websockets for VR. The understanding of HTTP in the blog posting seems to be rooted in the early 2000s. I don't think the author has much experience in protocol design (it is harder than it looks). It would be more productive to define a layer on top of HTTP/2 so we can leverage a lot of code that already works, rather than having to spend 10-15 years…

WebSockets are not an appropriate medium for VR in the most common use case today: real-time video games. Even if you're not building a video game today and want to do something other-VR esque, I guarantee that you will inevitably end up recreating something the video game industry has done in the last 22-23 years. Everything real-time the author of this article suggests is in the realm of something you would want fo…

> Meta is just Mark's way of graduating Facebook to an Alphabet-type conglomerate in order to keep growth moving forward.

Or that Facebook-the-company was receiving lots of bad press, and this is a way to dodge some of it.

Post reply on HN