I like to take notes and sketch new ideas. It helps me to organize my thoughts and, hopefully, have more and better ideas.
This wiki holds those notes but manipulating them and the structure is not as natural as post-its. What if we could do it in VR? What if I could invite you in?
Relying on Hubs I tried the following explorations.
All the following explorations have source code available in their description. Following the Principle of sandboxed explorations all are independant from each other. There is currently no complete integration of all in one system. I planned to do for the most interesting ones related to knowledge mangement i.e. sketching from reMarkable (ideation), sorting Github issues of the project itself (planing), triage of papers for syncing PDFs to reMarkable (research) and finally changing the wiki own structure (groups, tags, etc).
My collection of utillity functions for Hubs is available for as a Gist, a WebExtension and an optional module on my own Hubs Cloud instance.
adb shell monkey -p 'com.igalia.wolvic' -v 1
?vr_entry_type=vr_now
scrcpy
to visualize the result from the HMD
document.getElementById("media-counter").setAttribute("networked-counter", "max", 100)
?vr_entry_type=2d_now
on a room URL to enter in 2D mode, skipping some (but not necessarily all) steps
hub.html
document.querySelector("#avatar-rig").object3D.position.x += 1
translates your avatar 1m along the X axis, other connected can see it
NAF.schemas.schemaDict
NAF.schemas.add()
window.APP.hubChannel.sendMessage("Hello world!")
to send a chat message
[media-loader]
can be quiered via el.components["media-loader"].attrValue.src.match(hash)
[networked-avatar]
can be quiered via el.components["player-info"].displayName.trim()
el.setAttribute("media-loader", { src: url, fitToBox: true, resolve: true })
el.setAttribute("networked", { template: "#interactable-media" } )
AFRAME.ANIME.default.timeline()
{targets: star.object3D.position, autoplay: false}
then adding animations
#avatar-rig
this allowing for smoothly moving the camera and #avatar-pov-node
to rotate it
NAF.utils.getNetworkedEntity(ball).then(networkedEl => { NAF.utils.takeOwnership(networkedEl); networkedEl.components["set-unowned-body-kinematic"].setBodyKinematic(); /* do things */ })
NAF.utils.isMine(networkedEl)
window.APP.store.update({ profile: { ...(window.APP.store.state.profile), avatarId } });
window.APP.store.resetToRandomDefaultAvatar()
[media-loader]
can get a new source (of the same typp) using el.setAttribute("media-loader", "src", "https://domain.tld/newurl")
el.setAttribute("body-helper", { type: "dynamic", gravity: { x: 0, y:-9.8, z: 0 } })
The code snipped search on Gist is experimental. Parsing for hash and URL parameters is only partially encoded.
Turning on and off the light in my (home) office also changes it in social #VR, in my "virtual" office.
— Fabien Benetou (@utopiah) November 4, 2020
Using @MozillaHubs with @WebThingsIO gateway.
Code https://t.co/x9V6VyMZzE pic.twitter.com/LiT4wtr1qj
📄📄Snapping (GUI in the top right) a set of ideas in social #VR, loading and saving multiple layouts and finally pinning the whole set in order to be able to work on them during the next session.
— Fabien Benetou (@utopiah) May 19, 2020
All done scripting @MozillaHubs thanks to its great components and infrastructure. pic.twitter.com/6t7vLS4jhB
What if you couldn't join a @MozillaHubs event but you still wanted to "be there"?
— Fabien Benetou (@utopiah) May 17, 2020
Now you can, via my @Twitch chat you can control live (Ok with a bit of lag 😉) the camera of the target scene shown on the stream! pic.twitter.com/cWROMoipaA
Tinkering a lot with @MozillaHubs for VJing and more?
— Fabien Benetou (@utopiah) May 18, 2020
Use dat.GUI https://t.co/6iALQ9fp0X to get an interface to play around with your objects, animations, camera, etc!
Code https://t.co/fxK7ievQHN pic.twitter.com/l2jygjn4zW
Chatting with @djleufer in @MozillaHubs and being able to use my @remarkablePaper to physically sketch idea is such a smooth process!
— Fabien Benetou (@utopiah) May 11, 2020
I can even use layers to keep the base sketch clean and go on for another chat 👌😍 pic.twitter.com/YSH1ol228B
See also 3D graph demo + ngraph.forcelayout3d
Result of this morning session : the beginning of a social #VR "director kit".
— Fabien Benetou (@utopiah) May 10, 2020
The camera pans to a target object (nearly lunch so a burger!) at 2m/s on the current plane with linear easing and stops at 90% of the animation
All thanks to @MozillaHubs & AnimeJS by @JulianGarnier https://t.co/SME7GJcJzm pic.twitter.com/GxMMp5oSBM
What if you could model in @blender_org and let others see the result right in #VR? Being able to design and get feedback from the crowd instantly in @MozillaHubs thanks to @glTF3D
— Fabien Benetou (@utopiah) May 9, 2020
Code https://t.co/cJBA38EddK pic.twitter.com/H3e9gAczKZ
Missing your daily standup meeting with colleagues? What if you could organize your @Github project board collaboratively in #VR?
— Fabien Benetou (@utopiah) May 8, 2020
After some amazing time discovering remote pair programming with @Harald3DCV we got the basis running in @MozillaHubs! Article from Harald soon 🙏 pic.twitter.com/ikNDoiyVIJ
See also 3D graph demo + ngraph.forcelayout3d
😎Can't get enough of @MozillaHubs to replace video meetings but the coming Summer just feel too nice to wear a #VR headset?
— Fabien Benetou (@utopiah) May 7, 2020
Try using @Bose #AR glasses (or just headphones) to get those natural head movements!
Done with @ConcreteSciFi and his amazing https://t.co/27Mw5sJ12w pic.twitter.com/WPVzjgqWem
Here is the result of this morning live coding session : sticking your @MozillaHubs camera on your avatar chest.
— Fabien Benetou (@utopiah) May 6, 2020
Code https://t.co/fkeDvJ94aP
Me learning Twitch ;) https://t.co/pWTXPuAwvC pic.twitter.com/mITQ06mzey
🤓 Preparing my own triage of proceedings from #IEEEVR2020, what paper will I read next?! pic.twitter.com/hLmnBou8TM
— Fabien Benetou (@utopiah) March 23, 2020
Going from interactions in #VR to an ebook reader. Because workflows matter, each tool should be used to its best potential!
— Fabien Benetou (@utopiah) April 15, 2020
Here tying up @MozillaHubs with @reMarkablePaper.
Follow up of https://t.co/x9IlP7LLNj pic.twitter.com/3xMqYCFRG4
What if collaborative game design was a thing? What if you could directly design and play your game in #VR with friends? Iterating together on game dynamics in the browser.
— Fabien Benetou (@utopiah) May 4, 2020
Here is a small example relying on @MozillaHubs, customized in the console with nothing to install! pic.twitter.com/uBz2cvvZos
My notes on Tools gather what I know or want to know. Consequently they are not and will never be complete references. For this, official manuals and online communities provide much better answers.