this post was submitted on 07 Dec 2024
80 points (90.8% liked)

Fediverse

28630 readers
777 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to [email protected]!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy

founded 2 years ago
MODERATORS
 

Since we are in the fediverse, I think it would be convenient to have a fediverse-wide resolvable fediverse URI scheme, that would look like so:

fediverse://

edit: Found a relevant FEP: https://codeberg.org/fediverse/fep/src/branch/main/fep/07d7/fep-07d7.md

top 28 comments
sorted by: hot top controversial new old
[–] [email protected] 31 points 4 days ago (1 children)

Changing the scheme doesn't really make any difference if it's still just HTTP underneath. The scheme is just for indicating a protocol. So what's the different protocol you'd actually propose?

[–] [email protected] 8 points 4 days ago (1 children)

Apps (at least on android, no idea both iOS) could claim support for the protocol. Removing the need to claim hundreds or thousands of addresses.

[–] [email protected] 4 points 4 days ago (2 children)

By "claiming addresses" you mean domains? Or what?

You mean because the address in the fediverse scheme would be domain-independent? How in the world would that work? How would it know what to connect to? You're proposing something completely different than ActivityPub at least.

[–] [email protected] 8 points 4 days ago

On android, when you click a link that has an association with an app you get the choice to open the app instead of being redirected to the website. Example picture of boost with a few dozen urls Right now every app developer for the fediverse needs to maintain a list of instances for this. If you had a protocol instead you would only need to specify the one.

[–] [email protected] 2 points 4 days ago* (last edited 4 days ago) (1 children)

Look up what a URL schema is. Examples include https (obviously handled by your browser), ftp, mailto, ms-word etc. The mailto one is most well-known for letting you choose between in-browser (Gmail etc.) and native (Thunderbird, Outlook etc.) options on desktop and mobile. There does not need to be a formal protocol and port, it's just a way to signal support for a kind of content via URL.

[–] [email protected] 3 points 4 days ago (1 children)

Okay, sure you could have apps open links to external posts, as the app would know that it would need to fetch the post by searching the URL (switched with a HTTPS scheme). I can kinda see the point of that. I'm not sure the fediverse and ActivityPub is really super mature enough for that yet. For instance you can't fetch Mastodon posts from Lemmy.

[–] [email protected] 1 points 2 days ago (1 children)

For instance you can't fetch Mastodon posts from Lemmy.

Having a standard URL scheme would precisely help us develop ActivityPub clients and get rid of application-specific servers.

[–] [email protected] 1 points 2 days ago

Doesn't change the fact that Lemmy does not support posts outside of communities.

[–] JubilantJaguar 37 points 4 days ago* (last edited 4 days ago) (2 children)

It's an intriguing idea and might well be in line with the founding principles of the internet.

As I understand it, the URI is supposed to define the type of data you will find at the address, allowing you to use a client dedicated to that type. So: use a Gopher client for gopher:// data, a newsgroup program for nntp:// data, and of course a web browser for http://.

So the issue here would be to define what "fediverse data" actually looks like. This is quickly becoming quite a technical challenge.

Personally I like the idea of standardizing communication paradigms with a protocol, but you do first have to decide what the paradigms are. A few obvious suggestions:

  • IM, or one-to-one message (holy grail! but then not public, by definition)
  • many-to-many text message (IRC)
  • forum post with comments (this thing right here)
  • one-to-many message (Xitter, Mastodon)

Since the ActivityPub protocol seems to be the de-facto glue to this fediverse thing, maybe that's where to look first.

[–] [email protected] 16 points 4 days ago (1 children)

it's not really about the type of data, it's more about how you get it. web browsers could open gopher URIs for a long time, it was just a separate access method.

but the thing is, it doesn't really make a difference today, because we've decided that http is some sort of base protocol.

someone decided to try making a custom matrix:// scheme (it's called a scheme btw) for matrix clients and it's just been a nightmare. clients don't know what to do with the url, servers block it, we had to patch it out to get it to properly encrypt messages to our local homeserver. and matrix just uses http on top anyway.

no, i think they should be reserved for protocols that are important enough to be in the <1000 range of ports. like SSH, or Doom multiplayer.

[–] JubilantJaguar 3 points 4 days ago

Interesting anecdote. Yes I'm aware that the "ht" in http is now basically a historical artifact. It all feels a bit dirty but, as you say, doing things the way the architects intended is probably not worth the effort.

[–] [email protected] 2 points 4 days ago

So http is hypertext transfer protocol. Maybe activity pub transfer protocol could be aptp://

[–] [email protected] 20 points 4 days ago (1 children)

Absolutely not. It should run on HTTP, as a website. Unless you want to build a client which would be somehow fundamentally different from a web browser somehow (note: Lagrange and Gopher Browser are just browsers), which would somehow be able to display data from every use of ActivityPub / "the fediverse" in a different context from a web browser, then no. What we need to build is website software more in line with kbin / mbin, collecting together all the different information of the fediverse into one interface.

[–] [email protected] 4 points 4 days ago* (last edited 4 days ago) (1 children)

