He created the project the-federation.info that makes statistics with Diaspora, Friendica, Hubzilla and Socialhome and others social networks. The idea was to offer a few words about each project and provide links to their project pages, in addition to showing some numbers.

From the start the idea was to create a library that abstracts multiple protocols under a common API. Not quite there yet, but now that ActivityPub is mature, the plan is to add support for that within the early months of 2018. The library will never be a one-to-one mapping to Diaspora or ActivityPub, but rather an opinionated API for both.

With Socialhome I’ve tried to take the best features of all the platforms I’ve used and merge them together into my own dream platform. It has a (up to) 4 column grid layout like Pinterest, which supports visually rich content and reading through lots of content fast. It supports lengthy Markdown (and HTML/JS/CSS for trusted users) formatted blog post like content, but also works totally fine for micro-blogging. One of the key features that will be added will be highly customizable streams like for example Tweetdeck has for Twitter. I also want to enhance the blogging features for things like anonymous comments, allow full text searching and other neat tools not available in many existing platforms.

Thanks for joining us today, Jason! Could you take a moment to describe yourself, and what it is you do?

You started out in the space as a contributor to the Diaspora project. What kind of contributions did you make?

You run the-federation.info — could you tell us a little bit about that project and how it got started?

How did the social relay solution come about for Diaspora? What problem does it solve?

You’ve been working on a federation library in Python for almost two years now. Why Python?

What inspired you to start Socialhome? How is it different from Diaspora?

What kind of things are on your development roadmap?

What is the most challenging thing that you have worked on so far?

Do you have any advice for people in this space that might want to start their own project?

Don’t be afraid to start. Your project doesn’t have to be successful, or even something you end up using yourself. Start hacking, work on things you want and always ensure to have fun. Don’t listen to other people telling you what is good and how you should do something. Experimenting is key to learning.

You can install hubzilla on a domaine or subdomaine. For this example let’s install on hub.supername.com You should create the subdomaine and a database (note the name, the hostname of the database and the password)

How to install hubzilla with SSH

If you know ssh and linux command line, this solution is the best for you.

For Christmas a new version of Hubzilla is out. One year after version 1, this version has now better database capability, a wiki that works well, a new twitter API and lots of User Interface bahaviour improved. Hubzilla with the nomadic identity is really a software that goes where anyone has gone.

Here is a somary writen by Mike the founder of Hubzilla

The database driver has now been converted to PDO, which was the last remaining work to be done to bring the project up to what we call an « enterprise grade » architecture and began exactly a year ago. In the process of doing this work, we fixed a lot of compatibility issues with postgres – which should now work reasonably well.

The wiki and help pages (project documentation) had a number of usability issues and all of the known issues have been addressed. Wiki pages can now be created in bbcode, which is much more expressive in its ability than markdown.

The API was redesigned and many of the base functions are now documented. The Twitter API was moved to a plugin so you can still use Hubzilla with hundreds of third-party apps and social clients.

The ‘hl’ (highlight) tag was added to our reportoire by request.

Lots of UI behaviour changes to streamline the flow and ease repetitive tasks. Too many to list individually. The « left side » menu was also made ‘sticky’ to ease navigation on lengthy and infinite content pages.

Zot, the base protocol was extended to allow negotiable encryption algorithms; allowing sites to create their own encryption stacks and harden their communications against state-sponsored actors.

Edited posts and comments will now appear on Diaspora (which does not support editing of posts and comments). There were several other fixes for Diaspora protocol and communications issues.

Superblock was re-written entirely and it is now much easier to remove blocked channels from the blacklist. It is also much harder for their posts to appear in your stream anywhere, and they can never write on your wall; even if you have relaxed comment permissions.

In addition we fixed hundreds of bugs and fixed a lot of « little stuff » that nobody complained about, but we felt should be improved to make this a world-class app.

Since 1.0 – the entire project has been re-written and completely re-architected to provide an enterprise-grade software base going forward. All corporate and external dependencies have been moved to plugins. Most anything that was limited « by design » was reworked and the limitations removed; for example the permissions infrasrtucture. Along the way we introduced new functionality in most areas of the platform and continued re-working the UI to make it more consistent and usable. The project also supports three base modes (but this could be extended) to provide functionality tuned to different uses such as for federation or enterprise use. The list of individual changes since 1.0 is quite staggering. I haven’t done a count but I believe it probably represents around a half a million lines of code changed; possibly much more than that. The total amount of work is quite impressive given the small team and numerous distractions we faced from critics and trolls along the way.

A January 2009 Compete.com study ranked Facebook as the most used social networking service by worldwide monthly active users. Facebook is a social networking service launched in 2004, owned and operated by Facebook, Inc. In 2012, Facebook has over 955 million active users.

