Compatibility with other browsers


#1

Is it so that any argon solution only just works in the Argon app? If so, is there a prediction to say when they will be working in any standard browser on an Android Phone?


#2

Hi @ssuter.

Right now, argon.js apps work in any browser, BUT the capabilities of that browser limit what can be done. By default (again, “right now”) non-Argon4 browsers use the “empty” reality (white background, geolocation and device orientation APIs if they exist). The one obvious hole is to use live video for the background on browsers that support webRTC getUserMedia to access the local camera: we had a student look at that, but it was never completed. It’s really high on my wishlist, we just haven’t had anyone tasked with it. I’d love it if someone wanted to do it (just start with one of the other custom realities an merge in the appropriate code).

Part of the reason it wasn’t completed is that a “reality” needs to tell the system what the field of view of the camera is: there is no way to find this out using getUserMedia. Systems like AR.js (or anything that uses JSARtoolkit) ignore this and pick an arbitrary field of view (more specifically, the provide some incorrect camera intrinsics to the AR tracker, and use the same wrong ones for rendering). This woks if you only want to draw graphics on a marker (as all of their demos do), but means you can’t draw graphics “in the world” because they will not line up with anything.

That said, it would be great to create a live video reality of this sort, that had JSARToolkit embedded in it, and even though the graphics don’t line up (i.e., anything not on the marker “breaks”) it would at least do something. Next steps would be to actually let the user “set” the field of view somehow, or use other techniques (as yet undetermined) to guess the field of view.

Someone could also modify argon.js such that it a reality could say “I don’t know the field of view, I’m guessing it is XXX” and then argon.js could simply not enable geospatial rendering. We don’t want to just say the device doesn’t have a full pose (position + orientation) since it does, so we’d need another flag to say “even though the pose is set, the fov is wrong so don’t let geo content render”. Or something like that.

(BTW, sorry for the slow reply: I was on vacation, and for some reason I didn’t get notifications of a new post)