codysherman / 2nfm

Share your screen and computer's audio via WebRTC!
https://2n.fm
BSD 3-Clause "New" or "Revised" License
31 stars 16 forks source link

Return the chrome extension? #222

Closed RobertLowe closed 3 years ago

RobertLowe commented 3 years ago

So it's really nice you don't need the chrome extension anymore but it was kind of awesome.

  1. No need to go to the site, can start directly from the tab youre on
  2. No annoying Chrome UI on video tab or other tabs

Screen Shot 2020-11-10 at 10 24 36 PM

I run a really old fork, but it would be nice to not need too.

Thanks for the original and this

codysherman commented 3 years ago

The biggest reason for switching to a website frankly was legality. There is nothing inherently illegal about 2n.fm, but it obviously can be abused. We didn't want to have to worry about the extension app store having the power to just remove us from existence due to false copyright flags aimed at bad users rather than us.

But there were other technical reasons why jumping to web made sense:

  1. It's possible to even do now. Streaming a screen via just a web browser wasn't possible not long ago.
  2. No extension install goes along with our philosophy of anyone being able to use it. We currently have no user logins, anyone can quickly make a room for the first time, or the hundredth.
  3. Cross browser support, Firefox & Safari can now stream.
  4. That fucking annoying banner you mentioned didn't exist until AFTER we finished the migration to web. Thanks Google! Please help get it changed with feedback here: https://bugs.chromium.org/p/chromium/issues/detail?id=1010610
  5. The Chrome extension was neat, but it relied on some proprietary Chrome API calls, which seem to be on the way out as getDisplayMedia() replaces them.

2n.fm's code has also come a looooong way from the extension version as well, and is still getting improvements. Hopefully the website over time will grow into what you like about the extension.

Some of the annoyances regarding selecting what to stream are also already implemented in Chrome, but seemingly unavailable to developers outside of Google. The Meet website for example is able to have a custom UI asking about tab vs desktop sharing, while we appear to be stuck with the pop-up built into Chrome. We can't request to only prompt the user for Tab sharing, etc. unless there is some documentation I'm missing. It's also outside of the W3C spec to allow said custom UI for that, but honestly seems like the right direction to go, W3C needs to change that.

Finally as a personal note about using the old extension version, that should be all fine and good, however if you experience any issues with connecting to other users, it will be due to a lack of TURN servers. On the real 2n.fm, we are currently generously providing the TURN servers for free to users, so connections are more guaranteed. We're not a company or anything, just some friendly devs willing to eat the monthly cost for now, so while this probably isn't feasible into the future forever, enjoy it for now.

RobertLowe commented 3 years ago

@codysherman

The biggest reason for switching to a website frankly was legality. There is nothing inherently illegal about 2n.fm, but it obviously can be abused. We didn't want to have to worry about the extension app store having the power to just remove us from existence due to false copyright flags aimed at bad users rather than us.

This is fair, but that's entirely on the end user, 2n.fm isn't actually hosting anything or transmitting any of the data (when using p2p connections). I think you're pretty sound there. As for getting pulled from the chrome store, I think it could happen, it might just be something to deal with there's always the fallback of manually installing the extension from an XPI/CHR package or zip of source. I think end users can handle that well.

Re: 2. No extension install goes along with our philosophy of anyone being able to use it. We currently have no user logins, anyone can quickly make a room for the first time, or the hundredth.

I don't think having an extension negative effects that, its just an additional route to use

Re: 4. That fucking annoying banner you mentioned didn't exist until AFTER we finished the migration to web. Thanks Google! Please help get it changed with feedback here: https://bugs.chromium.org/p/chromium/issues/detail?id=1010610

I hear you, I've been so fucking annoyed by it and chrome reasoning to add it, thanks for pointing me to the chrome issue.

Re: 5. The Chrome extension was neat, but it relied on some proprietary Chrome API calls, which seem to be on the way out as getDisplayMedia() replaces them.

Reasonable but I don't think there going away anytime soon as they have no migration path for extension yet, there's usually a very long period before they actually deprecate and remove a feature.

Re: W3C specs

Yeah, I wish this stuff was spec'd

We're not a company or anything, just some friendly devs

Me too, I hope I'm friendly. Thanks for the feedback. I'll just keep running my own services and fork. 👍

Thanks for the original and current code. It's been a great way to keep in touch with my girlfriend a country away.