71
submitted 1 year ago* (last edited 1 year ago) by toasteranimation@lemmy.world to c/fediverse@lemmy.world

error loading post text

you are viewing a single comment's thread
view the rest of the comments

Hubzilla is a "social content management system", so-to-speak. It's actually an absolute feature monster.

It's kind of a derivative of Friendica by Friendica's own developer who also created the protocols that each one of them is based on (DFRN for Friendica, Zot for Hubzilla). It inherited several features from Friendica: Post length is virtually unlimited. Text formatting is supported through BBcode which includes embedding of images and other media within the text, and which has been enhanced further on Hubzilla. Both have supported public groups/forums from the beginning, as well as a public calendar.

Friendica had organisation of contacts in groups before Diaspora*'s aspects (which some think were the first of their kind), let alone Google+'s circles (which everyone else thinks were the first of their kind), but Hubzilla expanded them with privacy features. Generally, Hubzilla has one of the most advanced access/permission control systems in the Fediverse.

Both have built-in file hosting which is also used for embedded images and other media. Instead of your pictures being stored "somewhere", you always know where they are because you've put them there.

Friendica mostly became famous for the many services and protocols it federated with. Diaspora*, OStatus, e-mail, RSS (in both directions), WordPress (with no plug-in in WordPress), Tumblr, Libertree, Twitter (!), even Facebook (!!!) for a few months before Facebook changed its TOS. Hubzilla took most of these connectors over.

Now comes some of what Hubzilla has on top, some of which is optional and has to be activated by the user:

  • WebDAV access for the file space

  • private CardDAV address book (I'm not kidding)

  • an additional system of private CalDAV calendars (yes, separate from the calendar inherited from Friendica)

  • long-form article writing using BBcode (and I'm not talking about posts, this is fully separate and a nice way of showing formatted text with embedded pictures to Mastodon users)

  • a wiki system based on BBcode and Markdown + a bit of HTML, allowing for multiple wikis (I'm still not kidding)

  • a simple webpage engine based on BBcode, Markdown and HTML

That's why Hubzilla is a "social CMS". You can do everything with it and then some, just pick what you need. The official Hubzilla website itself is a Hubzilla channel.

Speaking of which: One major organisational difference between Hubzilla and almost the entire rest of the Fediverse is that your content is not stored in your account. Hubzilla (when it was still young, in development and named Red Matrix) introduced a system of "channels". That's where your content goes.

When you register your first account, you automatically create a channel along with it. The channel is your home, your online identity. The account is only necessary to access the channel. You can have multiple channels on the same account, i.e. multiple fully separate identities with one login, and you can switch between them while logged in. Of course, on top of that, Hubzilla still has Friendica's feature of multiple profiles per channel (per account on Friendica) so that you can show the same identity to different connections in different ways and with different details.

The channel system became necessary for the introduction of another one of Hubzilla's killer features: nomadic identity. This goes way beyond account migration. Essentially, you can have the same channel on multiple hubs. Not independent, disconnected copies, but the exact same channel with the exact same content and even the exact same identity.

It works this way: When you register an account on another hub, and you already have a channel, you can choose to clone that channel to the new hub. Not only does this create an identical copy of your channel with everything in it. It also links the original ("primary instance") and the copy ("clone") together and makes sure they always stay in sync. So whatever happens to change on one instance is mirrored to the other one in near-real-time.

You can basically have as many clones as you want to have. If one instance goes down, the others continue to work. And if you have multiple channels, you can mirror them to separate hubs; you don't have to have all of them on the same hubs.

The ID is derived from the hub which the primary instance is on and includes its domain name. The primary hub can be switched if necessary, for example if your original primary hub will or has shut down. This will also change your ID accordingly. One downside is that you have to re-connect all your non-nomadic bidirectional connections (Mastodon, Lemmy, Diaspora*, Friendica etc.).

Last but not least, another nice feature introduced by Hubzilla is a single sign-on system called OpenWebAuth. When you're logged into any hub on which you have an account, and you visit any other Hubzilla hub or other website that supports OpenWebAuth, your login credentials are recognised, and you're treated like logged into that site, only that you obviously don't have all features you'd have with a local account. So you can post directly onto the "walls" of other Hubzilla channels, regardless of on which hubs they reside, but you can't create a channel without an account. Mastodon is said to plan to introduce OpenWebAuth, too.

There's another Fediverse project with nomadic identity, by the same developer yet again. The result of of a long and somewhat convoluted series of forks from Red Matrix which persisted beyond Hubzilla's stable release as an experimental platform.

The project itself is deliberately, intentionally nameless (!) and brandless. But since the code repository needed a name, it was named Streams. So the project is commonly being referred to as (streams), but most instances don't identify as that; they tend to have individual identifications and logos because these can be customised.

In comparison with Hubzilla, (streams) is cut down a lot, offering only Friendica-level "basics" and external federation only with ActivityPub which, on the other hand, is greatly improved.

The original idea behind (streams) is no longer to have a jack-of-all-trades that has all kinds of features imaginable and unimaginable readily built in for admins and then users to activate. This part of Hubzilla's concept made it rather unfit for specialised hubs because the hub admin first had to remove what was unnecessary.

(streams), on the other hand, is fairly bare-bone, and the idea is that creative admins capable of coding can and shall develop their own additions on top of it, ideally also share them. At the same time, (streams) gained some interesting new features such as additional Markdown and HTML support in posts.

Since (streams) is based on a newer version of Zot, now named Nomad, it federates with Hubzilla quite well, and both understand the other's nomadic features. It's even possible to mirror a Hubzilla channel to (streams) (minus the features that (streams) lacks, of course), but not the other way around.

[-] Onurb@lemmy.world 2 points 1 year ago

Wow how haven't i heard of hubzilla before? Wow autocorrect doesn't recognize it either😄 And thank you for the excellent write up.

load more comments (1 replies)
this post was submitted on 17 Jul 2023
71 points (96.1% liked)

Fediverse

28518 readers
166 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 !moderators@lemmy.world!

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