I keep seeing lots of people who are totally giddy about the #Fediverse, who are gushing over it, who want to promote it, who want it to spread.

And who want it to advance. To learn new abilities. To grow new features.

That's all fine and dandy.

But almost all of these people are still fully convinced that the Fediverse equals #Mastodon. And nothing else. At least not until Tumblr and P92 join the fray. Okay, maybe the #WordPress plug-in that's the talk of the town now that it has become official. Okay, maybe a few of them have also heard of #Pixelfed and/or #PeerTube because their makers are all over the Fediverse.

When these people are talking about the Fediverse, they mean Mastodon. And when they're thinking about the Fediverse, they're only thinking about Mastodon. Because that's all they know.

So these people want new cool features or even new cool use-cases in the Fediverse, stuff that Mastodon doesn't have. They want Mastodon to have it, or they want new projects to be launched that have these features.

If only they knew.

If only they knew that everything, literally everything they propose has already been done. Yes, in the Fediverse. In projects which are fully federated with Mastodon. Why don't they know? Because they've never heard of any of these projects, much less what they can do.


So they want "quote-tweets" in the Fediverse. Which means they want Mastodon to introduce them.

Tell you what: Mastodon is the only microblogging project in the Fediverse that doesn't have quotes. Not only will Eugen Rochko never introduce them, but all the other projects have them with Mastodon forks #GlitchSoc such as being the exception. #Pleroma has them. #Akkoma has them. #MissKey has them. #CalcKey has them. #FoundKey has them. #GoToSocial has them. The old heavyweights #Friendica and #Hubzilla have them, and so does Hubzilla's youngest decendant, the #Streams project. Et cetera.

You want "quote-tweets"? Switch to something that isn't Mastodon, and you've got "quote-tweets".


Or text formatting in posts like bold type, italics, underline, strikethrough, code blocks etc. Would be great if Mastodon had that, in spite of other people saying they don't want it.

Again: Pleroma already has it. Akkoma already has it. MissKey already has it. CalcKey already has it. FoundKey already hasit. GoToSocial already has it. Friendica already has it. Hubzilla already has it (look at this post at its source in a Web browser and weep). (streams) already has it. And so forth. This time, even Mastodon forks have it.

It has been done. It has been done many times. It has actually been done before Mastodon.


Next, long-form blog posting. We need something like #Medium in the Fediverse that isn't Medium itself. Mastodon's 500 characters are too few, and Twitter-like threads are inconvenient.

Except we already have that, too. #Plume and #WriteFreely are about as close to Medium as Mastodon is to Twitter, including clean and distraction-less layouts. Oh, and Hubzilla can do that, too.

By the way: Again, Mastodon is the only Fediverse project that can do microblogging that has a 500-character limit. Pleroma, Mastodon's oldest direct competitor, raised it to a default of 6,000. MissKey and its forks have 3,000 as a default. Friendica, Hubzilla and (streams) have character limits of "go ahead, drop your short story in one post in its entirety," so virtually none at all. And yes, Hubzilla has long-form writing on top of that.


Speaking of Hubzilla: Most recently, there has been the idea to uncouple one's online identity from a specific instance. Your online self should no longer be firmly tied to any one server exclusively. Now, this sounds so ambitious, it might just as well be science-fiction.

What if I told you that just this very thing already exists as well?

No, really. No, I'm not making this up. But you should know by now that I'm not.

Better yet: It was conceived as early as 2011. By the guy who launched Friendica in 2010. He invented a new principle named #NomadicIdentity and a new protocol named #Zot. In its early stages already, even with no technical implementation yet, Zot was more powerful than ActivityPub is today.

In 2012, Zot became reality as the basis of a Friendica fork which later became known as #RedMatrix and, upon its 1.0 stable release in late 2015, which is still prior to Mastodon's initial release, Hubzilla. Hubzilla is still being developed and improved, and it has a fledgling but growing "successor of a successor" named (streams) which offers nomadic identity, too.

Now, what does this nomadic identity even look like? Well, not only does it let you move your channel(s) around from instance to instance with ease and, unlike on Mastodon, with absolutely everything on it. No, it also lets you have your channel on multiple instances at once. Identical clones, automagically kept in sync in real-time, all with the same identity, the same content, the same connections.

Your identity is no longer strapped down to one instance. Not only that, but your channel, your posts, your content is no longer hosted on only one server. This means that if one instance with one of your clones goes down, you still have spares.


Okay, so how about community groups/forums? That'd be cool.

Well, for one, there's #Guppe. It's basically bolted on Mastodon, and in practice, it's centralised because there's only one instance. But it's impractical to use.

Besides, this is becoming a running gag here, Friendica, Hubzilla and (streams) have exactly this built-in and open for the rest of the Fediverse.

Better yet: There's also #Lemmy which amounts to a federated #Reddit or #HackerNews clone. So not only does Lemmy offer this, it specialises in it.

