Tag: federation

Fediverse field trip

After spending a long time researching various options for MoodleNet last year, I recently revisited the Fediverse with fresh eyes. I enjoy using Mastodon regularly, and have written about it here before, so didn’t include it in this roundup.

Here’s some of the social networks I played around with recently, in no particular order. It’s not meant to be a comprehensive overview, just what grabbed my attention given the context in which I’m currently working. That’s why I’ve called it a ‘field trip’ ūüėČ

Misskey

This slideshow requires JavaScript.

Weird name but pretty awesome social network that’s very popular in Japan. Like MoodleNet and Mastodon, it’s based on the ActivityPub protocol. In fact, if you’re a Mastodon user, it will feel somewhat familiar.

Things I like:

  • Drive (2TB storage!)
  • Lots of options for customisation, including ‘dark mode’
  • Easy search options
  • Connect lots of different services
  • API

Socialhome

This slideshow requires JavaScript.

‘Card’-based social network that uses a Bootstrap-style user interface. Quite complicated but seemingly flexible.

Things I like:

  • Very image-friendly
  • API
  • Data export

Pleroma

This slideshow requires JavaScript.

Pleroma is a very scalable social network based on Elixir. It’s like Mastodon, but snappier.

Things I like:

  • Clear Terms of Service
  • Very configurable (including formatting options)
  • ‘The whole known network’
  • Export data and delete account
  • Restrict access

Prismo

https://prismo.news

This slideshow requires JavaScript.

A new social network to replace sites like Reddit. Users can vote up stories they’re interested in and add comments.

Things I like:

  • Clear, crisp design
  • Obvious what it’s to be used for
  • Simple profiles

Movim

https://movim.eu

This slideshow requires JavaScript.

Uses the XMPP protocol for backwards compatibility with a wide range of apps. Similar kind of communities and collections approach to MoodleNet, but focused on news.

Things I like:

  • Modals help users understand the interface
  • Focus on communities and curation
  • Option to chat as well as post publicly
  • Easy to share URLs
  • Clear who’s moderating communities

Kune

https://kune.ourproject.org

This slideshow requires JavaScript.

Based on Apache Wave (formerly Google Wave) which is now deprecated.

Things I like:

  • Combination of stream and wiki
  • Indication of who’s involved in creating/discussing threads
  • Everything feels editable

GNUsocial

https://gnu.io/social

https://fediverse.party/en/gnusocial

This slideshow requires JavaScript.

Uses the OStatus protocol and was the original basis for Mastodon (as far as I understand). Feels similar to Pleroma in some respects.

Things I like:

  • Feels like early Twitter
  • Easy to use
  • Configurable

GangGo

https://ganggo.git.feneas.org/documentation

This slideshow requires JavaScript.

Built in GoLang and uses the same federation protocol as Diaspora. Still in alpha.

Things I like:

  • Simple UI
  • Vote up/down posts
  • Private and public streams

Along with Mastodon, I didn’t include Pixelfed in here because I’m so familiar with it. I possibly should have included¬†PeerTube, Friendica,¬†Diaspora, and Scuttlebutt. Perhaps I’ll follow this up with a Part 2 sometime?

Experimenting with a channel-based approach for online resource sharing

I’ve already posted about our experiments with Mastodon as part of the work going into Project MoodleNet. Again, I’m posting this here instead of on the project blog as we’re just testing…


ActivtyPub is a protocol that allows for decentralised, federated social networks. We’re experimenting with it as potentially the base on which we can build Project MoodleNet, “a new open social media platform for educators, focused on professional development and open content”.

Mastodon is great, but purposely limited in features to keep things easy for users, moderators, and administrators. Hubzilla, on the other hand, gives users plenty of options.

Hubzilla is a¬†free and open source¬†set of web applications and services running on a special kind of web server, called a “hub”, that can connect to other hubs in a decentralised network we like to call “the grid”, providing sophisticated communications, identity, and access control services which work together seamlessly across domains and independent websites. It allows anybody to publicly or¬†privately¬†publish content via “channels”, which are the fundamental, cryptographically secured identities that provide authentication independently of the hubs which host them. This revolutionary liberation of online identity from individual servers and domains is called “nomadic identity”, and it is powered by the Zot protocol, a new framework for decentralised access control with fine-grained, extensible permissions.

What does that mean in practice?

From the practical perspective of hub members who use the software, Hubzilla offers a variety of familiar, integrated web apps and services, including:

  • social networking discussion threads
  • cloud file storage
  • calendar and contacts (with CalDAV and CardDAV support)
  • webpage hosting with a content management system
  • wiki
  • and more…

