ipfs / notes

IPFS Collaborative Notebook for Research
MIT License
402 stars 31 forks source link

Messaging on IPFS #33

Open seidtgeist opened 9 years ago

seidtgeist commented 9 years ago

Messaging fragmentation and messaging monopolies are bad for people. This WIRED article advocating a messaging monopoly owned by an ad-business made me mentally flip tables. The corporate centralization problem is especially pronounced in messaging. Messaging APIs shrink or disappear, eventually turning into an official GIF sharing Obj-C library that you have to use in order to not have your API keys revoked [drama added].

Related problems:

Messaging properties:

See also:

MichaelMure commented 9 years ago

This is something I want to have for https://github.com/MichaelMure/Arbore-qt

This is the way I see it implemented:

Identity:

Messaging:

seidtgeist commented 9 years ago

This is something I want to have for https://github.com/MichaelMure/Arbore-qt

That looks like a cool project to build on top of IPFS!

Messaging is done with direct message, no offline delivery.

Can you elaborate? For example, how would messages reach mobile phones in this model?

MichaelMure commented 9 years ago

Well, mobile phones are not really the target of Arbore for now as it's mainly a file sharing application.

That said, if you can run a ipfs node on mobile, you can probably deal with a chat implemented on top.

If you want to work on that, we should probably use the same implementation.

pjz commented 9 years ago

Other somewhat related prior art: https://bitchat.im/

MichaelMure commented 9 years ago

Thanks @pjz that's very interesting, especially the FAQ :)

They explain a lot of things about why they did it like this.

The question 2 ("Why is registration necessary to use Bit Chat? What is a profile certificate?") states that they had to add a central identity management authority because you either have to 1) blindly trust other peer on the first connection or 2) centralize this identity management.

Can someone tell me what is wrong with the model I suggest in https://github.com/ipfs/notes/issues/33#issuecomment-129948195 ?

pjz commented 9 years ago

So... all that's one way. If you want to go a little further, though, consider publishing Activity Streams encrypted with the public key of those allowed to read it.

jeff-r-koyaltech commented 8 years ago

What makes Matrix "prior art" for you? They're still actively developing. Is there something fundamental about their architecture that doesn't meet your needs? I'm just trying to understand and decide if IPFS based messaging is where I want to volunteer my time. I've been thinking a lot about uses for IPFS the last few weeks, and was pleased to find this thread! :)

seidtgeist commented 8 years ago

@langboost Maybe "Prior art" was the wrong term. I changed it to "See also".

seidtgeist commented 8 years ago

What's the latest on IPFS and notifications/messaging/pubsub? I'm getting frustrated with the alternatives again and would like to build something better, but lacking the primitives. Any ideas?

seidtgeist commented 8 years ago

@jbenet: Should we close this in favor of #64?

fazo96 commented 8 years ago

There's already an IRC style chat application on top of IPFS: anonymous networks and there's also my ipfs boards but that is more a discussion board / social blogging application.

With POST we will define a common protocol for all human communications on IPFS, linking together all the apps.

There's also Tox developing a custom protocol + C library aimed at fully distributed text and voice chatting with support for groups chats and video calls. There are already clients that work pretty well.

Just listing these for reference. We will probably address the problems mentioned in this thread (identity and message proprieties) in POST or an extension of it :+1:

seidtgeist commented 8 years ago

Sounds really great! Going to have a look at the POST issues.