Facebook was founded by Mark Zuckerberg with his college roommates. The website’s membership was initially limited by the founders to Harvard students, but was expanded to other colleges in the Boston area.

Facebook has affected the social life and activity of people in various ways. With its availability on many mobile devices, Facebook allows users to continuously stay in touch with friends, relatives and other acquaintances wherever they are in the world, as long as there is access to the Internet.

He created the project the-federation.info that makes statistics with Diaspora, Friendica, Hubzilla and Socialhome and others social networks. The idea was to offer a few words about each project and provide links to their project pages, in addition to showing some numbers.

From the start the idea was to create a library that abstracts multiple protocols under a common API. Not quite there yet, but now that ActivityPub is mature, the plan is to add support for that within the early months of 2018. The library will never be a one-to-one mapping to Diaspora or ActivityPub, but rather an opinionated API for both.

With Socialhome I’ve tried to take the best features of all the platforms I’ve used and merge them together into my own dream platform. It has a (up to) 4 column grid layout like Pinterest, which supports visually rich content and reading through lots of content fast. It supports lengthy Markdown (and HTML/JS/CSS for trusted users) formatted blog post like content, but also works totally fine for micro-blogging. One of the key features that will be added will be highly customizable streams like for example Tweetdeck has for Twitter. I also want to enhance the blogging features for things like anonymous comments, allow full text searching and other neat tools not available in many existing platforms.

Thanks for joining us today, Jason! Could you take a moment to describe yourself, and what it is you do?

You started out in the space as a contributor to the Diaspora project. What kind of contributions did you make?

You run the-federation.info — could you tell us a little bit about that project and how it got started?

How did the social relay solution come about for Diaspora? What problem does it solve?

You’ve been working on a federation library in Python for almost two years now. Why Python?

What inspired you to start Socialhome? How is it different from Diaspora?

What kind of things are on your development roadmap?

What is the most challenging thing that you have worked on so far?

Do you have any advice for people in this space that might want to start their own project?

Don’t be afraid to start. Your project doesn’t have to be successful, or even something you end up using yourself. Start hacking, work on things you want and always ensure to have fun. Don’t listen to other people telling you what is good and how you should do something. Experimenting is key to learning.

This release is dedicated to the memory of Tony Baldwin a.k.a. Tazman, a Friendica/Redmatrix/Hubzilla enthusiast and contributor, who passed away last week.

Before pointing out the notable changes in the 3.0 release, here is a summary of what we accomplished during the version 2 release cycle (2017). We released 4 shiny Hubzilla versions with about 3101 commits from 21 contributors. The main focus was on:

CalDAV/CardDAV integration
In Q1 2017, we made a strong effort to merge CalDAV and CardDAV into Hubzilla as a native interface. This would allow easy federation with events and contacts amongst hundreds/thousands of existing utilities. Significant progress was made (and this led to several new features) but the effort stalled around March. We were not (at the time) able to resolve serious incompatibilities with nomadic identity, access control, server-to-server authentication, and rich-text support. Significant progress was made in all of these areas over the remaining course of the year however, and this integration effort is expected to resume in early 2018.

Consolidation of server roles
Server roles were removed/merged early in the year. These were initially provided to solve incompatibilities between nomadic identity and external network federation (such as Diaspora, GNU-Social, and later Mastodon). The incompatibilities still exist. It was decided that network federation should be available to anybody who wants it; and they can decide how important channel backup and live mirroring is to them personally. If a hub administrator wishes to make that decision at a site level, they can do so by not installing the external network addons.

Communication protocols
Once a resolution was reached regarding Server Roles, work proceeded in earnest upgrading and extending the external network protocol addons (Diaspora, OStatus, and later the emergent ActivityPub protocol). Each of these underwent huge development efforts. The Diaspora protocol was completely upgraded to the « new protocol ». Ostatus was extended to provide better compatibility with Mastodon and « conversation fetching » added to solve known issues with the OStatus delivery model. We had one of (if not) the first available working implementations of the ActivityPub protocol some time in June or July. It wasn’t officially released until Q3 2017, which was a couple of months after the first official Mastodon ActivityPub release.
Our primary protocol (zot) has been in use for over five years. While still being well suited to its task, is starting to show signs of age. In 2016 it underwent a number of crypto improvements to help ‘future-proof’ it. Work began on Zot/6 in Q3 2017 to bring it up to the present state of the art. This work is ongoing and the full benefits won’t be seen until Q2 2018 (projected), but pieces of the new protocol are already in place and improving things right now. The first major piece was OpenWebAuth, which builds on HTTPSignatures to provide a streamlined and standards-based cross-domain authentication layer.