While all of these apps and services can be found in other software packages, only Hubzilla allows you to set permissions for groups and individuals who may not even have accounts on your hub! In typical web apps, if you want to share things privately on the internet, the people you share with must have accounts on the server hosting your data; otherwise, there is no robust way for your server to authenticate visitors to the site to know whether to grant them access. Hubzilla solves this problem with an advanced system of remote authentication that validates the identity of visitors by employing techniques that include public key cryptography.

In this post, I want to outline some of Hubzilla’s features and discuss how they may be useful to Project MoodleNet. This is not meant to be comprehensive, by any means, just my first impressions.

1. Configurable UX depending on user technical knowledge

Hubzilla: privacy sharing optionsWhen you set up your account in Hubzilla, you’re presented with this drop-down menu asking you to indicate your technical skill level. The lower you set this, the simpler the user interface becomes. I like this because, as with any kind of community, there are more and less technical educators who will be using Project MoodleNet.

2. WebDAV integration

Hubzilla: configure WebDAV

Although not strictly accurate, I set my technical skill level as ‘Wizard’ to see all of the options available in Hubzilla. This box appeared informing me of my WebDAV address:

Web Distributed Authoring and Versioning (WebDAV) is an extension of the Hypertext Transfer Protocol (HTTP) that allows clients to perform remote Web content authoring operations.

[…]

The WebDAV protocol provides a framework for users to create, change and move documents on a server. The most important features of the WebDAV protocol include the maintenance of properties about an author or modification date, namespace management, collections, and overwrite protection. Maintenance of properties includes such things as the creation, removal, and querying of file information. Namespace management deals with the ability to copy and move web pages within a server’s namespace. Collections deal with the creation, removal, and listing of various resources. Lastly, overwrite protection handles aspects related to locking of files.

Many modern operating systems provide built-in client-side support for WebDAV.

This is handy stuff, especially given that NextCloud, which is a great service for files, calendars, contacts, and other applications, also supports ActivityPub and WebDAV!

3. Inbuilt calendar

Hubzilla: CalendarTalking of calendars, Hubzilla has one built-in under ‘Events’. It’s¬† pretty basic, but it’s easy to create entries and import/export existing calendars. I assume that there’s a way to link this up with WebDAV, but it wasn’t obvious in the time I spent tinkering.

4. Other apps

Hubzilla: add appsOther apps can be added and removed by users in a range of categories. All the basic things you’d want are there, and new apps can be developed and added in a straightforward way.

5. Multiple profiles

Hubzilla: profiles

One thing I immediately liked about Hubzilla was the ability to create multiple profiles, should the channel owner allow. This permits users to create profiles that demonstrate different facets of their personality, and perhaps share information with certain groups that they wouldn’t share publicly.

Hubzilla: multiple profilesThe only current downside to this was that I couldn’t find a way to have different images for different profiles. I guess these are sub-profiles, but it would be nice with Project MoodleNet to have different avatars for different facets of your identity within the system. Something to test out, for sure.

6. Channels

Hubzilla: installed apps

Hubzilla is built around ‘channels’ that you can discover and add via any compatible instance. So, just as with Mastodon, people can find and add you no matter which server they’re using.

7. Adding content

Hubzilla: share resourcesI tested out adding content into a channel by posting a link to a resource I found on OER Commons. There’s no visual editor, but the channel owner does get to choose between wiki markup or Markdown. There are buttons which generate the necessary code for users, as Mediawiki does by default.

8. Responding to posts

Hubzilla: respond with emoji Hubzilla: post menu

As you’d expect, because it’s 2018, you can respond to posts not only with a Facebook-inspired ‘thumbs up’ but also with a range of emojis. In addition, there are a range of options, including ‘Poke’, ‘Share This’ and starring the post to come back to.

9. Mastodon vs. Hubzilla?

Hubzilla: comment

I asked people, ironically enough on Mastodon, what they thought about Hubzilla. I some quick responses, and you can see the thread here. It seems like Hubzilla is a lot more flexible than Mastodon, but it’s by default relatively complex, which can put less technical people off a bit.

10. Sustainability

Hubzilla: GitHub Pulse

We’d obviously do a deeper dive if and when we decide to experiment further, but Hubzilla’s code is on GitHub and the repository seems to be pretty active. They’re on v3.0 and, according to some quick digging, the first release was in August 2015. There’s only 47 nodes with 847 users at present, however, compared with over 1 million¬†users of Mastodon across almost 1,500 instances (source).

Conclusion

Hubzilla has some very nice features which we would definitely want to implement with Project MoodleNet. Whether or not it’s the best base to start from is a decision we’ll have to make as a team, but I’ve enjoyed experimenting!


Main image by Fahrul Azmi used under a CC0 license

css.php