[HN Gopher] Show HN: Browse HN Together in Three.js
       ___________________________________________________________________
        
       Show HN: Browse HN Together in Three.js
        
       Hey HN,  We're Philip, Amby, and Declan, and we made "multiplayer
       virtual computers" that you can embed anywhere, including 3D
       spaces. We decided to build this because we noticed that embedding
       third-party apps and websites can be a nightmare due to
       incompatible platforms, security issues, and poor UX. Adding
       multiplayer functionality to these embeds makes this problem
       exponentially more difficult.  On the backend, we're spinning up a
       VM and running a resource-optimized fork of Chromium which we then
       stream to participants via WebRTC. Since we're hosting the servers
       running the applications, multiple users can connect and control
       the virtual computer seamlessly, and their client just needs to
       handle a video stream.  If you want to add multiplayer virtual
       computers to your own app, you can sign up on
       https://hyperbeam.com/?ch=hn&cm=hn1, grab a free API key, and throw
       the provided embed URL in an iframe in your app.  You can also play
       around more with the Three.js demo in our interactive sandbox:
       https://app.sideguide.dev/hyperbeam/threejs/  If you have any
       questions or feedback, feel free to comment or shoot me an email at
       declan@hyperbeam.com.  Thanks!  Docs: https://docs.hyperbeam.com
       Discord: https://discord.gg/D78RsGfQjq
        
       Author : declan_g
       Score  : 167 points
       Date   : 2022-08-25 18:35 UTC (2 days ago)
        
 (HTM) web link (threejs-example.hyperbeam.com)
 (TXT) w3m dump (threejs-example.hyperbeam.com)
        
       | metadat wrote:
       | This is simply amazing. I wish it was open source, but totally
       | understand why that is not realistic or possible.
       | 
       | It's crazy to think this is built off forked chromium yet there
       | is no really good self-hosted cross-platform Remote Desktop app.
       | 
       | Keep up the good work!
        
         | philipscott wrote:
         | We might open-source something in the future. Honestly we
         | haven't open-sourced Hyperbeam because the code is a bit messy.
         | In the mean time you can check out https://github.com/crybapp,
         | we're partnered with them.
         | 
         | Hyperbeam started out as anime watch party website for our
         | engineering capstone project in 2019, so the commit history is
         | a bit comical. https://uwaterloo.ca/news/engineering-
         | students/taking-innova...
        
       | WaffleIronMaker wrote:
       | This is very impressive technology, but I'm not sure what I'd use
       | it for, to be honest. Does this technology have support for VR?
       | Because I could see how this could be the future of doing
       | computationally intensive tasks on under powered devices.
        
         | declan_g wrote:
         | Thanks! We began building the tech for a watch party site
         | (watch.hyperbeam.com) and were similarly skeptical of other
         | viable applications. However, it turns out there are a ton of
         | really cool use cases--here are some companies using our API
         | right now:
         | 
         | Remote tutoring: https://www.teachwithkoala.com
         | 
         | VR offices & conferences: https://framevr.io
         | 
         | Watch parties: https://kosmi.io
         | 
         | Online coding lessons: https://www.strivemath.com
         | 
         | VS Code embeds: https://github.com/mintlify/connector
         | 
         | As for improving VR support, we're in the process of building a
         | Unity SDK. Running computationally-expensive tasks in VR sounds
         | really interesting in addition to the social use-case!
        
       | stevebmark wrote:
       | Three.js does this out of the box.
       | https://adndevblog.typepad.com/cloud_and_mobile/2015/07/embe...
       | What am I missing?
        
         | philipscott wrote:
         | That approach relies on an iframe to load 3rd party sites.
         | Sadly, this won't work for a lot of websites like
         | news.ycombinator.com.
         | 
         | Furthermore, an iframe cannot be synchronized across
         | participants. If you and I load YouTube in an iframe, it's not
         | guaranteed that our videos are sync'd.
         | 
         | With Hyperbeam, you can embed any website and the content is
         | sync'd. Think of it like sitting beside somebody with a
         | computer.
        
       | chaiv wrote:
       | Cool stuff guys!!!
        
       | kaetemi wrote:
       | Wow. That remote view runs surprisingly smooth on my cheap phone.
       | Nice work.
        
       | Zachsa999 wrote:
       | Wild! Browsing the code, I love that it's basically one main.js
       | file.
        
         | ambyjkl wrote:
         | Thanks, we vehemently oppose bloat in our JS files ;)
        
       | sgt wrote:
       | Beginning of the HN Metaverse
        
         | philipscott wrote:
         | If HN had a metaverse, what would people want it to be like?
        
       | owow123 wrote:
       | I write a open source desktop environment, supported by spice-
       | html5, and I'm impressed (its survived the NH "hug of death") -
       | this is true sourcey.
       | 
       | Amazing job OP :)
        
         | ambyjkl wrote:
         | Thanks! I'm intrigued by what you built (long-time Linux user
         | here), can you share a link?
        
           | owow123 wrote:
           | Whatever I've built is not ready for NH.
           | 
           | Bask in your glory, truly amazing job :)
        
       | fire wrote:
       | This is slick, nice job!
        
         | philipscott wrote:
         | Thanks!
        
       | philipscott wrote:
       | Hi HN! Happy to answer any questions you have about the demo and
       | the tech.
        
         | peteforde wrote:
         | 1. This is genuinely impressive. It's a solid example of the
         | reason I visit HN. Kudos to your team. 2. I'm genuinely curious
         | how you anticipate folks using this. The watch-party use case
         | is interesting but it's a crowded space and people are not
         | likely lining up to pay. It seems like hilarious overkill for
         | content embedding. I'm wondering what the killer app is? In the
         | most optimistic way possible.
         | 
         | It's almost like it's so far ahead, I worry that people won't
         | know what to do with it. It's like the "what would you do with
         | infinite bandwidth" problem... even smart people tap out
         | creatively depressingly quickly.
        
       | ambyjkl wrote:
       | Hi HN! I'm the CTO of Hyperbeam, happy to answer all the
       | technical questions :)
        
       | AtNightWeCode wrote:
       | does not work. firefox dev
        
         | philipscott wrote:
         | Thanks for letting us know, what version of Firefox are you on?
         | Here's the Github repo by the way:
         | https://github.com/hyperbeam/threejs-example
        
           | still_grokking wrote:
           | It does not work in Firefox on Linux.
           | 
           | First of all some spyware stuff from cloudflare gets blocked
           | by the ad-blocker.
           | 
           | But this is not the root of the problem as it doesn't work
           | either without the ad-blocker active.
           | 
           | Minified JS Script dies with some cryptic backtrace.
           | 
           | I've tried on the hyperbeam.com website and it does not work
           | either.
           | 
           | It lies straight in my face about a missing H.264 codec.
           | (Which works fine according to https://test-
           | videos.co.uk/bigbuckbunny/mp4-h264).
           | 
           | It seems you never tested your stuff. The console is full of
           | errors:                 Cross-Origin Request Blocked: The
           | Same Origin Policy disallows reading the remote resource at h
           | ttps://static.cloudflareinsights.com/beacon.min.js/v652eace16
           | 92a40cfa3763df669d7439c1639079717194. (Reason: CORS request
           | did not succeed). Status code: (null).            None of the
           | "sha512" hashes in the integrity attribute match the content
           | of the subresource. -oXZ36ekQX2btnYIZSdj2g
           | WEBGL_debug_renderer_info is deprecated in Firefox and will
           | be removed. Please use RENDERER. chunk-
           | vendors.9d9d262d.js:6:31482       Cross-Origin Request
           | Blocked: The Same Origin Policy disallows reading the remote
           | resource at https://static.cloudflareinsights.com/beacon.min.
           | js/v652eace1692a40cfa3763df669d7439c1639079717194. (Reason:
           | CORS request did not succeed). Status code: (null).
           | None of the "sha512" hashes in the integrity attribute match
           | the content of the subresource. -oXZ36ekQX2btnYIZSdj2g
           | Some cookies are misusing the recommended "SameSite"
           | attribute 4       Cross-Origin Request Blocked: The Same
           | Origin Policy disallows reading the remote resource at
           | https://416c35e0.hyperbeam.com/ok?vm=0. (Reason: CORS header
           | 'Access-Control-Allow-Origin' missing). Status code: 200.
           | Object { type: "New", payload: {...} }
           | app.fc7f578d.js:1:42733       Object { type: "Create",
           | payload: {...} }       app.fc7f578d.js:1:42733       WebRTC:
           | Using more than two STUN/TURN servers slows down discovery 2
           | vendorlate.27cb1e73.js:14       WebRTC: Using five or more
           | STUN/TURN servers causes problems 2 vendorlate.27cb1e73.js:14
           | Object { type: "Consume", payload: {...} }
           | app.fc7f578d.js:1:42733       Consume error:  cannot consume1
           | 
           | The "cannot consume1" is the error that shows also on the
           | three.js demo.
        
             | ambyjkl wrote:
             | You most likely need this plugin:
             | https://support.mozilla.org/en-US/kb/open-h264-plugin-
             | firefo...
             | 
             | Seems like in Firefox, H.264 in WebRTC is supported in an
             | entirely different fashion than other kinds of H.264, like
             | in an MP4 file.
        
               | still_grokking wrote:
               | Besides that WebRTC is a tire fire1 on any browser, why
               | don't you just use VP8?
               | 
               | Should be available everywhere.
               | 
               | Enabling anything with "Cisco" in its name is out of
               | scope for many (and anyway not available on Google's
               | mobile OS).
               | 
               | ___
               | 
               | 1 All implementations have severe quirks and some (like
               | Safari) outright showstopper bugs. BTDT
        
               | ambyjkl wrote:
               | The problem with VP8 is it's almost never hardware
               | accelerated, neither on the encoding nor on the decoding
               | side, so it's undesirable. Also, the software encoder
               | x264 is quite far ahead of libvpx vp8 in terms of the
               | encoding cost vs bitrate vs quality tradeoffs in our
               | testing. We really hope AV1 solves all these issues once
               | and for all in the years to come.
        
               | still_grokking wrote:
               | I guess you will need to make some compromises to make
               | this work reliably.
               | 
               | My personal experience with WebRTC was: "One can be glad
               | if one gets anything working at all across different
               | environments". 0 stars, would not touch again (or only
               | with a very very long pole; everybody has his price...
               | ;-)).
               | 
               | The other thing that came to my mind is: Why do all that
               | on the server? Seems costly.
               | 
               | One could build a "browser in browser", and share that
               | (partly) P2P through the WebRTC screen-sharing feature.
               | The "browser in browser" would be needed to be able to
               | make that thing interactive as the screen-sharing feature
               | transmits only a video. You would need to capture mouse
               | and keyboard on the webpage within the "virtual browser"
               | (and transmit it though an additional WebRTC stream).
               | Capturing the inputs outside of the browser is not
               | possible afik with WebRTC.
        
               | [deleted]
        
         | ambyjkl wrote:
         | Also which OS? I have a hunch your version of Firefox doesn't
         | have the H.264 codec which we need
        
       | aneesv wrote:
       | You mentioned on your website that you have an android emulator,
       | but I couldn't find more details. Do you have a demo URL for the
       | android emulator? I'd love to check it out!
        
         | philipscott wrote:
         | We're still building it out. In the meantime, there are
         | alternatives like https://anbox-cloud.io/ which you can try.
         | 
         | Is there any use-case you have in mind? We're struggling to
         | find people that want android emulators.
        
           | aneesv wrote:
           | We at appmaker.xyz helps Shopify merchants to create native
           | mobile apps without coding. An online emulator will help us
           | to show a preview/demo in the browser. Currently, we're using
           | appetize.
        
       | ceasesurthinko wrote:
       | This is the most random funnest thing i've done in days. I tried
       | to inception it by pasting the hyperbeam link into the VC, didn't
       | work though heh.
        
         | moffkalast wrote:
         | https://xkcd.com/244/
         | 
         | I was also disappointed it didn't work.
        
           | philipscott wrote:
           | You can actually get it to work if you run it locally. The
           | problem is that the demo requires WebGL, and the servers
           | we're handing out don't support WebGL.
           | 
           | See the "webgl" parameter here:
           | https://docs.hyperbeam.com/start-chromium-session#parameters
           | 
           | A little easter egg for the devs that try our API :)
        
       | philipscott wrote:
       | Several people are curious about the magic behind Hyperbeam. If
       | you ever want to chat here's all our emails + Discord tags:
       | 
       | founders@hyperbeam.com
       | 
       | philip@hyperbeam.com (CEO) - Philip#9001
       | 
       | amby@hyperbeam.com (CTO) - Ambyjkl#4365
       | 
       | declan@hyperbeam.com (CPO) - Dek#7777
        
       | tauwauwau wrote:
       | What sorcery is this? Youtube videos are opening without any
       | delay (within half a second) and there's no frame lag even with
       | 1080 quality setting. How does this work?
        
         | brabel wrote:
         | It does open without delay, but for me, the sound and video are
         | quite laggy.
         | 
         | I shared my link with my wife but she saw something entirely
         | different... wasn't she supposed to be the same thing as me
         | with the same "room" link?
        
         | MuffinFlavored wrote:
         | I'm surprised Widevine DRM allows this but I guess you can't
         | really detect "I'm in a VM and being streamed visually by the
         | host".
         | 
         | You can't even take a screenshot of YouTube TV if you don't run
         | it in a VM. Goes to the clipboard as all black.
         | 
         | How does HyperBeam not get abused (and consequentially shut
         | down) for people wanting to share a stream of a pay-per-view /
         | YouTube TV style subscription with their friends?
        
           | charcircuit wrote:
           | Widevine isn't used on regular videos.
        
           | [deleted]
        
         | philipscott wrote:
         | After you visit the link, copy-paste it into a new window. The
         | content will be synchronized ;)
        
           | tauwauwau wrote:
           | If I leave the video playing and close the tab, it keeps on
           | playing the audio.
        
             | philipscott wrote:
             | Yep. We're running Chromium in the cloud and streaming it
             | back as a video. When you visit https://threejs-
             | example.hyperbeam.com, it will create a "room" and append
             | the room ID to the URL (e.g. https://threejs-
             | example.hyperbeam.com/abc).
             | 
             | All viewers in the same room see and hear the same video
             | stream, and can control the same browser instance.
        
               | SeanAnderson wrote:
               | Hey. I'm not the person you're responding to, but your
               | response sparked my interest given the context.
               | 
               | It sounds like you're saying, "Yes. Our technology
               | enables someone to listen to YouTube without forcing them
               | to continually view the video."
               | 
               | If so, I would like to caution you to tread lightly in
               | this area. I'd built a 300K MAU YouTube-streaming Chrome
               | extension which was ultimately terminated due to
               | advertisers complaining to YouTube that viewers might
               | consume content without visually seeing an advertisement.
               | I went through a year of attempting to mitigate their
               | concerns, but, ultimately, their expectation was that all
               | a/v content become paused the moment video is not
               | visible.
               | 
               | The only exception to this rule, that I am aware of, is
               | Twitch.TV streamers listening to YouTube while streaming
               | and viewers of the stream consuming that YouTube content
               | without seeing the visuals. This is a backroom agreement
               | between Amazon and the RIAA and is not an agreement I
               | would encourage others to hope to achieve.
               | 
               | Obviously, you're not bound by YouTube's TOS, but run
               | afoul and you'll find hyperbeam added to the big 4's url
               | blacklist. This will prevent all YouTube content from
               | playing through your domain.
        
       | philipscott wrote:
       | For anyone looking for the Github repo (it's open source):
       | https://github.com/hyperbeam/threejs-example
        
       | tradester wrote:
       | this is really cool
        
         | declan_g wrote:
         | Thanks! We think so too :)
        
       | zirror wrote:
       | How do you handle user credentials or general inputs? If I type
       | in my Netflix credentials, don't you and/or my watch party
       | friends get access to them in some way?
        
         | declan_g wrote:
         | Great question.
         | 
         | We're building a "privacy mode" feature to address this exact
         | problem that allows the host to black out the screen when
         | entering sensitive information like credentials.
         | 
         | As for Hyperbeam getting access to credentials--we don't store
         | any input from users in the virtual computer. The only things
         | we track are the time a particular IP is connected to the VM
         | and the domains that are visited (this is anonymized).
        
       | MuffinFlavored wrote:
       | Might want to make your "Sign in with GitHub" not be "allow
       | phillipscott" username/account or whatever.
        
         | philipscott wrote:
         | Thank you so much for pointing that out, I'll fix that ASAP.
         | 
         | Also, this is a bit of a tangent but my first name has one "L".
         | My mother named me after the Philippines and I'm of Scottish
         | descent on my father's side.
        
           | MuffinFlavored wrote:
           | https://docs.hyperbeam.com/start-chromium-session
           | 
           | I can't type/paste anything into the API key "Bearer" box
           | above "Send Request" either.
           | 
           | The "Body" tab seems clickable but also doesn't work.
        
             | philipscott wrote:
             | Thanks for pointing that out, we just shipped the docs
             | "playground" system and it appears there's a few bugs --
             | you'll need to use something like cURL in the meantime.
             | 
             | Here's a snippet you can start with:
             | 
             | curl -X POST -H 'Authorization: Bearer <your-api-key>'
             | https://engine.hyperbeam.com/v0/vm
        
       | ARRgonaute wrote:
       | This is pretty damn cool...
        
       | jimhi wrote:
       | This is awesome!
       | 
       | Is there a way to get this to work on mobile? Tried on safari and
       | chrome
        
         | declan_g wrote:
         | Thanks! Yes, it works on mobile too.
         | 
         | When using the API you can set a specific height and width to
         | resize the virtual computer. Additionally, we track touch
         | events and you can drag-and-drop on devices like iPads.
         | 
         | Happy to chat more about it if you'd like! Feel free to join
         | our Discord: https://discord.gg/D78RsGfQjq
        
           | jimhi wrote:
           | It just shows a black screen where the browser should be on
           | my phone but looks great in the browser.
           | 
           | If I wanted to run code that would say scroll through a site
           | for everyone to watch, what is the best way to do it? From
           | your docs looks like I should make a chrome extension and
           | then have it install that?
        
             | ambyjkl wrote:
             | Which version of iOS are you on?
        
               | retrofuturism wrote:
               | Latest. 15.6.1
        
               | ambyjkl wrote:
               | Thanks, I'll go look at what's happening
        
               | mmazzarolo wrote:
               | FYI I'm experiencing the same identical issue with the
               | latest version of iPadOS.
        
       | taaron wrote:
       | Very cool - any interesting use cases you have seen from users so
       | far?
        
         | [deleted]
        
         | declan_g wrote:
         | Yeah! Tbh we've actually been surprised by many. Here are some
         | companies using our API:
         | 
         | Remote tutoring: https://www.teachwithkoala.com
         | 
         | VR offices & conferences: https://framevr.io
         | 
         | Watch parties: https://kosmi.io
         | 
         | Online coding lessons: https://www.strivemath.com
         | 
         | VS Code embeds: https://github.com/mintlify/connector
        
       | nirajsheladiya wrote:
       | wow good stuff
        
         | ambyjkl wrote:
         | Thanks :)
        
       | warpech wrote:
       | I can browse the Web like I'm in a data center. Speedtest.net
       | shows 776 Mb downloads, 928 Mb uploads. That's way better than
       | the Internet access where I live.
        
         | bcjordan wrote:
         | Isn't it awesome? That's also a major use case of the Mighty
         | browser/service https://www.mightyapp.com/
        
       | MuffinFlavored wrote:
       | Looking over the API docs now
       | 
       | https://docs.hyperbeam.com/start-chromium-session
       | 
       | First thing that comes to my mind is... this is kind of like
       | Puppeteer. Even if that is what they are using in the
       | background... would they ever expose it so existing Puppeteer
       | apps could plug and play (like https://www.browserless.io/)?
        
         | philipscott wrote:
         | We're not using puppeteer in the background, but people have
         | asked for puppeteer support. Do you use browserless.io? We
         | think they do a great job and don't see a point competing with
         | them.
         | 
         | Would appreciate your thoughts.
        
           | hugs wrote:
           | Selenium & Appium creator here. I'm kinda jumping up and down
           | at how awesome this demo is. While browser automation with
           | puppeteer would be cool... I see in your docs that you also
           | support running a remote Android emulator. As someone who
           | spends a lot of time in the test automation space, there is a
           | ton of potential here for mobile test automation (spinning up
           | all kinds of different configs). So here's a vote for using
           | the W3C WebDriver spec [1] if you support an automation API
           | -- then you'll get desktop browser /and/ mobile device
           | automation in the same API.. and it's the W3C standard. :-)
           | 
           | 1: https://www.w3.org/TR/webdriver2/
        
             | philipscott wrote:
             | Hey hugs, just want to say Selenium is awesome. Super cool
             | having the creator of the testing framework we used during
             | university commenting on our post.
             | 
             | Would love to learn more about the mobile test automation
             | space, I'll send off an email.
        
               | hugs wrote:
               | Please do! Also, fwiw... I'm also a _huge_ fan of
               | Three.js... On my todo list is to embed a live video feed
               | of a mobile device 's screen into the simulator [1] for
               | my phone-testing robots. I imagine we'd have a ton to
               | talk about!
               | 
               | [1]: https://construct.tapster.io/t3plus
        
               | philipscott wrote:
               | Sent an email :) We can help with an MVP
        
       | chaosprint wrote:
       | wow, this is really cool. star it on gh right away.
       | 
       | I manage to vist https://glicol.org and get some live coding
       | music there
       | 
       | but the audio seems to be compressed a lot and the cpu seems to
       | be overloaded
       | 
       | I cannot open console there so I cannot tell
       | 
       | with that being said, I think it is really promising and look
       | forward to the update
        
         | philipscott wrote:
         | Spoke to Amby, he said it might be because we throw away
         | frequencies above 10 kHz. We'll try to fix the bug today,
         | thanks again for catching this.
        
         | philipscott wrote:
         | Thanks for pointing that out, we'll dig deeper.
         | 
         | Also thanks for showing me glicol, I love dabbling with audio
         | visualizers and often play around with the web audio API.
         | Really cool that somebody made a DSL, I starred the project :)
        
       | crazygringo wrote:
       | Maybe I'm missing something but I don't understand the
       | multiplayer aspect -- I'm in the interactive Chrome browser I can
       | play with, but there's nobody else here. I'm not browsing
       | together with anybody.
       | 
       | If it matters, the HN link redirects for me to:
       | 
       | https://threejs-example.hyperbeam.com/672b6071
       | 
       | and the ID at the end stays the same even in incognito.
       | 
       | Since this is on the front page and I've been waiting around for
       | 5 minutes there must be other people using it. How is it supposed
       | to be multiplayer?
       | 
       | EDIT: once I posted this comment somebody else joined, I see how
       | it works now. Very cool. I guess it depends on winding up with a
       | shared ID or something?
        
         | Moosdijk wrote:
         | The first thing another user did was go to 4chan. I think the
         | concept is really cool but maybe it needs a little more
         | thought.
        
         | declan_g wrote:
         | Right now when you click the link we create a new "room" based
         | on your IP. If you share the generated URL (like you did above)
         | then people can join in and cobrowse with you
        
           | daenz wrote:
           | Maybe create a default room for the HN crowd to join? I also
           | had the same experience as OP... "nobody is here".
        
             | crazygringo wrote:
             | Seems like the link with the specific ID in my above
             | comment has become the de-facto shared room now, at least
             | as long as my comment stays at the top :)
        
               | westoncb wrote:
               | It's not very umm... cooperative, in there lol.
        
               | ambyjkl wrote:
               | Yea sorry it's our bad, we didn't implement cursor time-
               | slicing in the demo, even though we actually support it
               | on the API:
               | https://www.npmjs.com/package/@hyperbeam/web#setting-
               | permiss...
        
               | westoncb wrote:
               | Hmm, what I was thinking of was that everyone seemed to
               | be competing with each other to click random UI elements
               | on the virtual browser as rapidly as possible, I assume
               | because there wasn't a way to speak with one another /
               | coordinate. Or maybe I just missed the chat area?
        
               | philipscott wrote:
               | Yeah we kept the MVP lean and didn't add chat or
               | audio/video calling. Our goal (which we're not meeting)
               | is to keep the Three.js example line count below 200.
               | 
               | https://github.com/hyperbeam/threejs-example
               | 
               | We'll probably make a new project which is more of a
               | product and less of a code example in the future.
        
       | coconut_t1 wrote:
       | Wow, super cool stuff. Would love to know more about the server-
       | side architecture and how you handle security in your VMs. Also,
       | loved the interactive sandbox demo.
        
         | philipscott wrote:
         | Thanks! Is there anything specific you want to learn more
         | about? At a high level we run a fork of Chromium in the cloud,
         | capture the desktop using gstreamer and stream it back to
         | everyone using Mediasoup.
         | 
         | The folks at SideGuide made the interactive demo for us -- we
         | love it too.
        
           | oplav wrote:
           | Very cool! Is gstreamer used end to end? Mostly curious if
           | you are using CEF (via cefsrc) and webrtcbin, or if you
           | handled the input and output differently.
        
             | ambyjkl wrote:
             | Thanks! Actually it's neither: we run full Chromium rather
             | than CEF and Mediasoup for webrtc. We have looked into
             | webrtcbin as well, but it wasn't the best fit for us.
        
               | oplav wrote:
               | Interesting! I've been using webrtcbin for some
               | production work but it's been broadcasting of low latent
               | internally used video with no user input back. I've seen
               | demos of user input with webrtcbin, but have never done
               | it in practice. If you can, do you mind sharing why
               | webrtcbin wasn't a good fit for you (or why MediaSoup was
               | better)?
        
               | ambyjkl wrote:
               | webrtcbin is nice for one-to-one, but we were looking for
               | something that's a better fit for one-to-many, which is
               | where mediasoup came in. That being said, mediasoup is
               | quite complex from a maintainability perspective since
               | it's designed to handle several use cases, so we plan on
               | making our own webrtc streaming solution in the future
               | that's designed with only one-to-many in mind
        
       | can16358p wrote:
       | I have no idea how to use (iPhone, iOS 15.6.1). There is a pink
       | background and a black box saying outside virtual PC, and a few
       | keyboard/mouse shortcuts (which doesn't apply as I'm on mobile)?
        
         | me_bx wrote:
         | Same here on linux.
         | 
         | I'm guessing that other visitors get some content instead of
         | the black box...
        
           | ambyjkl wrote:
           | If you're on linux, you most likely need the H.264 ffmpeg
           | codec package and things like the Cisco OpenH264 plugin for
           | Firefox. Also, try unblocking WebRTC if you block it
        
       | throwaway888abc wrote:
       | Tried Youtube and was surprisingly good.
       | 
       | Impressed by Hyperbeam tech behind. Bookmarked for later.
        
         | declan_g wrote:
         | Thanks, we've been working hard on it!
        
         | philipscott wrote:
         | Thanks. We started out as a watch party website
         | (https://tutturu.tv) to watch anime with friends, so it should
         | handle video very well.
         | 
         | The watch party website is still up here:
         | https://watch.hyperbeam.com
        
       | dang wrote:
       | Related:
       | 
       |  _Launch HN: Hyperbeam API (YC W22) - Multiplayer embeds of any
       | website_ - https://news.ycombinator.com/item?id=30433104 - Feb
       | 2022 (63 comments)
        
       | coldblues wrote:
       | Rabb.it (https://en.wikipedia.org/wiki/Rabb.it) did this some
       | years ago. It was an amazing service, but it unfortunately shut
       | down. This is very close to what it was back then.
        
         | philipscott wrote:
         | We actually started out as a clone of Rabb.it in December 2019,
         | we went by the name "Tutturu.tv":
         | https://www.reddit.com/r/uwaterloo/comments/efkznp/fydp_tutt...
         | 
         | The watch party website is still up at
         | https://watch.hyperbeam.com, we're the biggest Rabb.it alt that
         | offers virtual browsers.
         | 
         | Without Rabb.it, we wouldn't be here haha
        
       | vz8 wrote:
       | This is remarkable stuff.
       | 
       | Suggestion: A hotkey (in or out of the virtual computer) that
       | allows you to reset to the default orientation without having to
       | reload the page. On a laptop with only a touchpad, I'm fighting
       | with the controls a bit.
        
         | philipscott wrote:
         | Do you have a specific hotkey in mind? Curious if there's a
         | hotkey we could choose which is intuitive, so we don't need to
         | add more text in the 3D space.
        
       | tyranitar10 wrote:
       | This is cool. Commenting to come back to
        
       | parksy wrote:
       | The underlying work you guys have done is great as a proof of
       | concept, and after playing with it for a short while there are
       | some obvious flaws and improvements which basically just come
       | down to user experience.
       | 
       | As it stands, everyone's inputs clash.
       | 
       | The main issue is there's a single mouse pointer and keyboard
       | input that all users control. It's quite chaotic as people
       | scroll, click, select, etc. Provide some mechanism to nominate
       | control authority or vote on interaction and it might be usable.
        
         | ambyjkl wrote:
         | Thanks for the feedback. We already have this feature, it's
         | just not implemented in this demo currently, but we'll be sure
         | to add it. More info here:
         | https://www.npmjs.com/package/@hyperbeam/web#setting-permiss...
        
       | NegativeLatency wrote:
       | Didn't seem to like loading itself :)
        
       ___________________________________________________________________
       (page generated 2022-08-27 23:00 UTC)