Other languages:

{{Cleanup |text=This article is too long and detailed for a beginners guide and "What is" page. Some of it should probably be moved to Hubzilla.

Hubzilla logo
Hubzilla
Website hubzilla.org
List of instances fediverse.observer


Hubzilla is a very powerful "jack-of-all-trades" in the Template:Internal Link, often described as a decentralised social content management system, but with social networking, microblogging and cloud features.

It evolved from a Facebook alternative and still offers Facebook-like social networking. On top of that, it can be a replacement for services like Dropbox, Google Cloud Storage, Google Calendar, Google Contacts and many others.


What does Hubzilla feel like?

Overall feel

With its immense wealth of features, Hubzilla is not exactly for Fediverse novices. It doesn't look or feel like any of the several microblogging projects in the Fediverse, nor does it mimic the look and feel of any one particular commercial platform.

The most similar Fediverse project comes from Template:Internal Link, followed by Template:Internal Link, also because Hubzilla was forked from a Friendica fork. None of them offers quite as many features as Hubzilla, though.

Hubzilla's Web interface is extensively themeable, much like wholly different Web interfaces for Template:Internal Link, but as of now, there is only one supported theme, Redbasic. It can be extensively configured, though. It also has a dark mode that can be activated manually or automatically.

There is only one mobile app that works with Hubzilla: The third-party app Nomad is only available for Android and only from F-Droid or as an APK download. Also, it has not been maintained since October 2019. There is no Hubzilla app on the Google Play Store, and there is no Hubzilla app for iOS at all. See also under external links.

Template:Internal Link apps don't work with Hubzilla.

Nomenclature

  • instance = "hub"
  • timeline = "stream"
  • reply = "comment" (which is different from a post; see below)

Accounts

On Hubzilla, your account is neither your identity nor where your posts and other data are stored. For this, Hubzilla has Template:Internal Link. When you create a Hubzilla account, you're also asked to create a first channel.

You can add more channels on the same account anytime. This way, you can have multiple fully separate identities with only one login for them all. Each channel acts like a fully separate account on most other projects. Connections, posts, uploaded files, everything is individual per channel.

On top of that, Hubzilla kept Friendica's multiple profiles per account and optionally offers multiple profiles per channel. You can assign specific profiles to your connections and show them different sides and aspects of your identity.

A channel can have several roles. It can be your personal social networking identity and/or your personal cloud storage, it can be a soapbox, it can be a moderated public or private forum/discussion group etc. There are several pre-defined channel roles, and customising the channel role is possible, too.

Also, channels aren't bound to one hub. They also make Template:Internal Link possible: You can clone any of your channels across two or more hubs, and these clones always stay in sync. It basically gives you real-time backup.

Channels can be exported in their entirety with an optional built-in "app", and they can be imported into accounts. This is not for moving channels which nomadic identity can handle much more easily and gracefully, but rather for local backups.

Hubzilla supports single sign-on via Template:Internal Link. If you're logged in, other instances with OpenWebAuth can recognise you and, for example, give you special permissions. OpenWebAuth even takes into account which one of your channels is currently active.

Connections

Connections are generally either only out-going or mutual. There are no followers without following back. That's because all connections have to be confirmed, either automatically or manually, and when they're confirmed, they're also followed back.

Each connection can be configured extensively. It can be assigned a contact role which is a customisable set of permissions. It can be added to one or several privacy groups which are similar to Friendica groups, Template:Internal Link aspects, Google+ circles or Mastodon groups. It can be assigned a profile if multiple profiles are activated. It can be blocked, ignored, hidden or archived, and so forth.

Hubzilla itself is not based on ActivityPub. Support for ActivityPub is established through an "app" named Pubcrawl which is optional for both hubs and channels. At hub level, it is on by default. On channel level, however, it has to be manually activated ("installed") before connections to Mastodon & Co. can be created.

In addition, Hubzilla federates with diaspora*, the OStatus protocol and even e-mail. Channels can subscribe to RSS and Atom feeds, and they generate their own RSS feeds. Posts can be forwarded to WordPress and other blogs that use XMLRPC. Hubzilla also used to be fully federated with Twitter/X which is now reduced to an optional crosspost connector.

Streams

Streams are Hubzilla's timelines. The equivalent to Mastodon's personal timeline is the channel stream. However, it is more flexible: Only direct messages, posts/comments marked with a star or posts/comments from the channel itself can be shown. Also, all posts/comments from a certain privacy group, all threads from a certain forum (amongst others, Hubzilla recognises Friendica discussion groups and Template:Internal Link communities as such), all filed posts/comments from a certain category (similar to Mastodon's bookmarks, but with folders as categories) can be shown, and all posts/comments from a certain contact can be shown.

Hubzilla does not have anything like Mastodon's local timeline. There is also the public stream, pubstream in short, which is the equivalent to Mastodon's federated timeline. It can be activated by the hub admin, it is off by default, and most hubs keep it off in order to stay out of trouble because it is unmoderated.

All timelines have three sorting algorithms: threads by most recent post; threads by most recent comment; unthreaded single posts and comments. The sorting for the channel stream can be selected by the owner, the sorting for the pubstream can only be selected by the admin.

Posts

Just like Friendica, (streams), Lemmy and Template:Internal Link, Hubzilla has a different thread structure than most of the rest of the Fediverse. Most Fediverse projects have threads like Twitter/X which consist of any number of technically identical posts. Friendica, Hubzilla and (streams) are more like Facebook, Tumblr, forums or comment sections on blogs or news sites: Their threads consist of exactly one post at the beginning, and everything that follows is not a post, but a comment.

Posts and comments even have separate entry masks: The one for posts is at the top of your personal stream, the one for comments is below each post.

Comments always have the same access permissions and the same visibility as the post they belong to. Only the author of the post can change them for the whole thread.

Also, the author of a post can moderate the thread following the post and delete comments.

Unlike on micro-blogging projects, posts can have a title which is also federated to Lemmy and /kbin. Writing the title of a new post at the top of the post is not necessary.

What micro-blogging projects use for content warnings is used for its original purpose on Hubzilla, namely as a summary. This is also because posts and comments have a practically unlimited character count. Technically, it's usually a high five-digit number, and it's configurable by the hub admin.

Hashtags are handled slightly differently because they can include more characters, and usual Mastodon tricks for interrupting hashtags don't work.

In addition to hashtags, posts can be given one or multiple categories. These are only used within the channel and can help finding posts.

Hubzilla has very extensive text formatting capabilities. It uses BBcode as its internal markup language for posts and comments. Specific expansions of Hubzilla's BBcode implementation can even make a post or a comment appear differently, depending on the on-looker, especially in conjunction with OpenWebAuth.

The handling of images and other media is a lot different from Mastodon and other micro-blogging projects. They aren't uploaded and attached to posts. Instead, they're first uploaded to the managed file space which is part of each channel. Then they are embedded into posts or, with a trick, comments as links to the uploaded files. Template:Internal Link and theoretically unlimited in length, too.

The number of images and other media that can be added to posts is practically unlimited again. Also, they can be placed anywhere in a post. However, Mastodon will convert only the last four to file attachments, move them from within the post to below it, reverse their order and completely discard the others if there are more than four.

There is also the possibility to attach a file to a post. It is then uploaded to the file space, too, so you always know where these files end up.

Posts and comments can be edited and deleted at any time. Any following comments will be deleted along with them. Posts or comments sharing a post or a comment that is deleted are not deleted.

Posts and comments from connections can be liked and disliked (another feature introduced by Friendica), and all posts and comments can be "saved in folders" for easier access. In addition, posts can be marked with a star which is only used internally; Mastodon's stars are likes just like those on Hubzilla.

Quoting

Hubzilla supports and can generate standard-compliant quotes. It doesn't have a dedicated quote button; the reply button generates a quote when at least a part of the post or comment to be quoted is marked first.

Like everything else in posts and comments, quotes are generated with BBcode in a fashion not dissimilar from how this is done in bulletin board forums. This means that quotes can be shortened to excerpts and/or split. In theory, it's even possible to quote multiple sources. In practice, this doesn't make much sense because a comment is always a follow-up to only reference one post or comment.

Sharing

A feature like "retweeting" on Twitter/X, "reblogging" on Tumblr or "boosting" on Mastodon, i.e. forwarding posts as they are, is not available on Hubzilla.

Instead, posts and comments can be "shared" by referencing them in a new post or comment. It's basically the same as a "quote-tweet", but without copying the original post into the editor. For those who receive the post or comment, the reference is expanded to the whole shared post or comment, mentioning the author and giving a link to the original.

It is possible to share multiple posts/comments in one new post/comment.

Direct messages

Direct messages are available, too. To keep them private without having to set the access rights manually, the contacts to which a direct message is to be sent are mentioned with @! instead of only @. For obvious reasons, they cannot be shared. Otherwise, they are like posts.

Other features

Here are some more of Hubzilla's features, some of which are optional and not necessarily available on each hub.

Search

Hubzilla has a very versatile search that can find posts by full text, hashtags or URL. It can also search for channels/accounts including specifically forums, and it can search the built-in documentation. Searches can be saved to be repeated.

Some hubs may have their local public search deactivated by the admin.

Polls

Just like most other things on Hubzilla, the number of choices on polls is practically unlimited. Polls also offer multiple choices as an option.

Automated content warnings

The optional "app" NSFW can automatically put entire posts, comments and direct messages with all their contents behind a content warning button. In comparison with using filters to do the same thing on Mastodon, the configuration is both easy and flexible: There is only one text field with a comma-separated list of keywords. If one of them is detected in an in-coming message, it is replaced with a button with the detected keyword on it. The list supports words and regular expressions, and even languages can be filtered positively or negatively.

Because of this app, it is generally recommended to add the word "NSFW" or the hashtag "#NSFW" to posts, comments and direct messages with "adult" content; "NSFW" is one of the two default keywords.

Chat

Hubzilla channels can optionally have their own chat. Access to this chat is regulated by the channel owner.

Channel sources

The optional Channel Sources "app" automatically reposts all posts coming in from one or multiple connections. The source is always named, but the posts are not shared in Hubzilla's usual sense.

File space with WebDAV

Each Hubzilla channel has its own file space, complete with a built-in file manager. It supports subfolders with variable access permissions, and it has a WebDAV connector, so it can be used as a cloud file storage.

Calendars with CalDAV

Hubzilla has not one, but two separate calendar systems.

One is the public calendar which it inherited from Friendica. It can display upcoming events in your sidebar and notify your followers about upcoming events.

The other one is a private calendar server with CalDAV access. It can only display upcoming events in your sidebar. CalDAV calendars can be shared with other Hubzilla channels, optionally with write access.

CardDAV

Hubzilla also offers a CardDAV address book, but it doesn't have a graphical frontend.

Bookmarks

The optional Bookmarks "app" is for bookmarking links in posts or comments. These bookmarks can be private or shared with other Hubzilla channels.

Articles

While formatted blog-style long-form posting is perfectly possible in normal Hubzilla posts, it also has an optional dedicated "app" for that. Articles can act like a blog with its own set of categories. It doesn't generate an RSS feed, though, and posted articles are neither forwarded nor advertised to connections; advertising them has to be done manually.

Articles support BBcode for text formatting.

Wikis

Another optional "app" is Wiki which makes it possible to have multiple separate wikis on any Hubzilla channel, each with multiple pages. Instead of a dedicated wiki markup language, they use either BBcode or Markdown for formatting with a few additions typical for wikis.

Other Hubzilla channels can be allowed to edit wikis on a channel with a special contact role.

Webpages

Hubzilla can optionally even used as a webpage host, using the optional "app" Webpages. These pages can be formatted with BBcode, Markup or HTML. By default, they have to be rather simple, but the capabilities of Webpages can be expanded by the hub admin.

Hubzilla's own official website is running on a Hubzilla channel.

Comparison with other projects

What are some advantages over Mastodon?

  • Federates with diaspora* and StatusNet
  • Connections with channels or entire instances of Hubzilla or (streams) that have ActivityPub off
  • Native WordPress crossposter that makes WordPress federation fully bidirectional
  • Optional automatic night/dark mode
  • Multiple channels per account; no need to have multiple accounts
  • Multiple profiles per channel
  • Nomadic identity makes your content resilient against instance shutdown and moving your entire channel with everything on it very easy
  • Full channel export for backup
  • Moderated public and private discussion groups/forums (which are channels with specific role settings and thus can be nomadic themselves)
  • Single sign-on through OpenWebAuth (planned for Mastodon)
  • Very detailed permission settings
  • Very easy Facebook-style point-and-click group editing plus adding connections to groups in the connection editor
  • Preview buttons for posts and comments
  • Virtually unlimited post length
  • Summary (content warning on Mastodon & Co.) actually hides the whole post including all images
  • Quotes fully supported
  • Much more text formatting can be displayed (headlines, horizontal rules, spoilers, text colours, highlight colours etc.)
  • Text in own posts/comments can be formatted
  • Hyperlinks concealed under text can be created as a more elegant alternative to the URL in plain sight
  • More than four images per post/comment
  • Images anywhere in the text instead of only below it
  • More than four poll options
  • More characters possible in hashtags (double-edged sword)
  • Moderate your own threads, delete comments in them
  • Managed file space for images and other files, you know where your files are
  • Images aren't compressed or shrunk when uploaded
  • Add the same image to as many posts/comments as you want without re-uploading it
  • Easy-to-use automated reader-side content warnings (NSFW app) which also hide the whole post
  • Lots of additional features
  • Can integrate third-party add-ons
  • Code repositories not hosted on GitHub

What are some limitations/drawbacks in comparison with Mastodon?

  • No official mobile app named "Hubzilla"
  • No iOS apps available, no alternative to the Web interface on iPhone and iPad
  • The only working Android app, Nomad, is abandoned and hasn't been maintained in years
  • Incompatible with Mastodon apps
  • Cumbersome, maze-like default Web UI that hasn't changed much since 2012
  • Much more difficult to use
  • Incomplete and partially very outdated documentation
  • ActivityPub is deactivated on new channels by default and has to be manually activated
  • No Unlisted setting
  • No per-post language choice
  • No built-in translator
  • No "Mastodon-style" content warnings for comments
  • No boosts; only does quote-tweet-style "shares" instead
  • Existing content warnings aren't automatically taken over when replying
  • No automatic mentions when replying (unnecessary for Friendica, Hubzilla and (streams), but mandatory for Mastodon & Co.)
  • Separate way of mentioning privately may be confusing
  • Post and comment editors geared towards desktop/laptop computers with hardware keyboards
  • Adding images to posts much less straight-forward
  • Alt-text has to be manually edited into BBcode, no official documentation for this and no UI element either
  • Posts and comments often not shown on Mastodon as they were written due to incompabilities
  • Ignores not given full-text search opt-in
  • Regular filters are impractical to the point of bordering on useless, depending on the intended use-case
  • Not nearly as many channels possible on one hub as accounts are possible on one Mastodon server

What are some advantages over Friendica?

  • Connections with channels or entire instances of Hubzilla or (streams) that have ActivityPub off
  • Multiple channels per account; no need to have multiple accounts
  • Nomadic identity makes your content resilient against instance shutdown and moving even easier (Friendica was the reason why nomadic identity was invented)
  • More advanced permission settings
  • Dedicated summary field
  • Polls which have been completely removed from Friendica
  • WebDAV for the file space
  • Lots of additional features

What are some limitations/drawbacks in comparison with Friendica?

  • No compatibility with Mastodon apps
  • Only one Web UI theme available, and it's stuck in 2012
  • No tree-style thread view
  • No indicator which project a post or comment came from

Further reading

Template:Internal Link
Template:Internal Link
Template:Internal Link

External links

Main article: Weblinks