Hubzilla alone can provide Fediverse feature suggestions with "has been done" for years to come. Not to mention what else the Fediverse has to offer. Even if someone should want a free, non-commercial, decentralised, federated #GoodReads clone in the Fediverse, it has been done: #BookWyrm.
Netzgemeinde/Hubzilla

@jupiter_rowland

But that is BAD, VERY BAD! So the Fediverse is split into a myriad platforms -- and hence communities -- with incompatible features.

That may be great for the computer nerds who will join a dozen platforms just to revel in the features. It is terrible for those who only want a platform to communicate with other people...

#Fediverse #FediverseFragmentation

@JorgeStolfi @jupiter_rowland Nope, you got it wrong. Hint: count the number of characters in the toot you just replied to—it's well over 500, because it didn't originate on a Mastodon server! It's a federated system, so every client can read stuff posted on any other server that supports ActivityPub. (Imagine you could read Twitter tweets on your Facebook page. Only more so.) If all you want to do is to toot, that's fine—everyone else can see you just fine.

@cstross @jupiter_rowland

But what happens when a message with fancy formatting/threading/etc is read by someone from a server that does not support such features?

@JorgeStolfi @jupiter_rowland The message gets transmitted to the client, whose reader is then responsible for displaying/formatting that message (or not, if it lacks the capability). This isn't new. It's how the internet worked 20 years ago, before all these gigantic corporate silos took over. (I shouldn't need to explain this to you, should I …? Graceful degradation of capabilities isn't an new requirement …)

@cstross @jupiter_rowland

But that is my point. Email and Usenet had a standard message format (ascii text, unfortunately, because that was before Unicode). Every valid server was supposed to issue only compliant messages and properly display any compliant message. This does not seem to be the case in the Fediverse, is it?

@JorgeStolfi @jupiter_rowland Think back to the early web, when a browser like Mosaic didn't support just http: but also ftp: gopher: nntp: and other protocols. The message formatting was implicit in the protocol used. And worse: different browsers implemented different versions of HTML.

@cstross @jupiter_rowland

Hm... IIRC, email and WWW were fairly standardized and interoperable until the internet was opened to the public, and Microsoft imposed its "enhancements" on both, ignoring the standards.

Ftp, nntp, gopher were not variants of http, but separate protocols with their own standards. This does not seem to be the case with all the variants of "Fediverse", is it?

@JorgeStolfi @jupiter_rowland Nope, it's the opposite way around: an interoperable protocol carrying different content types, as opposed to different protocols mostly carrying simple text with optional markup (at least in the early days).

@cstross @jupiter_rowland

FTP, NNTP, and Email were intended for very different types of contents and usage patterns.

Whereas the "different content types" of the Fediverse seem to be all fuzzily intended to carry the same high-level type of content, "mastodon-like posts/messages" -- but don't seem to have firm standards and don't seem to be fully interoperable. That is, the standardization of the protocol is only at the bit transfer level, not at the semantic/usage level. Isn't that so?

@JorgeStolfi @jupiter_rowland You missed out Gopher, WWW, and HyperG, all of which were more or less designed for the same content (hyperlinked text) but used radically different protocols and different/no markup.

The internet has never been standardized the way you seem to think the fediverse should be standardized.

@cstross @jupiter_rowland

I barely used gopher or hyperG before they died out, so I cannot comment on them. But HTTP, like FTP, was meant for a service very different from email. And it WAS well-standardized enough in the beginning.

Whereas - pardon for insisting -- the many variants of "Fediverse" described by the original poster seem to be creating a much worse situation, in which the (ostensibly) same high-level function is being implemented in dozens of *incompatible* formats. >>

@cstross @jupiter_rowland

And is ActivityPub the only "Fediverse" protocol, or are there others still?

@cstross @JorgeStolfi @jupiter_rowland
It strikes me as weird that we're able to have this discussion on a number of different federated ActivityPub servers, using a growing variety of front-ends, and still there are people complaining that it's not working as well as it should, because reasons.

I still don't know what I'm supposed to make of fact that some people don't know the difference between Mastodon and Hubzilla. Well if it comes to that, they don't need to know. It all works just fine anyway, as long as you can grasp that users are identified by at username at instance instead of at username.

@bitnik @jupiter_rowland @cstross

Are we indeed able to dicuss Fediverse-wide? Or just among those who use a particular prootcol (ActivityPub?)?

