Hubs-Foundation / hubs

Duck-themed multi-user virtual spaces in WebVR. Built with A-Frame.
https://hubsfoundation.org
Mozilla Public License 2.0
2.13k stars 1.42k forks source link

Deleting Scenes #2314

Open robertlong opened 4 years ago

robertlong commented 4 years ago

Is your feature request related to a problem? Please describe. Right now you can't delete scenes from the "My Scenes" tab and deleting a project doesn't delete the linked scene. This can be confusing to users who may think that their scene should have been deleted when they deleted a project. Also, not having a way in the UI to delete a scene means we are preventing users from deleting the scenes themselves.

Describe the solution you'd like I think we should add a way to delete scenes to the "My Scenes" tab of the media browser and introduce scenes as a concept in Spoke. You should see your published scenes in another tab in the Spoke project page where you can remix them and delete them. You also should receive a popup asking if you want to delete the associated scene when you delete a project.

Describe alternatives you've considered We could also make deleting a project automatically delete the associated scene, but this might have unintended consequences. We'll want to think hard about it if we choose to delete the scene automatically.

Overall, I think this is our chance to unify scenes and projects in Spoke and Hubs. The terms and flows aren't clear and we could do a better job communicating it in our UI.

┆Issue is synchronized with this Jira Task

misslivirose commented 4 years ago

I agree on both of the workflows here. The design for this sounds right to me, and we can use the dialogue on scene/project deletion to also inform the other one (e.g. when you delete a project, it says "This doesn't delete the scene, would you like to?") which would probably help with teaching the differences between projects and scenes.

I think that deleting the scene automatically is a default that we shouldn't set automatically, but I could imagine a world in the future (not required for a v1) where we make this a user preference in Spoke that would allow users to more effectively "clean up" their content by automatically deleting the associated scenes and assets for a project (assets being a more destructive option, but there might be something to consider there.)

Do we think that the UI for deleting scenes should live in both Hubs and Spoke for a v1? I could imagine that the first iteration of this (that wouldn't require bringing the 'My Scenes' functionality into Spoke) would be to just implement that delete UI on the 'My Scenes' tab in Hubs, then delete the projects in Spoke.

robertlong commented 4 years ago

If we were to do one, I might focus on Spoke first. The dialog asking if you intended to delete the scene addresses what @gfodor was worried about and that wouldn't be addressed by only adding scene deletion to the "My Scenes" page. Although I think doing both is totally doable. It's just a little more frontend work.

robertlong commented 4 years ago

I started on the backend change here: https://github.com/mozilla/reticulum/pull/353

There are some open issues that need to be addressed about what deleting a scene should actually do and then if we need to change the DB schema.

catherineomega commented 4 years ago

This also raises the point of what happens when you attempt to visit a deleted scene:

The "deleted room" page says:

Sorry, this room is no longer available. A room may be closed if we receive reports that it violates our Terms of Use. If you have questions, contact us at hubs@mozilla.com. If you'd like to run your own server, Hubs's source code is available on GitHub.

Wow, what the heck did I DO, right? :) But the problem is that I just deleted it. I suggest:

Sorry, this room is no longer available. A room may be closed if the owner deletes it, or if we receive reports that it violates our Terms of Use. If you have questions, contact us at hubs@mozilla.com. If you'd like to run your own server, Hubs's source code is available on GitHub.

Now, in addition to that, I see the original room title in the web page's <title></title> tag, which could be a potential privacy issue, but also, if a room HAS been deleted for something extremely offensive, it still exposes the title to the public. So I'm wondering if it should just read "Deleted Room|Hubs by Mozilla".

iainhallam commented 4 years ago

I came looking for something like this when I followed the Spoke tutorial - I guess my published scene from the tutorial is now always available on hubs.mozilla.com with no way to delete it. That's not the end of the world, but if someone publishes something it could inadvertently reveal sensitive or defamatory information with no way for them to remove it.

BethanyWinslow commented 3 years ago

I concur with iainhallam on this. I deleted old test projects and rooms and keep finding the oldest scenes I have which are junk. I didn't even think about the privacy aspect. Another related thing is similarly disconcerting is that if I don't favorite my rooms, but I haven't closed them, I feel like they're floating out in the ether! I just "found" one of my rooms that I had as a link posted on a document, but it wasn't in my list because I hadn't starred it. Yikes! So I've been deleted redundant rooms and trying to delete scenes. I've created a lot of junk as I've been learning the functionality. I don't want that cluttering anything up.

Thanks for all you guys do!