31 ms·
The problem with federated web apps
- rurtrack 3y agoWhy pretend request headers don't exist? Any app can send a request header to the same URL and have the response tailored, or am I missing something here?
- forgotmypw17 3y agoI don't think it's as huge of a problem as this article claims because: a) you can request the same resource from multiple servers b) it is not just the address bar which can control the server it's requested from -- servers can link to each other. Of course, if one server is unavailable, the browser may not know to try another... but that's a small improvement which can be added.
- basch 3y agoI agree where the author is going. A problem with the federation is the combination of the identification, client, and backend into an instance, yet depending on the web/nets dns. I’d like to see more of a separation between the account, client, and data akin to google reader / third party reader client / rss. Before reader shut down, you could log into any reader client with your google account and all your feeds followed. A good fediverse client would have separate settings pages for your accounts, and what you follow. I should be able to share a link to data that anyone can open in the client of their choice. Another way to solve the authors problem is to make a new protocol.
- lolinder 3y agoI don't think that the author explained it very well, but the difficulty with (a) is that currently, when you follow a fediverse link, it will open in whatever server the original poster uses, rather than your own server. Odds are you aren't logged into the same server that they were, so that leaves you unable to interact until you jump over to your own server and access the same document. This can be remediated somewhat within fediverse apps, because they can detect cross-server links and convert them into internal links if possible. But that doesn't help following a link from HN. There might be a browser extension already to solve this problem—it would need to know which instances your server federates with and how to translate links to those instances into links to your server.
- INTPenis 3y agoI might be misunderstanding OP here but that's not how I see it. In fact, the Mastodon web UI frequently shows profiles and posts from other servers on your own "home" server, in your own format. All example.org (your home) does is request JSON from eample.com (the remote), and displays it in whatever format fits your home server. And it seems to me that it uses the first option that the author suggests, being example.org/user@example.com/thread
- lolinder 3y agoThat's when you start on example.org. But if I copy and paste a URL to you and you end up on the post on example.com, the best that Mastodon can do is suggest that you search for the link on your home instance.
- shagie 3y agoThe HN article Twitter Is DDOSing Itself (sfba.social) https://news.ycombinator.com/item?id=36553236 https://news.ycombinator.com/item?id=36553236 links to https://sfba.social/@sysop408/110639435788921057 https://sfba.social/@sysop408/110639435788921057 The instance of mastodon that I have an account on is https://techhub.social https://techhub.social I can't interact with the sfba.social toot directly. Clicking 'boost' (retweet) gives me instructions: > With an account on Mastodon, you can boost this post to share it with your own followers. Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one. > On a different server > Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server. --- Similarly with 'reply'. So, I can only interact with that toot on my home instance which is a bit of friction. Not necessarily a bad thing, but there's friction there. Mastadon isn't too bad however. Interacting with it on my home instance only brings that toot over. One and done. Subscribing to a community or trying to interact with a post in Lemmy, however, puts a larger and ongoing operational cost on the server as new comments appear and votes are cast.
- ummonk 3y agoThank you for explaining. I couldn't make heads or tail of what the article was saying, and most of the comments in this thread are discussing different problems with federated services, rather than specifically this problem with federated web apps.
- rektide 3y agoAxiom 2a of the web emphasizes this, > a URI will repeatably refer to "the same" thing And further, > the significance of identity for a given URI is determined by the person who owns the URI, who first determined what it points to. Which explicitly goes on to say ownership is not well defined because different schemes can have different behaviors. https://www.w3.org/DesignIssues/Axioms.html#same https://www.w3.org/DesignIssues/Axioms.html#same The trick is to actually have clients know & understand where instead to link people. If a server shuts down how does that alt-location get persisted & spread? Effort has faced headwind, but I also really dig Signed Exchanges, which let's servers sign the content it sends & then bundle it together (WebBundles) so other servers can serve it in a trusted way. But the browser will only trust the content for 7 days, because as per this article, the dns owner might change & thats the security compromise. But an app could still parse & use that content, which makes extra sense now that we have Certificate Transparency expectations.
- Avamander 3y ago> a) you can request the same resource from multiple servers Can I? With PeerTube for example it's a massive hit-and-miss. Many mirros don't have the torrents or vice versa. There's no reproducible way to mirror/federate YouTube content and so on.
- 9kaka001h 3y ago[dead]
- mattdesl 3y agoThis is where content addressable URIs shine. IPFS is still pretty rough around the edges to use, but it allows hosting and distributing assets on the web without them being tied to a central server operator.
- kosinus 3y agoI'm not sure that applies here. If data is migrated from one app to another, content may change. We could create a protocol for requesting content-addressable URLs over HTTP, but it wouldn't help with the problem described either.
- mattdesl 3y agoI’m not sure why the data would change. I can have a blog post in Markdown that spans across multiple apps, same with other standard data formats like MP4 and PNG which do not need to change when porting from one site to another.
- kosinus 3y agoThe post body is just one property of a JSON-LD document in ActivityPub. The rest of it is metadata, relations, etc, that different apps may present ever so slightly differently. It's more like an API with multiple implementations. (Even just JSON serialization differences will pop up. For example, PHP always likes to escape forward slashes.)
- pferde 3y agoMatrix tries to solve this with matrix.to (https://github.com/matrix-org/matrix.to https://github.com/matrix-org/matrix.to), which will eventually hopefully segue into a separate matrix:// protocol in URIs.
- ilaksh 3y agoI think we could support decentralized protocols like IPFS or Freenet 2.0 at the browser level. Or even perhaps build in some type of UDP that could be easily enabled or a separate download. I assume these ideas are blocked partly because companies like Google that have influence over browser features very much do not want a decentralized web. Tying web pages to specific servers is also maybe something that deep down people won't or can't accept or understand about changing. Maybe part of it is that it's hard to make p2p protocols work well and so people just aren't willing to try to tackle that and the challenge of getting that technology into browsers at the same time.
- gochi 3y agoThis doesn't really solve the problem, as it's incredibly easy to get IPFS support in your browser right now with a simple extension. No tinkering necessary. Yet IPFS is still rarely used, even within highly tech-literate communities.
- lebronlee 3y ago[dead]
- FireInsight 3y agoAn obvious problem is no servers. You'd have to get really creative to build a forum on IPFS, and hosting Wordpress is just not possible.
- gremlinsinc 3y agowhat if we had some sort of ICANN like service for usernames and app names, and to store metadata about all the networks, including a graph of the federation, ie who's federated with who... to me the biggest failings is usernames, and taxonomies. If I register a channel or username on lemmy, can I create the same channel and username on kbin? That's a huge fail, when you want something like Reddit, and I think Reddit was the best social network ever until the Corp destroyed it. The premise though, curated content and forums like Wikipedia meets Usenet, was brilliant. What comes next needs to be maybe partially centralized mostly federated.
- ape4 3y agomail is federated, but web mail apps seem ok
- Brighthurst 3y agoThat's a good point and it illustrates what the solution is too. Email, is a series of protocols: POP3, SMTP and IMAP; thus they don't suffer issues with HTTP (a different protocol) that this article describes. The Web mail apps are just a client to serve your email protocol data to you. While the web apps do suffer from the HTTP issues, you at least have the freedom to switch your clients, and even the servers of your email data.
- notatoad 3y agowebmail doesn't tend to have the problem of sharing pieces of content via hyperlink, which is the problem the author is talking about. fediverse apps do fine as clients to access pieces of content through their own dedicated communication channels, in the same way webmail clients do.
- gsatic 3y agoMail breaks down as soon as everyone starts broadcasting to everyone else. Also the reason why ppl behind mail and chat never saw social media coming. Social media can't work on top of those protocols so they thought it would fail. Nor did anyone imagine that everyone has such a desperate craving for Attention or this Need to broadcast their thoughts to the entire planet every day. Its still not clear why this even has any value. Its sort of like trying to build a brain where every neuron has broadcast capability to every other neurons. Our brains would just fry if such capability existed. There would be so much noise nothing would make sense. But ppl have decided this is what they need to build to escape Google and Facebook or whoever. And the whole story doesn't really make too much sense.
- johnnyanmac 3y ago>Its still not clear why this even has any value. It's simply human nature. The scale simply increased from a family ornfriend group, to community, to a world population. Media reflects reality in this case.
- lyu07282 3y agoThe problem is also that federated doesn't really solve the problem of decentralization and that's the problem we ought to be solving. I don't want to create an account on the X instance of the fediverse, I want to create an account on the fediverse. It should be one big fediverse, which instance I use should be completely transparent and irrelevant. Coupling accounts to instances of the federation might be the easy solution, but it doesn't solve the problem we actually should be solving. This was already something I disliked about Jabber/XMPP and this was 20 years ago, we ought to have solved this by now.
- ibz 3y agoNostr solves this. You don't need to "create an account", you just generate a key pair. That is your account. On what relays you store your data is orthogonal to this. As long as an event is signed by your private key, it is your event.
- Brighthurst 3y agoYeah, as far as I can tell, nostr does indeed solve the issues discussed ITT. I think it stems from the fact that nostr is a protocol, just like HTTP. So instead of federating or decentralizing on top of http, we needed a different protocol all-together
- toyg 3y agoThe minute you introduce the concept of "key pair", you've lost 99% of people.
- lyu07282 3y agoTrue, but you might be able to store it/hide it away in some DHT behind a username and passphrase, even that might not be necessary. You can solve a lot of complexity in the protocol by good frontend people who understand UX. Even Whatsapp is using PKI, its just all hidden away from the user.
- 3y ago
- m4lvin 3y agoGood point, but I think the feature that I can paste any fediverse URL into the search field on my own mastodon instance and view it there, solves around 40% of the problem. There are also already browser extensions which automatically redirect you to your own instance I think, but those need access to all browsing :-/
- ibz 3y ago> you would need to decouple the resource being accessed from the application being used to access it Nostr does exactly this.
- Brighthurst 3y agoYeah, I think nostr is the obvious solution when you realize this article is all about the issues of federating/decentralizing on top of HTTP. The P in HTTP is protocol. So the solution is that we need a different protocol: nostr
- acidburnNSA 3y ago> But this model breaks down because it wasn't designed under the premise that interactive applications would then be built on top of individual websites Heh I was just reading "The Innovators" by Walter Issacson and found this interesting conflict between the inventor of the WWW and the inventor of Mosaic: > There was something about Andreessen's browser (Mosaic), however, that disappointed Berners-Lee. It enabled rich media for publishing eye-catching pages, but that came at the expense of making it easy for making normal users to be able to write as well as read web pages. With Berners-Lee's browser, any user could edit web pages just as easily as reading them, just like using a word processor. But users of Andreessen's browser had to write the HTML code themselves and upload it. Berners-Lee feared that this might limit the ability to express themselves on the web to those who were technically astute.
- faraggi 3y agoFunny because Andersen also made the choice to use text based pages instead of binary with the same profile in mind- making it easy for users to make stuff.
- gmuslera 3y agoYou need to decouple the location of the url from the location of the resource. Like having a /resource/ branch with logic that decide which server have the resource and redirects or proxy or whatever to that content. And all locations have the same logic. So, wherever you start on, you will access the content of the whole federation.
- nickorlow 3y agoI've thought about trying to do something like this as a side project. For lemmy in specific, I think having a "lemmy directory" that redirects urls to their correct server would be nice. (I.e lemmydir.com/c/homelab would 301 to lemmy.ml/c/homelab. People would register their redirects on a FCFS basis and some amount of activity on the community would be required to register the redirect)
- jdthedisciple 3y agoOh wow so I'm not the only one who felt like this. Having different unsynchronized servers has been a gigantic turn off for me. That's like the one thing that shouldn't be the case with anything social online.
- postpawl 3y agoThe centralized platforms seem doomed to reach a point where they’re squeezing as much cash out of users as they can while users provide their content for free. If we need to create multiple accounts to fight back against enshittification, I think that’s a fairly minor downside for increased competition.
- pessimizer 3y agoCreating and managing multiple accounts is also shitty, if not enshittification. If people have to choose between shitty-hard and shitty-easy, they're going to choose shitty-easy or just opt out entirely. Twitter is just text messages as spectator sport, people can do without it. The real problem is a narrowing range of media in general through active state action, continued consolidation, and the fact that tech multibillionaires just buy outlets like twitter, The Atlantic, the WaPo etc. and use them for egotistical social manipulation instead of to inform and stimulate important discussion. If it weren't for that, twitter would be the celebrity bore that it always was before weird twitter took the piss out of it. Now it's serving as an outlet for every frustration because those frustrations have been censored out of traditional media.
- johnnyanmac 3y agoI mean, Decentralization sells itself on that. Look how well centralized platforms have done this year.
- CaptainFever 3y agoDecentralisation doesn’t necessarily mean federation (the source of “unsynchronised servers”), though. RSS/Atom is still a thing (and more widely supported than ActivityPub). The only issue for microblogs is needing multiple accounts for comment sections, which can be solved by SMTP, anonymous guest posting, social login, or WebMentions (which I don’t really like due to the complexity and federation, but thought I’d mention).
- revskill 3y agoAs i see, the fediverse was born to fight with monopoly systems ?
- platz 3y agoconfused how the author is defining 'application'. Is it a server-side or a client-side entity? Seems to use it interchangeably at different points in the text, perhaps purposefully, perhaps not. Or if there is another property that that defines it as an "Application", what is that? (and how is that different from a 'Resource')
- Pannoniae 3y agoI think the main problem is the cognitive and the technical overhead. Most users just want to use the site, they don't care about the underlying infrastructure. Federated services always have a cognitive overhead (where do I register? who do I follow) which centralised services don't have. The real solution would be a regular, centralised service run by a non-profit.
- David_SQOX 3y agoAny amount of the use of words like "instance" or "federated" just confuse people. "Cognitive overhead" is the perfect phrase for this issue. In the RedditAlternatives sub you can find the most hilarious responses to "I don't understand lemmy, it's way too complicated!". Quickly someone will respond with "It's not complicated at all..." then proceeds to type out a paragraph of instructions and FAQs without a hint of irony. Like you said, users just want to hit the ground running. They don't care if your using php/asp/vbb/[insert a multitude of framework names here]..decentralized, partially centralized...they just don't want to know. For the record I do like Lemmy, but I'm a sucker for novel implementations.
- johnnyanmac 3y agoAre people really struggling to sign up for KBin/Lemmy. The act of subscribing to magazines is a bit confusing but signing up was like any other of the hundreds of websites at this point. Sign up, browse the front page, click in, comment. No more complicated than Reddit.
- kelvinjps 3y agoI think it needs a centralized client that can read all the instace is a easy way like how rss feeds work.
- gremlinsinc 3y agoI'd work on this if I had ramen funding (I can support my family on 3k/mo, with some upwork/Fiverr gigs on the side of need be. I'd set up a social benefit company that's co-owned by workers and contributors. We'll create scoring mechanisms for every action, and for hourly w2 work, etc. Pay out dividends based on your points. Points would also give you power in town meetings, we'd also create the idea of regions so the fantasy and sci-fi region with the GOT, star wars, star Trek, etc subs could meet and decide on matters affecting their subs. Each major sub with 10k or more could schedule a one on one with the board, but issues and feedback are always accepted. Protocol wise the major differences are: we'd centralize auth/login as well as taxonomies like channel names or subreddits, or things like tags. We'd also centralize usernames. Doesn't matter what server you sign up on, your username is still just username, not username@stupidserver.com, and any channel in the Reddit app namespace could only have unique sub names, so AMA could only be added once, so there's that one topic one major community thing Reddit has going for it. The rest of my ideas are TBD, though I'd like if Reddits could have need subreddits.
- tedunangst 3y agoMailing list posts show up on HN all the time, but I've never seen anyone complain that they can't reply right there in the browser.
- INGSOCIALITE 3y agoWhat really grinds my gears is that all of the signup pages and “how to join” pages just say to pick a random instance because it’s federated and it doesn’t matter which one you join. What if the random one I pick gets defederated? Now I need to find a new instance and make a new account? This will make federated services into even MORE echo chamber ultra-moderated spaces than Reddit ever was, as the fear of defederation will cause lockdown policing of wrongthink. I honestly think it may be worse for free speech. Then again, I’ve never joined a federated service and I have no actual anecdote or evidence to back myself up, I’m kind of just spitballing thoughts.
- jayGlow 3y agothe lemmy instance I've looked at is already a terrible echo chamber, as bad as some of the worst parts of reddit. I think defederation is going to lead into more insular communities unfortunately.
- INGSOCIALITE 3y agoI've thought about it further. 'Federation' or decentralization is a fantastic idea. There is really only one way that it truly 'works' as a decentralized service... Each and every user runs their own instance of a federated server. This way, they can 'defederate' anything they please, without affecting the whole. This way there is still no 'central' service that can be monetized, locked down, etc. and all of the federated data is available to all private instances, akin to BitTorrent or a (and I shudder typing this) blockchain. Maybe I'm wrong.
- Qwertious 3y ago>Each and every user runs their own instance of a federated server. That's not federation. Federation is a distinct concept from decentralization; federation does involves trusting a third party of your choice (namely, whoever's running the instance you joined), but simply offers choice of which third-party you choose to trust. The "everyone can run their own server" thing is just a side-effect of federation not blessing anyone with any sort of exclusivity over power to be a third-party. Outside of tech circles, your idea is DOA because nobody wants to run their own server just to use facebook. Plenty of people don't even know what a server is, and had the ISP set up their router (and BTW they don't know what a router is either). With federation, you can still have a fairly normal app and get most of the benefits of centralization. The point of federation is to avoid giving anyone absolute power over the community without recourse, not to completely avoid trusting anyone whatsoever.
- sacnoradhq 3y agoPhony "federated apps" are mostly "fragile self-hosted with linkrot, convenience, and pseudo robustness". Robust federation works as a distributed overlay network and doesn't require any leader. The irreducible issues become: 0. "Which systems should store what data, i.e., blobs (files), entities, and entity sequences?" 1. "How many copies should there be of 0.)?" (1.5. "What will keep scrubbing 0.) for integrity and duplicating 1.) below a given threshold?") 2. "Where should functions against 0.-1. run?" # 3. "How many copies of 2.) should execute?" # 4. "How should the operators of persistent systems recoup the microtransactional costs of compute, storage, and networking of 0.-4.)?" (Client has a pool of credits purchased through some crypto means used to rent storage capacity, net transit, and processing of media, metadata, and code #.) 5. "How many copies of next nodes and node paths do you maintain?" 6. "Which nodes should this node remain connected to?" 7. "How many fixed default nodes can be run around the world to always seed a node's initial network topology?" 8. "How much anti-correlation traffic should fill the encrypted link when there is no traffic?" (Otherwise, it becomes very easy to poison and unmask overlay networks.) # If the platform has a serverless function concept, where it's unknown where it will run until it does.
- kelvinjps 3y agoI would like to see a p2p architecture.Something that relies more on the clients,like how bittorent and rss work
- timbit42 3y agoNostr with the nodes acting as relays, instead of having separate relays?
- lazzlazzlazz 3y agoI agree with almost every comment in this thread, except that few seem to appreciate that "It should be one big fediverse, which instance I use should be completely transparent and irrelevant." is impossible without decentralized permissionless consensus: yes, blockchains. This is the thing they've been calling "web3", as much as HN seems to hate it. web1 -> peer-to-peer decentralized networks without built-in consensus or economics; end up de facto centralized; SMTP, Nostr, RSS, etc. web2 -> corporate owned networks; from iMessage to Tiktok to Reddit, this is most major networks today web3 -> networks whose decentralization is enforced by cryptography and economics; Ethereum being one such example of a programmable network/computer If you don't have cryptographic and economic mechanisms to encourage decentralization and resist centralization, we will just end up with a federated/fragmented system or a centralized one. We will keep repeating this loop over and over again until we fully appreciate that networks need built-in economics or someone else will build it and control them (see git/Github; RSS/Twitter; SMTP/Gmail; many others).
- uni_rule 3y agoIt is really tiresome just how much damage cryptocurrency brain rot did to any remotely novel peer to peer developments made in the last decade.
- VikingCoder 3y agoIf I run a local proxy, it can do all kinds of tricks. Think about VPNs and DNS resolution. If I use an aggregator, it can do all kinds of tricks. Think about Usenet, email, RSS feeds. If you build on top of IPFS or something, there's lots of options. BitTorrent comes to mind. There's lots of options.
- luplex 3y agoSo matrix:// just is a standard URI scheme, seems to solve at least this particular problem for the matrix.org ecosystem. A different problem: While the federated protocols seem to work quite well, there's not enough work on the business development side of it. Or do you know any profitable Open-Access fediverse server?
- ImaCake 3y agoWhy do they need to be profitable? There are plenty of instances that get enough funds to keep things online without any profit motive.
- FireInsight 3y agoInfact, if there was some practice, like advertising, that could make an instance profitable, that would be incentivised. Ad-based instances and others with paid extra features that are not protocol-compatible might start popping up, and fedi would be enshittified, just like it's predecessors.
- ImaCake 3y agoI don't see the link between for-profit fedi instances ruining non-profit ones?
- matricaria 3y agoI don’t understand the problem. The Fediverse already solved this. I can log into my Lemmy instance from any Lemmy app, same with Mastodon. There are also PWAs that do this. Yes, I can’t log in from another instance’s website/frontend, but does it really matter? The real problem is that my identity/account is coupled to the instance. If the instance disappears, so does my account and I lose everything.
- Gareth321 3y agoThere is another problem. Instances are already fracturing and forming tight ideological bubbles. See Beehaw. This means that to access all federated content, one will need to have many accounts on many instances. This is really poor UX.
- matricaria 3y agoI don't think this is a huge problem. You just have to pick an instance that matches your values. I deleted my account on Beehaw as I don't want that much moderation. Others might want it. Sure this could lead to echo chambers/filter bubbles, but that is already the case on every platform. I think most people actually want it that way.
- Gareth321 3y agoI thought Beehaw aligned with my values. Turns out I was wrong. Many of us discovered we were wrong. Beehaw didn’t announce at the beginning their intent to do this. The owner changed their mind at some point and significantly altered the experience for everyone. This is the risk: the capriciousness of the instance owner. This is compounded by the fact that defederation goes both ways. I can’t find an instance which hasn’t blocked at least some other instances. So no matter what, if I want to have access to everything (until such time as I decide to block it), I have to sign up to multiple instances. I also have to regularly check what the owners might have blocked in case I need to sign up for other instances. I tried really hard to like it, but all in all, Lemmy has been a crappy experience.
- 3y ago
- littlestymaar 3y agoGhosh, a second “terrible take about the web” from Hugo Landau in a week (after the “I intentionally mix-up threat models and also I don't understand service workers”[1] we got on monday)… [1]: https://www.devever.net/~hl/webcrypto https://www.devever.net/~hl/webcrypto
- throwawaaarrgh 3y agoAll these discussions sound like people who don't know how cars work, but they do know how to use a wrench, screwdriver, etc, and they try to design new cars. A "federated web app" is literally just a web app that uses OAuth. You can do "more federation" with OpenID or OpenID Connect. It seems "the fediverse" is intended for more of the same, but with specific data types (e.g. "social media data"), which does not seem scalable.
- BerlyBelan 3y ago[dead]