[HN Gopher] Movim - A decentralized social platform built on XMPP
___________________________________________________________________
Movim - A decentralized social platform built on XMPP
Author : yamrzou
Score : 74 points
Date : 2022-09-09 08:23 UTC (14 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| tpoacher wrote:
| Help! I mo-opened movim by accident and now I can't figure out
| how to mo-close it!
|
| I've tried everything! mo-Ctrl-Q, mo-Ctrl-X, mo-Alt-F4,, mo-F10
| ...
| nicoco wrote:
| Movim is great! I don't even use its microblogging features, but
| the chat part implements emoji message reactions* which are a
| very convenient way to acknowledge a message, and a way that
| everybody understands. It may look gadget-y and I suspect a lot
| of old school hackers might hate them, but I think that we should
| reckon that they are seen as a standard chat feature by non-
| techies. I used to be in the hate camp ("I don't want no
| 'facebook like' in my chats!") but after being forced to use MS
| teams at $EMPLOYER, I must admit I miss the feature in my (other
| than movim) XMPP clients.
|
| * https://xmpp.org/extensions/xep-0444.html
| jaimehrubiks wrote:
| Until recently I wasn't aware that the XMPP protocol
| specification was still being updated and up to date including
| things like read receipts, message reactions etc. I'd love to see
| the EU standarize communications with something like XMPP and
| something similar for voice/video. It would be amazing to not
| depend on clients like WhatsApp for my whole life.
|
| I'm excited to try Movim and mobile XMPP clients with XMPP
| bridges like the one in the front page last week.
| xani_ wrote:
| There was one beautiful moment where Google and Facebook
| supported XMPP so you could _just_ set up your XMPP server and
| talk with people across the platforms but both decided to close
| their gardens for the usual reasons
|
| But XMPP is shitshow of million XEPs and massive matrix of
| which supports what. So just because in theory there is some
| feature you want it doesn't mean that your server and your
| client will work with it. That's _terrible_ value proposition
| to anyone wanting to do anything in the space, you _dont_ want
| to debug (and we did had to, when we used xmpp for our company
| chat) why user X using communicator Y on platform Z can 't send
| attachment to your user on communicator Q.
|
| XMPP needs to just sit the fuck down, gather the XEPs and put
| it into XMPP 3.0, with few feature sets that every client and
| server using it needs to support all at once, not picking and
| choosing.
|
| So if you make text only chat client, it supports all of the
| formatting, all of the file send/receive, all of the MUC
| things, all of the E2E encryption things, all at once. And have
| _one_ text formatting to support (Markdown seems to be winning
| here), not a bunch.
| jjrh wrote:
| > gather the XEPs and put it into XMPP 3.0, with few feature
| sets that every client and server using it needs to support
| all at once, not picking and choosing.
|
| They do exactly that -
| https://xmpp.org/extensions/xep-0459.html
|
| Easy to deploy solutions for common use cases like company
| chat are being worked on with projects like
| https://snikket.org/ (or well movim!)
| detaro wrote:
| > _gather the XEPs and put it into XMPP 3.0_
|
| The yearly compliance suites try that - and then IMHO fail a
| bit by offering too many variants.
| MattJ100 wrote:
| What variants do you think should not be included?
| detaro wrote:
| That's of course the tricky question. To a degree it
| might be a presentation thing that they are all shown
| equally.
|
| E.g. _to me_ , I'd expect a headline profile that's
| equivalent to "Advanced IM + Advanced Mobile". And I'm
| not sure the split into "Basic/Advanced" esp for mobile
| makes much sense. But I also can totally understand why
| people thought each of the distinctions was valuable, but
| that makes it feel a bit too comittee-style of trying to
| make everyone happy by including their variant and over-
| complicating the entire thing as a result. Certainly
| something I've seen happen to other specifications.
| leetnewb wrote:
| https://docs.modernxmpp.org/
| bongobingo1 wrote:
| I think I've seen a comic about this.
| kitkat_new wrote:
| > XMPP needs to just sit the fuck down, gather the XEPs and
| put it into XMPP 3.0, with few feature sets that every client
| and server using it needs to support all at once, not picking
| and choosing.
|
| Matrix: https://spec.matrix.org/latest/
|
| You are welcome
| zaik wrote:
| This isn't compatible with XMPP.
| yamrzou wrote:
| Unfortunately, I haven't yet found a mobile XMPP client that
| has the same features as Movim.
|
| For example, conversations.im still lacks Message Reactions,
| Threads, and Publish-Subscribe:
|
| https://github.com/iNPUTmice/Conversations/issues/3874
|
| https://github.com/iNPUTmice/Conversations/issues/3303
|
| https://github.com/iNPUTmice/Conversations/issues/1642
| edhelas wrote:
| XMPP is also integrating audio and video conferencing, there is
| even some bridges with SIP available to be compatible with
| VoIP.
| jjrh wrote:
| What are the options for jingle <-> SIP?
|
| I'm unclear if ejabberd mod_sip is actually a bridge or
| something else entirely and jigasi seems pretty jitsi
| specific.
| leetnewb wrote:
| Figured I'd chime in how pleasantly surprised I was with how
| well xmpp works for my narrow use case of an e2ee messenger
| between family members. Snikket is packaged with STUN/TURN out
| of the box, and to my surprise, a lot of family calls are going
| through the xmpp client. Perhaps there are pain points that I
| don't see, but xmpp's method for audio/video jingle works well.
| groffee wrote:
| Is there any reading on getting starting with building
| decentralized apps?
| throwaway0asd wrote:
| Depends on your definition of decentralization. Everybody seems
| to have either a personal best definition or simply aligns to
| some trendy product (that likely isn't at all decentralized).
|
| My personal definition of decentralization is peer to peer
| without a server in the middle, like a telephone call. Nobody
| seems to like that definition because it's extremely non-
| commercial.
| blitzar wrote:
| > like a telephone call
|
| Which is routed through centralized exchanges ...
| throwaway0asd wrote:
| The internet is composed of routers and switches, but those
| aren't application servers. Telephones have a start point
| and an end point without a telephone server in the middle.
| 3np wrote:
| Routed through, not terminated at. Important distinction.
| Modern web is more like everyone calling through a handful
| of major PBXes.
| blitzar wrote:
| If I pull the cable out of the back of the exchange / pbx
| what happens? The phone doesnt work.
| throwaway0asd wrote:
| A router is not a server.
| stoplying1 wrote:
| In the context of censorship-resistant technologies, this
| is both technologically and semantically incorrect.
| Karrot_Kream wrote:
| That makes no sense. A router is a box with routing rules
| and a few NICs on it. I have one setup in my house that's
| routing packets from an overlay LAN onto my home LAN. It
| is very much a piece of infrastructure that I own, and if
| I didn't control both ends, I would certainly want to be
| careful with operating it. If packets were E2E encrypted,
| I'd still be able to shut off my server and sever the
| link.
|
| If you want true P2P with no intermediaries, then you
| need a direct P2P technology like a direct Ethernet
| connection or an L1 radio link with encrypted packets
| (and even this is fraught with a single RF collision
| domain.) Otherwise you are also just using a "personal
| definition of decentralization" that you gatekept about
| in your comment.
| selectnull wrote:
| Agreed that everyone has their own personal definition. With
| that in mind, I would never think of telephone as
| decentralized, at least not more than any other service
| provided by a company.
| throwaway0asd wrote:
| Let's assume you want to build a decentralized application
| according to my personal definition of decentralization: peer-
| to-peer with no application servers of any kind.
|
| 1. To me this means IP address to IP address communication. But
| but but IPv4 NAT address: for this there are TURN servers which
| look pretty expensive. A TURN service provides application
| layer routing, like a proxy, to route data to a respective node
| on a private network.
|
| 2. I don't want to pay for TURN or deal with the extra layer,
| so I just write off nodes limited to a NAT IPv4 address on a
| separate subnet.
|
| 3. You need to account for session/relationship management. For
| this I am using a tiered model whereby nodes are assigned a
| group identity that allows for increases to access inversely
| proportional to autonomy.
|
| 4. You need some manner of trust validation. This is the piece
| social media doesn't know how to solve without some sort of
| centralized ledger. I am just using certificates and putting
| this liability directly onto the users to properly execute a
| text challenge response.
|
| 5. In a peer-to-peer decentralized model both ends run a
| listener for incoming connections on a fixed port. That sounds
| amazingly close to the definition of a server, but each
| connection is otherwise a client-to-client tunnel with a random
| client port on both ends. That means one end creates a client
| connection and points to a remote user running a listener. That
| listener spawns a connection to a client port and performs the
| checks to verify connection establishment, validation, anything
| else. After that initial processing on the listener you are
| left with a connection. If the connection is bidirectional both
| ends must listen for incoming data equivalently and must manage
| sessions and relationships equivalently.
|
| Finally, you need to rethink how your prioritize software.
| Commercially software obtains value from that which you own,
| which is either a copyright on an application or data in a
| database. In a decentralized world data is that which you are
| willing to access or transmit and nothing more. The value is
| purely functional to your application and nothing for you to
| secure behind a subscription.
|
| That said the value of a decentralized application comes down
| to three things:
|
| * automation - whether the application eliminates manual effort
|
| * transmission - whether the application can connect over a
| network in a way that resembles immediate local device access,
| such as real time bidirectional communication
|
| * utility - does the application do something amazing, which is
| more than putting data on a screen. You have to think bigger
| than a webpage or a spreadsheet.
|
| Once you solve for transmission and OS challenges end to end
| encryption is as simple as turning on your application.
| Karrot_Kream wrote:
| There are overlay network projects that try to solve this
| problem. Take a look at Yggdrasil [1] which builds an overlay
| E2E encrypted, P2P mesh network. While you don't need TURN
| servers specifically, instead the overlay layer handles the
| P2P proxying for you. It still suffers from the same problem
| of necessitating intermediaries, and the fact that many peers
| don't actually have their own ASN so they aren't at the top
| of the network hierarchy, but makes it fairly "transparent"
| to use the network as everyone is assigned both a /128 and a
| /64 (for prefix delegation purposes) on the Yggdrasil
| network.
|
| At another level, Tor is essentially the same secure P2P
| network. While onion routing is used to route packets,
| fundamentally you don't need a publicly routable IPv4 or IPv6
| address to receive packets. Instead peers onion route packets
| until the server with the correct keys can decrypt the
| packet.
|
| [1]: https://yggdrasil-network.github.io/
| elitepleb wrote:
| crawl from https://gitlab.com/bluesky-community1/decentralized-
| ecosyste...
| spicybright wrote:
| I like the idea but the landing page doesn't inspire confidence.
| My browser window is half with on a normal macbook and most of
| the text and images overlap making parts of it un-readable.
|
| https://movim.eu/
| cycomanic wrote:
| works fine here on Firefox/Linux
| spicybright wrote:
| Here's what I'm seeing on firefox on macos
|
| https://imgur.com/a/VGaeBEW
| edhelas wrote:
| Hi, Movim author here, happy to see Movim on the HN first page.
| If you have questions do not hesitate :) !
|
| You can also join the official chatroom:
| movim@conference.movim.eu
| djhaskin987 wrote:
| Decentralized networks are very resistant to moderation. Don't
| like my rules? Go to someone else's server. Also blacklisting
| specific people from specific servers or whole servers in general
| is an uphill battle a lot like the email spam battle. It's very
| difficult to keep unwanted content out.
|
| That was my experience when looking at Matrix and Mastodon. So I
| am skeptical of projects like this.
|
| That said the UI looks very nice and the idea very promising.
| aidenn0 wrote:
| I've run an XMPP server for a group of friends for years with
| no spam. We just don't federate...
|
| I've considered looking into maybe adding Movim into the mix;
| one of my friends can't be on public social media due to job
| reasons.
| brightball wrote:
| I still want to see a social platform based on email. :-)
| zaik wrote:
| Just post to your nearest mailing list.
| guessbest wrote:
| What are the minimum viable requirements to be a social
| platform? Would it be different than a social media platform?
| To me this would be like irc with commands then every sent
| message/email would reply not to everyone but return something
| like a html page where the user could modify text commands
| based on the returned message.
| brightball wrote:
| Maybe an app (mobile or desktop) that connects to your email
| account and looks for messages with a certain key, collates
| them and creates a news feed + comments, then as you comment
| and reply to things it sends platform messages to the
| appropriate members?
|
| As long as you aren't looking for a platform with promoted
| follows vs just friends and family, it seems like a more
| ideal way to do so without having to worry about anyone else
| "owning" your network. Add encryption, etc as well if
| desired.
|
| Email seemed to be the safest and most widely available means
| of async data exchange, with IMAP making it possible to sync
| between mobile and desktop easily enough.
| drran wrote:
| Usenet? Mail lists? They were active and very useful 20 years
| ago, until spam invented.
| altilunium wrote:
| Try this. It's an active and thriving email-based social
| platform.
|
| [1] https://groups.google.com/a/chromium.org/g/blink-dev
|
| [2] https://lists.openstreetmap.org/pipermail/talk/
| edhelas wrote:
| Why not re-buiding the Web on SMTP as well, could be fun :p
___________________________________________________________________
(page generated 2022-09-09 23:02 UTC)