Theme and UI
Project navigation and the notification system were the primary focus of UI/UX development. Navigation and the pre-existing ‘Apps’ feature were first integrated and then extended. Then the notification system was moved from the top ‘navbar’ to a dedicated page widget in the base theme, integrating it more closely with the content.

Media/Files
Cloud storage and media management underwent signficant development, climaxing in Q4 2017. One of the first components of this work was to provide uploads of « unlimited » size across all the existing tools; instead
of only through WebDAV. Processing of photos was also reworked to handle the larger images from state of the art digital cameras; which were causing memory issues in the original architecture. Finally a ’tile view’ was added to the cloud/file web viewer providing a more modern looking page.

Core
Documenting all of the previous work and efforts required improvements in the Wiki and Webpage content features, and ‘Cards’ were added to provide interactive development documentation. We also provided the ability to create third-party Widgets and share them just like addons and themes, extending earlier work in this area. The project has been updated to work seamlessly with PHP7.2 and recent version of MySQL and Postgres. Many libraries have been moved to ‘composer’ (the PHP package manager) and the unit test system enhanced in a number of ways. Documentation has been improved dramatically (although this is a continued effort).

During the course of all of this development work, we’ve continued to listen to suggestions and issues which have been encountered by members, and have cleaned up and fixed many other areas that were lacking.

Notable changes in Hubzilla 3.0

The remote home link (the « Take me home » menu button in your personal menu on other websites of the hubzilla network) now does not bring you to channel home anymore but only to the domain root. This will bring you to the Activity app by default if you are logged in or to the login page if you are not logged in at your home hub anymore.

The techlevel for new accounts will be raised from 0 to 1 automatically after some active participation (connecting to other channels, creating posts, etc.).

We implemented chunked uploads for the photos and cloud modules in addition to wall uploads where we had this feature quite a while already.

A filter for notification to show new posts only has been added

Live updates and notifications updates have been reworked. We now first do the live update and then update the notifications.

We now have a system config option for minimum registration age

We implemented a tile view for the cloud module and added thumbnail generators for the most popular file types

A new experimental startpage module (hq) has been introduced. This provides a simple page with the latest toplevel post, notifications and the possibility to create a new post. You can make this your default startpage via the startpage addon.

We now provide the ability to pin apps to the navbar

Private forums have been added to the forum widget

We added another delivery control parameter (queue threshold) for sites which had issues with too many immediate deliveries at the same time. This parameter defaults to 300 which is quite conservative. Admins should adjust this setting according to what their hardware can handle.

Hubzilla is now ready for PHP 7.2

The js_upload addon has been removed. We now handle multiple file uploads natively.

We removed the Firefox social plugin – it was deprecated and removed in Firefox version 57

What is the today’s situation ?

At present, there are two supernetworks in the federated social communication space, and they run on different protocols. They are known as The Fediverse, and The Federation. Le’t look at a shema. A picture is often much more understandable that lot of words.

You have in one side Diaspora with diaspora protocol and Gnusocial with Ostatus protocol. Mastodon who use Ostatus protocole can talk with Gnusocial user.

What is the Fediverse?

The Fediverse has historically operated as a microblogging network, and uses the OStatus protocol for servers to communicate with one another. In all, it pulls together six different platforms: GNU Social, postActiv, Pleroma, Mastodon, Friendica, and Hubzilla. StatusNet was eventually pivoted into the GNU Social project, where development has continued at a steady pace. It has been forked into the postActiv project, which aims to clean up the system’s backend and user interface. Mastodon was initially developed as a Ruby on Rails-based OStatus implementation, and can also connect to these other networks. Finally, the Pleroma project started as an alternative frontend for GNU Social, but now has its own backend written in Elixir

What is The Federation?

The Federation is an interop network consisting of 278 different connected servers that communicate using the Diaspora federation protocol. This is a different communication standard from OStatus, and allows four distinct platforms to all communicate with one another: Diaspora, Friendica, Hubzilla, and Socialhome.

What is the future ?

.At the moment, several projects in the space are working to adopt new supplementary protocols ActivityPib, with the intent of building better bridges between one another.

We can see on this diagram that Friendica, Hubzilla and PostActiv has an advantage aver other application.

I don’t have any need or desire to use Facebook or Twitter. I don’t need Nextcloud or MediaGoblin or Drupal or Diaspora or GNU-Social or Mastodon or WordPress. I’ve got all of the features from those applications that I want – right now, without needing those applications. I’ve got as much privacy as I want or need – up to top secret messages between top secret friends if I need that level of privacy. I can share photos from my photo albums and videos from my library with selected friends and *only* those selected friends. I’ve got 16 years of my online life literally in my pocket. Everything I need to keep from my online life over those years. I can spin it up on any server in the world at any time and have all my friends and all my content intact if the datacenter serving my stuff gets hit by a nuclear warhead. I can spin it up right now and keep it all synced between servers as I add new content – and switch to another server at any time; for just a few minutes or a few years. My server is my social network, even though I’m the only person with an account on it. My friends have their own servers and these all work together. It’s my personal cloud and my file sharing app. If I allow you to see my videos you can see them. If I don’t – you can’t and there’s nothing you can do about it. You don’t need a password on my machine to do this. You just be yourself and do your own thing, and if you can see them you’ll see them. I don’t see targeted ads. My dead friends don’t recommend products for me to buy (this actually happened to me once on Facebook). I don’t get spam from Twitter begging me to login and let them analyse me.