It could continue running on HTTP(S). Did you know browsers and OSs can handle different URL schemas than the ones they natively open (http, https, file, data)? Ever saw a mailto, magnet, ms-word etc. URL schema? They can be opened with an in-browser or native app of your choice, and this has worked for years. Yes, clients would need to be patched for support but that's easy. I would only add "instance's native UI" as a fallback for people coming from outside the fediverse.

[–] [email protected] 1 points 3 days ago (1 children)

Mail clients, torrent clients, and word processors are fundamentally different from browsers. Yes, we can implement their base functions inside a web browser, but that's not their function, or their core UX principle. Also, you forgot NNTP. Thee is no value in moving away from HTTP(S).

[–] [email protected] 1 points 3 days ago* (last edited 3 days ago)

We're not suggesting moving away from the HTTPS protocol. Gmail and other web email apps, as well as Word Online etc. still use HTTPS to communicate with their backend infrastructure. They are just registered in your browser as apps that can handle the mailto:// or ms-word:// URL schema. This registering most likely happens automatically when you have visited a page that supports the schema so fediverse:// links would continue working for Fediverse users - they'd see a prompt to open the link with their home instance's web app (its web interface like the default web UI) or a dedicated web app they are already using like Voyager. What would need to change is just a minor thing: browsers would need to offer the default web UI of target instance as fallback: for example, even if you haven't visited any Fediverse site yet, the link fediverse://lemmy.example.com/post/1337 will show "lemmy.example.com web interface" in the "Open with..." option list, redirecting to https://lemmy.example.com/post/1337.

[–] [email protected] 8 points 4 days ago

The disadvantage is, Reddit and other platforms will never add support for [fediverse hyperlink](fediverse://example.com/post/1337) Markdown syntax, or even start blocking it (they can already block known Fediverse domains but there would be backlash if they did).

[–] [email protected] 15 points 4 days ago (2 children)

Not that I'm opposed, but I'm not sure if it's practical to make a fediverse-wide link that's resolvable between platforms since there are so many differences and little incompatibilities and developers who don't directly interact with each other -- or even know each other exist!

Even if it isn't though, it would be nice to be able to do something like lemmy://(rest of regular url) to indicate data from a lemmy(-compatible) server that should be viewable by all other lemmy clients without leaving your particular client and having to open some other website.

[–] [email protected] 5 points 4 days ago (2 children)

silly. this would be like expecting to use IE:// for internet explorer webpages instead of an expected protocol standard like http. defeats the purpose of protocol designed around content not applications.

imagine how shitty email would be if we had to tag the server application somewhere in the uri. silly.

[–] [email protected] 3 points 4 days ago

We do.

It's mailto or mime for the scheme. There's even mbox as a scheme.

[–] [email protected] 4 points 4 days ago (1 children)

It's not a particular protocol right now, but it would be a URI that refers to a specific resource. A protocol could also be defined -- e.g. a restricted subset of HTTPS that returns JSON objects following a defined schema or something like that -- but the point really is that I want to be able to refer to a thread not a webpage. I don't think that's a silly thing to want to be able to do.

Right now, I can only effectively link to a post or thread as rendered by a specific interface -- e.g. for me, this thread is https://old.reddthat.com/post/30710789 using reddthat's mlmym interface. That's probably not how most users would like to view the thread if I want to link it to them. Any software that recognizes the new URI scheme could understand that I mean a particular thread rather than how it's rendered by a particular web app, and go fetch it and render it appropriately in their client if I link it. (If current clients try to be clever about HTTP links, it becomes ambiguous if I mean the thread as rendered into a webpage in specific way or if I actually meant the thread itself but had to refer to it indirectly; that causes problems too.)

I don't think lemmy:// is necessarily the best prefix -- especially if mbin, piefed, etc. get on board -- just that I would like functionality like that very much, and that something like a lemmy URI scheme (or whatever we can get people to agree on) might be a good way to accomplish it.

[–] [email protected] 2 points 4 days ago

if anything, the op had it correct with fedi:// or ap://

the requests and responses standardized as with any protocol regardless of underlying server.

objects in the fediverse are urls. thats just how it works.

apps (clients) accessing that content are outside the scope of the protocol.. its their own implementation problem with how they render stuff (those object urls).

for example; mbin can already consume/ingest a given fediverse thread, post or comment if it has never seen it before (given the url) and render it correctly.

[–] JubilantJaguar 4 points 4 days ago

Upside down, as the other comment says. It should rather be forum:// or similar, i.e. a generic self-explanatory term for the type of data. The branded networks like this one would then follow the standard in order to display properly.

[–] Carighan 8 points 4 days ago (1 children)

How would that work? Who would resolve it?

[–] [email protected] 9 points 4 days ago

Client software (browsers, etc) would need to resolve it, just like mailto:

It certainly should happen, but it's not likely because it takes too much momentum

[–] [email protected] 6 points 4 days ago (1 children)
[–] [email protected] 3 points 4 days ago

You wouldn't need browser extensions to open links on your instance

App maintainers wouldn't need to maintain lists of instances to correctly signal "I can open this" to the OS

So if your Mastodon instance just sprung up, you can just give someone a link like fediverse://masto.darkthough.ts/post/1337 and it will auto-open using the app and instance account of their choosing.

[–] [email protected] 0 points 3 days ago

That would be awesome!