TeamNewPipe / NewPipe

A libre lightweight streaming front-end for Android.
https://newpipe.net
GNU General Public License v3.0
30.43k stars 2.98k forks source link

New way to communicate? #2965

Closed B0pol closed 4 years ago

B0pol commented 4 years ago

OG post:

I was thinking about a new way to communicate. Right now, we have IRC, and mailing list?(dead link for me). The problem of IRC is, you have to be connected to see discussions, you can't connect 5 mins later and see previous discussions.

Read the discussion below, we ended up concluding we'd stay on IRC. The best way if you still don't like IRC and want to have features of a modern communication plateform is to use a bridge through matrix.org (use a matrix client, for example Riot, then join #freenode_#newpipe:matrix.org), or XMPP (see https://github.com/TeamNewPipe/NewPipe/issues/2965#issuecomment-578209839 and https://github.com/TeamNewPipe/NewPipe/issues/2965#issuecomment-592680480). You will be able to see old messages, send images or long messages directly without other services…

Stypox commented 4 years ago

Telegram?

bew commented 4 years ago

I really like https://discourse.org/ forums too. But it's not really for direct messaging.

For open source projects, it's nice to have a https://gitter.im/ channel too, similar to IRC but web based, remembers the messages (with mobile apps and automatic IRC bridge if needed)

gkeegan commented 4 years ago

I think Telegram would be a good fit for this project.

TheAssassin commented 4 years ago

Telegram?

Bad idea. That's one of the worst options IMO. Proprietary service, zero control, really high accessibility problems (requires some phone number for no technical reason), many privacy concerns... do I have to continue? People call it free/open-source, but it's just that they provide an open API for which free software clients can be written. The entire "cloud service" thing is one huge, intransparent web service.

I really like https://discourse.org/ forums too. But it's not really for direct messaging.

We've kicked off a discussion about adding some sort of forums recently. That's totally possible, albeit we'd have to create a team to administer this system. We should move that discussion to another issue, though.

For open source projects, it's nice to have a https://gitter.im/ channel too, similar to IRC but web based, remembers the messages (with mobile apps and automatic IRC bridge if needed)

See Telegram. Same problems. "Free for open source projects" is usually not quite the best selling point for a service... Plus it's a web-only thing, which means yet another web chat tab and relatively high energy and resource consumption in comparison to any non-browser solution...

IRC isn't as bad as it seems. You can self-host a bouncer (or, better by far, a Quassel Core). There's even Matrix with which you can join our IRC channel. Some users use it that way and have never complained. It's fairly stable.

Matrix generally also serves as a good alternative to IRC. However, using a regular Matrix channel doesn't make a lot of sense. Hosting the channel on Freenode and allowing people to join via Matrix allows using either of them. And do not underestimate the amount of people active on IRC. Using webchat crap or having to have more client software on the own system is simply annoying. I don't really feel like running Riot or whatnot next to my Quassel Client.

Therefore my advice to people unhappy with IRC is to go for a Matrix account. Someone could write a couple of sentences about that and add it to our FAQ page, I guess.

Oh, and please, no chat bot relay thingies...

Gymcap commented 4 years ago

I'm thinking Matrix would be the best option overall, but I also believe that Telegram is probably more accessible to casual users.

If we decide to have an alternative to IRC/Matrix, I think Telegram has a good balance of privacy/convenience compared to others like Discord.

TheAssassin commented 4 years ago

Anything that requires a phone number to work is per definition privacy unfriendly. Telegram has a history of "misunderstanding" security.

Don't use Telegram. https://gizmodo.com/why-you-should-stop-using-telegram-right-now-1782557415

-- Bruce Schneier, https://www.schneier.com/blog/archives/2016/06/comparing_messa.html

It all began with them shipping their own crypto... (any programmer should know that's the worst you can do, even before implementing some established crypto yourself). They've had the chance to switch to the Signal crypto for so many years, which is really praised even by the experts.

In my opinion Telegram's marketing makes false claims about security and makes users think they're safe while they're certainly not. They're also way too big to be considered safe, there's been tons of reports of people spying on conversations there.

We are a project whose most important selling point is privacy. Don't sell your souls to such tech giants. Go for federated, openly developed systems that you can also self-host and therefore bring under your own control.

IRC + Matrix seems like a sane solution.

bleedingcrow commented 4 years ago

XMPP MUC

Stop thinking proprietary. I would rather chew off my fingers than use discord.

Telegram wants to send a legacy text to my mobile number. I'm not giving them my mobile number. I don't do legacy texting.

bmrz2019 commented 4 years ago

Please do not go to telegram or slack or whatever locked. Please keep it here or any thing that is accessible by WWW or browser. If everything locks itself inside 'closed' programs how can one search and find or gain knowledge! Apologies!

@Stypox @gkeegan why do you think so? genuinely interested to know the reasons.

Stypox commented 4 years ago

Telegram is easy to install and use, works everywhere and many people already have it. Telegram groups are easily manageable and messages in public groups are accessible even without an account (if enabled).

I agree with the fact that foss software is to be preferred over proprietary one, but in this case imo the alternatives to Telegram lack ease-of-use, features and spread. Also, I don't like monopolies (Google, etc.), but Telegram is not a big company, so I trust them.

I am not concerned with the fact that chats are not end-to-end encrypted: I prefer the fact that Telegram is cloud-based, so that I can access my messages on every device without any hassle. This is a tradeoff that has to be made, since otherwise chats would have to be stored on the phone, thus being accessible only there.

Telegram has an open source API and app, so people can build other apps connecting to the same infrastructure, promoting competitiveness and limiting the monopoly.

Having said all of this, it wouldn't be a problem for me to use other things (i.e. Signal), on condition that they are available on both Android and Linux.

subpub commented 4 years ago

XMPP has come a long way Android https://github.com/siacs/conversations Linux https://github.com/dino/dino Web https://github.com/conversejs/converse.js

Stypox commented 4 years ago

What about riot.im ? It's based on Matrix, provides end-to-end encryption, and is foss

Tyler-2 commented 4 years ago

Another vote for XMPP.

Plenty of servers you can use for free, or run your own. HTTPS on the connection and OMEMO for conversation security if you don't trust the integrity of the server. File sharing done via HTTPS as well, optionally encrypted with AES.

Only drawback to XMPP which has kept it from being perfect is that the IOS client ecosystem is total garbage.

Or IRC. Since I run my own XMPP Server, I have an add-on on my server that joins IRC channels on my behalf and serves as a bridge to my phone. It's really stupidly seamless and fixes the "no history" problem with IRC.

ChairmanMkay commented 4 years ago

XMPP is baked into android. Contact has IM:Jabber. Nice integration. Mobile packet calling is built atop xmpp and sip.

Desktop. gajim is mature. Android has Converations, its better fork Pix-Art Messenger. iOS has Monal.

Conversations has a new multiparty chat distinction: channel (nod to IRC, public), MUC "private".

]Matrix[ has less mature implement e2e with megOLM. XMPP has omemo.

Need more hybrid? Xmpp & sip (like mobile lte calling). Android aTalk pushes the video envelope.

The problem I have with Matrix is the tiny fediverse of public servers and spikes in lag. Otherwise I love riot.

IRC > xmpp > matrix

Telegram is obscene for privacy. I have Uninstalled sms apps. This makes impossible setting up telegram or other cruft seeking personal external identifiers.

IRC, matrix, and xmpp have Web clients

Matrix: riot

Xmpp: https://movim.eu

Xmpp: vast array of free public stable servers. Even using geographically distant heavy load xmpp servers I experience nowhere near similar lag to riot.

xmpp is IRC inspired.

Xmpp server side history for client. Xmpp servers orders of magnitude more tolerant (agnostic) to Internet flavors: vpn privacy services. IRC nickserv in many traditions blacklists far too many email domains.

Poolitzer commented 4 years ago

wanna chime in and say self hosted forum seems to be the way to go for you guys

opusforlife2 commented 4 years ago

@TheAssassin's choice of staying with IRC makes the most sense to me. Why give up legacy if it doesn't pose any concrete issues? You can access it directly, or bridge through XMPP/Matrix. Whatever floats your boat.

Stypox commented 4 years ago

A problem I am facing with IRC is that I can't send images to get fast feedback on GUIs. I'm currently developing the download-playlist option, and a few days ago I wanted to share an WIP image but I found no way to do that. On Telegram or Discord I would be able to send images, videos, files, formatted code, etc. Also, the fact that you have to be connected to IRC in order to get all messages is really a downside imo, what if someone asks something while my phone is not connected (e.g. because I am sleeping with the phone turned off)? I wouldn't even read what he asked, even though I could have had a good answer. So I think we should give up legacy because it poses many concrete issues (at least to me)

TheAssassin commented 4 years ago

Also, the fact that you have to be connected to IRC in order to get all messages is really a downside imo, what if someone asks something while my phone is not connected (e.g. because I am sleeping with the phone turned off)?

That issue has been solved long ago. There's systems like Quassel-IRC, which you can self-host. With Matrix, you can also connect to any IRC server, and it'll keep you connected.

A problem I am facing with IRC is that I can't send images to get fast feedback on GUIs.

That's a huge plus of IRC. The backlog isn't cluttered with images or cat videos. People have to upload them somewhere and post a link. On IRC people also never post lengthy code sections (e.g., logs), they go and use a pastebin. That's a form of chat etiquette that got lost. I've got to use some stuff like Rocket.Chat regularly. Have you ever tried to find something in the backlog? Lazy loading, a very non-compact representation of messages, spammed with images and other stuff that does really not belong into a chat...

Maybe I'm a dinosaur, but I enjoy IRC for those reasons.

Matrix by the way provides all these "advantages" you seem to want/need, i.e., posting images, videos and longer messages, even if you're on an IRC server. The IRC bridge just posts links to matrix.org, where the messages and media can be viewed. Anyone interested can use a browser to follow those.

Telegram and Discord are still the worst among all suggestions in this issue. One requires a phone number, that's a huge no-go, the other one does not but still sells my private data with very questionable security...

wb9688 commented 4 years ago

@Stypox: Use Riot.im and then join #freenode_#newpipe:matrix.org. That way, you don't really have the downsides.

Stypox commented 4 years ago

@wb9688 oh, that's great! I am concerned by Discord and Telegram, too, but I couldn't find any great alternative... Riot.im is perfect! Thank you ;-)

opusforlife2 commented 4 years ago

FATALITY!

Open Source wins!

Flawless victory!

subpub commented 4 years ago

do we really want to use matrix.org? • it's behind cloudflare https://hostingchecker.com/#matrix.org • Also this one https://gitlab.com/libremonde-org/papers/research/privacy-matrix.org/-/tree/master/part1

should we really choose apps based on fancy ui? xmpp can do all this:

posting images, videos and longer messages, even if you're on an IRC server, the IRC bridge gets links to xmpp's HTTP upload link, where the messages and media can be viewed.

subpub commented 4 years ago

you can for ex: join via xmpp server supporting (Biboumi) irc bridge like irc.jabberfr.org (even if you don't have an account on jabberfr.org ) just add #newpipe%irc.freenode.net@irc.jabberfr.org as a room. Even via a webclient works (https://jabberfr.org/converse)

KonoromiHimaries commented 4 years ago

matrix is still recommended https://www.privacytools.io/software/real-time-communication/#federated

opusforlife2 commented 4 years ago

There is no need to use the matrix homeserver. You could use the one hosted by privacy tools IO: https://chat.privacytools.io/

muppeth commented 4 years ago

...and have all the meta collected forever by privacytools team instead of matrix.org 👍

opusforlife2 commented 4 years ago

...and have all the meta collected forever by privacytools team instead of matrix.org 👍

Host your own Synapse instance if you don't trust any others. ;)

subpub commented 4 years ago

sadly Synapse is so resource hungry  300 people active in XMPP consume: 350MB of RAM and about 100 of data.  100 people active in Matrix consume: 30GB of data and about 10GB of RAM

source

opusforlife2 commented 4 years ago

Yeah, it's written in Python. I'm eagerly waiting for Ruma. https://github.com/ruma/ruma

Poolitzer commented 4 years ago

Dont shame python :(

muppeth commented 4 years ago

@opusforlife2 Still ton of meta is stored on all servers participating in the room. Anyway, I thought this is thread about privacy respecting chat solutions not "host your own if you care about privacy" since the proposed chat solution collects your every move and saves it in database forever.

And it's not about trust but rather about the principle on which the protocol operates and how much data is collected and stored in the database.

opusforlife2 commented 4 years ago

Not sure how that is a Matrix specific issue. XMPP/IRC will have the same problem that any server participating in the chat can store all the logs that it wants to.

If required, the Newpipe team could host an instance on their website, configure it to collect minimum/no logs, and disallow other homeservers from connecting completely.

Mikaela commented 4 years ago

I am a bit of an outsider here and while I am starting to hate instant messaging platforms, I have came to view that everything has a problem and the least bad solution is using matterbridge to have preferred apps together (as it's light and easy to selfhost without ending up to the mess of Matrix bridges which at best confuse by not allowing private messages between Matrix and Discord, medium look bad to Telegram and in worst case requires politicising with IRC operators to get connection exception or just stops working to some direction hiding users from both sides).

opusforlife2 commented 4 years ago

Welcome to Newpipe, friend from PT.IO! :) Could you please elaborate on what those preferred apps should be? Everyone using a client of their own choice would still result in a jumbled mess.

Mikaela commented 4 years ago

TL;DR: This is not a one-size-fits-all question. I hope you get anything useful out of my comments

Thanks. I cannot give apps what you should prefer as I don't know what apps people in your community is currently using and what do you value in picking apps. I can only give two examples using Matterbridge:

Typing this out I guess I have found more questions: What does NewPipe care about? Does everything have to be open source (closing out Telegram due to the server)? Is that more important than less techy people being able to join easily (if not, Telegram becomes an option)? Do the countries the services are based on matter to you (Discord is somewhat owned by Tencent which is Chinese company)? Do their ToS matter (I complained about Discord already)? Does it matter how services communicate outwards (Telegram is notorious on making exgarregated claims on their security)? Privacy is absolutely the most important thing (sadly I fear it closes out a lot of people currently)?


A potential drawback of Matterbridge is that you won't be able to have E2EE, however is NewPipe development or support that sensitive?

On the other suggestions I kind of already listed their cons, but if you pick only a single platform, I can think of these:

opusforlife2 commented 4 years ago

Riot: closes out people who don't have a lot of RAM for Electron and high end phones.

There is a Firefox webextension called Radical (earlier, simply Riot webextension), now. That would address the Electron issue at the very least: https://github.com/stoically/radical

Regarding the high end phone requirement, what is the limiting factor? CPU? RAM?

Also, at least for Android, RiotX is still under heavy development, I can see: https://github.com/vector-im/riotX-android/issues/536

Since Newpipe is an Android only app, I'm not sure how much of a concern iOS is. A person using Newpipe will naturally have an Android phone and can use that.

muppeth commented 4 years ago

Not sure how that is a Matrix specific issue. XMPP/IRC will have the same problem that any server participating in the chat can store all the logs that it wants to.

It's not about logs but what database stroes. And in case of matrix you dont have much to say over what you store in the db and for how long. While IRC/XMPP meta is stored in logs where you can decide on retention time or not store them at all, in case of matrix this meta is stored in the database without too much of a play around it. Matrix works similar to git (distributed database) which means that server needs to keep the entire state of the room from it's very inception. That room state copy is shared with every server participating in the room, so if NSA's server joins the room it will get a copy of it's state from the very inception of it. This is not the content of the messages. Rooms state is unsuprisingly the biggest table in the database. I advice you @opusforlife2 to install synapse yourself and have a tour around the database yourself to see how much information that should not be at all, is stored indefinetly or with some retention (since recently because of the whole privacy storm) time. There is no reason to keep all this information in case of Instant Messeging, and this is my biggest issue with Matrix and projects like this one not only promoting it but running a server too. Either you are promoting software that is easy to use and looks nice or you are focused around privacy. IMO Matrix is a great tool for distributed database, but bad one for Instant messeging

opusforlife2 commented 4 years ago

Ah. I see. That is a problem. Is this specific to Synapse or is this something written in the Matrix spec itself? In other words, would it be possible for a different homeserver to be coded differently to address this issue?

Poolitzer commented 4 years ago

Well we are not using a matrix instance, its an IRC one. The problem is that quite some users will join via a matrix bridge just because of message history.

opusforlife2 commented 4 years ago

Are you saying that since it's a Matrix bridge to an IRC server, the database problem isn't applicable?

Poolitzer commented 4 years ago

No, I said that the officially promoted communication isnt matrix, its IRC. The matrix privacy concerns are still absolutely valid.

TheAssassin commented 4 years ago

This discussion has moved very far away from a search for a new communication platform to a general discussion on the pros and cons of several chat systems. That's counterproductive.

Let's recap: we are looking for a free (as in freedom) platform which provides a feature set sufficient for our needs, respects privacy, is not controlled by a company, is interoperable and doesn't require people to self-host anything. It should be accessible, so a kind of web chat that doesn't require registration is nice to have.

The entire discussion on who logs what is kind of ridiculous. We are looking for a public chat, you cannot control who stores what bits and what logs. In our IRC chat we already have participants from Matrix. Same goes for other cloud-hosted clients. Everything you say is likely logged somewhere, that's perfectly normal.

Many other arguments are very opinionated and not based on any provable facts. I could spend an hour and describe in detail what's true, what's not, and what's relevant or irrelevant to this discussion. Instead, I want to provide a quick summary of the state of this discussion:

To me, the current combination still makes most sense. I don't see a reason to change away. The people who vote for XMPP also say it's not a problem for them to bridge to IRC channels.

IRC is not a modern, "cool" protocol, but that's not the criterion we're looking for, is it?

Also, please note that right now we do not intend to self-host any chat service. We are too small to consider that, and we're not in a position to take the legal risks. It also really limits our reachability.

Mikaela commented 4 years ago

This goes a bit offtopic again mainly Matrix vs XMPP, but I have to correct you a bit:

XMPP is complex, complicated and very inaccessible for newcomers;

At best it's no worse than Riot (see below).

there's no useful webchat

Are you familiar with https://conversejs.org/ ? I think it's currently the closest to Riot that XMPP world has.

multi-user chat is not built-in and doesn't work too well, also it's more likely to leak private data

Multi-user chat may not be part of the core XMPP specification, but that is due to it being designed as extensible and multi-user chats may not be required for all purpouses. I don't remember having major issues with it (when E2EE is not involved) and by default an XMPP MUC is more private than a Matrix one as in Matrix everyone knows your Matrix ID while XMPP only makes your ID available to moderators of the MUC unless the room is non-anomymous.

client availability is... meh

Personally my only problem has been SailfishOS for which only Telegram has proper (unofficial) (nearly full-featured) clients and secondhand iOS.

Tyler-2 commented 4 years ago

I am not familiar with most of the others, so just want to respond to:

XMPP is complex, complicated and very inaccessible for newcomers;

Not sure what the measure for this is. There are plenty of free places to register and the clients ask you for your address and your password, most of the polished ones offering a place to register as well.

there's no useful webchat

https://conversejs.org/

multi-user chat is not built-in and doesn't work too well

This is wrong and I'm not sure where you got this impression. Every major client and every server supports the XEPs for multi user chat. I have grandparents who use it for sharing photos.

also it's more likely to leak private data.

What??

client availability is... meh

Conversations on Android is pretty much perfect. Gajim or the webchat from the PC is good. Monal on iOS is passable but needs work. I do somewhat agree with "meh" here because of the iOS situation - but that seems somewhat discountable given that NewPipe is an Android app.

IRC bridging isn't built in to the servers, but is easy to add for server operators (eXtensible). I use it on my servers. No special client side changes or support are needed.

And the statements about Matrix are basically true of XMPP.

[XMPP] can solve the "always on" problem, supports bridging to IRC [with server-side extensions]

    by using IRC as the backend nobody's forced to use the service
    it's entirely based on free software and you can self-host every detail
    there's clients for all major platforms[, though iOS clients are currently a bit weak. NewPipe is an Android app though...]
    it's up to you to decide whether you want to use one of these hosted instances

I think IRC would please the IRC people while still allowing the XMPP and Matrix people to easily partake. I otherwise, of course, prefer XMPP. :-)

I'd also be willing to donate and operate an XMPP instance to the cause if one of the existing servers isn't a suitable place to host the groupchat.

Edit: Hey, the existing IRC info should be published front and center somewhere, shouldn't it? Like on the main page?

Poolitzer commented 4 years ago

Im pretty sure its at least on the website somewhere publically, otherwise in all release posts (at least certainly the ones I wrote :evil:)

subpub commented 4 years ago

FWIW XMPP also has anon login for people without an acc ex: https://chat.prosody.im

supersonic71 commented 3 years ago

Can I see chat history if I'm using the matrix bridge client? If I post a question, then disconnect from internet, and during this time someone replies, and then I connect to internet again, will I be able to see the answer?

gkeegan commented 3 years ago

@Sgt-Miller Yes, the Matrix server will save the messages then retrieve them into your app when you reconnect.

Andre601 commented 1 year ago

Bit sad that there won't be an alternative. Sure, IRC does have its usages... But it also doesn't feel as good to use like f.e. Discord. Welp... At least it's not Telegram 🤷

opusforlife2 commented 1 year ago

@Andre601 That's why we recommend using Matrix. It's both modern and FOSS.

Andre601 commented 1 year ago

@Andre601 That's why we recommend using Matrix. It's both modern and FOSS.

Yes, but on the other hand would be a program I only use for a single chat or similar, which at least for me is wasteful.