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
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?
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.
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.
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. 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.
Look up what a URL schema is. Examples include
https
(obviously handled by your browser),ftp
,mailto
,ms-word
etc. Themailto
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.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.
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.
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 amailto
,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.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).
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://
orms-word://
URL schema. This registering most likely happens automatically when you have visited a page that supports the schema sofediverse://
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 linkfediverse://lemmy.example.com/post/1337
will show “lemmy.example.com web interface” in the “Open with…” option list, redirecting tohttps://lemmy.example.com/post/1337
.
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).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 fornntp://
data, and of course a web browser forhttp://
.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.
That would be awesome!
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.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.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.
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.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.
We do.
It’s mailto or mime for the scheme. There’s even mbox as a scheme.
How would that work? Who would resolve it?
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
To what end?
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.