Nomadic identity is not easy to understand. This is a new concept.. Hubzilla is a decentralisated community publication plateform that use nomadic identity. Mike Macgirvin explain with a simple example what is nomadic identitiy

I’ve had to answer a lot of questions about nomadic identity recently. It’s not that hard. Let me try and bring it to an easier conceptual level.

For our example we’ll start with email since it’s a concept many people sort of understand.

You’ve got a friend named Bob. Bob has two email accounts. He has a home account at bob@home.server, and he has a work account at bob@work.server . Now most people instinctively know that if they get an email from either address, that they’ve received an email from Bob. They usually don’t even think about what server he is using.

Nomadic identity just means that when we send an email, we will send to both of Bob’s addresses any time we send an email to Bob. This way he’ll get the message no matter if he’s at home or if he’s at work.

Simple enough? Good, let’s continue.

Now let’s take this into the decentralised social networking space such as provided by Hubzilla. What’s different? The only thing is that if Bob posts a picture while he’s at work, his work server send a copy to his home server so he’ll have the same picture in his photo albums in both places. If he makes a new friend, the friend will be added on both servers so he has the same friends no matter where he goes.

Now if Bob loses his job and his account gets removed from work.server, Bob’s onlife life still goes on and he still knows the same people and still can post the same things. He’ll just use home.server; and then when he gets a new job, he can send you stuff from bob@newjob.server. Your software will instantly notice – « hey, this is my friend Bob! » even if it has never heard of newjob.server before and update some stuff internally to indicate that Bob can now be reached at newjob.server.

None of this matters to you, because as far as your software is concerned, it’s just ‘Bob’. You don’t care what server he uses or what job he has this week.

For Christmas a new version of Hubzilla is out. One year after version 1, this version has now better database capability, a wiki that works well, a new twitter API and lots of User Interface bahaviour improved. Hubzilla with the nomadic identity is really a software that goes where anyone has gone.

Here is a somary writen by Mike the founder of Hubzilla

The database driver has now been converted to PDO, which was the last remaining work to be done to bring the project up to what we call an « enterprise grade » architecture and began exactly a year ago. In the process of doing this work, we fixed a lot of compatibility issues with postgres – which should now work reasonably well.

The wiki and help pages (project documentation) had a number of usability issues and all of the known issues have been addressed. Wiki pages can now be created in bbcode, which is much more expressive in its ability than markdown.

The API was redesigned and many of the base functions are now documented. The Twitter API was moved to a plugin so you can still use Hubzilla with hundreds of third-party apps and social clients.

The ‘hl’ (highlight) tag was added to our reportoire by request.

Lots of UI behaviour changes to streamline the flow and ease repetitive tasks. Too many to list individually. The « left side » menu was also made ‘sticky’ to ease navigation on lengthy and infinite content pages.

Zot, the base protocol was extended to allow negotiable encryption algorithms; allowing sites to create their own encryption stacks and harden their communications against state-sponsored actors.

Edited posts and comments will now appear on Diaspora (which does not support editing of posts and comments). There were several other fixes for Diaspora protocol and communications issues.

Superblock was re-written entirely and it is now much easier to remove blocked channels from the blacklist. It is also much harder for their posts to appear in your stream anywhere, and they can never write on your wall; even if you have relaxed comment permissions.

In addition we fixed hundreds of bugs and fixed a lot of « little stuff » that nobody complained about, but we felt should be improved to make this a world-class app.

Since 1.0 – the entire project has been re-written and completely re-architected to provide an enterprise-grade software base going forward. All corporate and external dependencies have been moved to plugins. Most anything that was limited « by design » was reworked and the limitations removed; for example the permissions infrasrtucture. Along the way we introduced new functionality in most areas of the platform and continued re-working the UI to make it more consistent and usable. The project also supports three base modes (but this could be extended) to provide functionality tuned to different uses such as for federation or enterprise use. The list of individual changes since 1.0 is quite staggering. I haven’t done a count but I believe it probably represents around a half a million lines of code changed; possibly much more than that. The total amount of work is quite impressive given the small team and numerous distractions we faced from critics and trolls along the way.