Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offline access to Hubs rooms #5609

Open
TimVoronkin opened this issue Jul 22, 2022 · 7 comments
Open

Offline access to Hubs rooms #5609

TimVoronkin opened this issue Jul 22, 2022 · 7 comments
Labels
enhancement work that enhances an existing feature Feature Request P3 Backlog

Comments

@TimVoronkin
Copy link

It would be very nice to be able to upload your Hubs room to PC/mobile/Quest so you can view and walk in own space offline.

Of course, I can download scene as .glb and rebuild fully scene in another program, but when it looks completely different. And then objects that are exclusive to Hubs will be unviable. Such as mirrors, sound, audio zones, video, etc.

I can guess that there should be some program for PC/mobile/Quest with same engine as in the Web version of Hubs, but without the need for an Internet connection.
The program will open the .spoke file (previously loaded from the editor).
It will also be necessary that all 3D models, videos, files are also uploaded to the device, and not the link like uploads-prod.reticulum.io/files/...

Thanks in advance
Tim

@TimVoronkin TimVoronkin added the enhancement work that enhances an existing feature label Jul 22, 2022
@qiangjiadong
Copy link

I also think Offline access to Hubs rooms is very important. As I often present Hubs rooms for education and academic purpose, bad WIFI and network always block me from showing my Hubs rooms properly with the control of timing.

@emclaren emclaren added the P3 Backlog label Aug 3, 2022
@emclaren
Copy link
Contributor

emclaren commented Aug 3, 2022

This would be a big lift given the way that Hubs is currently built. We can see the value of being available for single player experience that is available offline for demos in places with low wifi etc. This isn't something we are exploring at the moment, but I will leave this enhancement request open so other folks can share if they are interested in this as a feature as well. Thanks for this suggestion.

@jywarren
Copy link

jywarren commented Aug 6, 2022

I've been quite interested in this for use in museum exhibits, and for archival purposes. I've been working with lots of folks using Hubs with family and ancestral memories, things quite important to them personally and for historical purposes. So I think a "static" single-player way to archive a piece or serve it from a folder is very appealing. Also (as mentioned below) I am wondering about how the Internet Archive might approach archiving some of these spaces, so that could be relevant here as well. Thanks!

I explored this a bit below:

First just wondering how a scrape of the page would work, and I haven't tried a manual cache of it, but did try to use the Wayback machine, and for the record it did not work -- i wonder if it won't load if it can't connect to check for other logins?

image

Though it is complaining about media devices... not quite sure what that means... maybe there's some device detection failing where it would switch to VR mode?

In any case, I wonder, would it be possible to set it up to boot up to the point where the avatar is instantiated even if there is no live connection to search for other users... i'm just thinking, which assets are actually loaded... there's no dynamic loading of image/model/media assets, they're all preloaded, so is the multi-user positioning the only part that is actually dynamically loaded?

@jywarren
Copy link

jywarren commented Aug 6, 2022

wget \
     --recursive \
     --page-requisites \
     --convert-links "https://hubs.mozilla.com/ZbPnoCW/test-space?vr_entry_type=2d_now"

This didn't really work - i did change the main html to 'index.html' and served it locally to be sure it didn't hit any javascript security restrictions on accessing local files, but it just got stuck in the load screen:

image

Next I tried saving a complete single-file webpage in '.mht' format, from Chrome, from /after/ I've loaded the whole environment + models, but it hits the JS security limitations of local files:

Not allowed to load local resource: file:///Users/warren/Desktop/hubs-scrape/Test%20space%20_%20Hubs%20by%20Mozilla.mht

But I can't get node http-server to serve it as html... i should be able to get by that though... hang on.

@jywarren
Copy link

jywarren commented Aug 6, 2022

Hmm, i wasn't able to figure out a way, but the .mht file doesn't seem to contain the loaded gtlf files, which in the Network pane add up to 25mb total loaded for the page. The .mht file is only 313kb.

From the complete webpage Chrome save, it looks like the first file to fail is the avatars listing, which is this when loaded successfully on the live site:

image

@jywarren
Copy link

jywarren commented Aug 6, 2022

OK, so having stored a flat copy of that file at the correct location, i now get an error for fetching /api/v1/meta which is a login process to the Reticulum server (for media objects) and I think that's where we'll be stuck for real, as there seems to be some more complex back and forth to actually fetch things from Reticulum to display.

await fetch(getReticulumFetchUrl("/api/v1/meta")).then(async res => {

Well, that was fun to try, thank you!

I'm curious what if any the longer term plan for archiving hubs spaces might be, like is there any thought on the Internet Archive process for saving these environments? Just curious, thank you for humoring me! Much appreciation for the whole project.

@jywarren
Copy link

Just noting that the Conifer service (https://conifer.rhizome.org) also gets stuck at auth, with below error, with Loading scene... on screen:

/api/v1/auth/register:1          Failed to load resource: the server responded with a status of 504 ()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement work that enhances an existing feature Feature Request P3 Backlog
Projects
None yet
Development

No branches or pull requests

5 participants