And even within the latter, there seem to be obvious problems. I don't see any markups in other people's messages (e.g. cant tell block quotes from the sender's own text). And I am limited to 500 byte posts, so I cannot quote 1000 chars from a post that someone else sent me.

@JorgeStolfi @jupiter_rowland @cstross
Yes, it's ActivityPub (which is the only universally supported protocol that can really be said to define the fediverse) and if you want you can chain smaller posts together, or post a link to the text you're referring to.

As for markup, we managed just fine in 7-bit ascii on Usenet, no markup conventions.

@bitnik @jupiter_rowland @cstross

The problem is not whether the character set and markup should be richer or poorer, it is standardization.

I guess that I am asking for an "RFC" of the ActivityPub protocol AND of the markup conventions. So that every conforming server is allowed to issue any but only posts that will be properly and faithfully presented in any other conforming server.

@JorgeStolfi @jupiter_rowland @cstross

While that's a nice-to-have, I don't see markup as a priority. There is a more or less settled standard for ActivityPub managed by a working group within W3C:

https://www.w3.org/TR/activitypub/
ActivityPub

The ActivityPub protocol is a decentralized social networking protocol based upon the [ActivityStreams] 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content.

@bitnik @jupiter_rowland @cstross

The original HTTP format was meant to encode the linguistic information of a document, not its looks. Thus it had section headers, bullet lists, paragraph breaks, italics, and boldface, for the same reason that it had upper and lower case letters: because those attributes affect the meaning of the text, not just its appearance. >>

@bitnik @jupiter_rowland @cstross

>> On the other hand, the early HTML did not specify line breaks or fonts, because those attributes were basically looks, and had better be chosen by the reader according to his display size and environment.

The Fediverse could adopt the same philosophy: yes to semantically relevant markup like italic and boldface, but no font selection or physical layout. So that readers can get the same information from a message, no matter what reading app they use.

@JorgeStolfi @bitnik @jupiter_rowland HTTP is a transport protocol. You're talking about HTML, which was a specialized subset of SGML, a semantic markup language.
@JorgeStolfi @jupiter_rowland @cstross

out of curiosity, what do you see if I use italic or bold text on my platform?

or even a block quote (which I'm sure is not supported by mastodon)

@valhalla @jupiter_rowland @cstross

Does your message above have any such markups? I don't see any -- just plain text, with no italics or bold.

@JorgeStolfi @jupiter_rowland @cstross

that's what I expected: I don't know whether it's my platform (friendica) that sends stuff that knows that the target can read (plain unicode text) or mastodon that specifically ignores the bbcode (yeah, friendica uses bbcode for markup, for historical reasons I believe).
@valhalla @jupiter_rowland @cstross @JorgeStolfi ActivityPub supports markup and the Frendica BBCode gets translated and passed along. It's Mastodon that doesn't support it and throws it away on their end.

@mnemonicoverload @valhalla @jupiter_rowland @cstross

Seems so. Unfortunately, I entered the Fediverse through the Mastodon door...

@JorgeStolfi @cstross @jupiter_rowland #Email has supported different content-types since at least 1992 (https://www.rfc-editor.org/rfc/rfc1341) with no guarantee any given client supports any given content-type, none of this is new.

#Usenet & #Fidonet also had ways prior to #MIME, such as via extension headers (with flaws that MIME addressed).

RFC 1341: MIME (Multipurpose Internet Mail Extensions): Mechanisms for Specifying and Describing the Format of Internet Message Bodies

@lispi314 @cstross @jupiter_rowland

I was referring to email before the internet went public (first used it in 1979). But even after that, the basic message format and the MIME extensions were tightly defined by half a dozen RFC documents published between 1992 and 2008. >>

#Fediverse #FediverseFragmentation

@JorgeStolfi @cstross @jupiter_rowland Before MIME there were other more haphazard & often non-standard solutions that also had partial support in various clients.

Even with a good standard, there's no guarantee anyone implements all of it (nevermind when there's no standard and just a few informal agreements between specific projects).

@lispi314 @cstross @jupiter_rowland

But MIME and its earlier hacks (uuencode etc) were not really the same kind of problem. Those solutions were providing an additional service (file exchange) by protocols that ran on top of standard email protocol, rather than as alternatives or variants of it.

@JorgeStolfi @cstross @jupiter_rowland I think that multi-part content-types as embedded protocols rather than built-ins is more the consequence of a technical implementation choice (in the standards) than something fundamentally different in a logical sense.

The normative spec also explicitly acknowledges the lack of an expectation for full support of everything other instances might support (https://www.w3.org/TR/activitystreams-vocabulary/#introduction).

Activity Vocabulary

@JorgeStolfi @cstross @jupiter_rowland In practical terms when you get something with no available fallback what happens is that you simply get a link by your instance (if you're using #Mastodon) to view the Activity on its originating instance which presumably has the means to display it.

If you have a thin-server that uses a fat client, that assumption will be violated however.

You can currently see that when following #Peertube accounts from Mastodon.

@jupiter_rowland @cstross @JorgeStolfi ActivityPub is that standard. Just because the client you're using doesn't bother to make use of some of that standard, doesn't mean there's not one. If the email client you choose to use only displays in plain text with no formatting, does that mean there is something wrong with the standards for email message formatting? NO, you're just choosing to not use all the features you prefer.