cover photo

Sean Tilley

dsh@deadsuperhero.com

 San Francisco, CA (Map) 
It took forever to write this, but my #Hubzilla deep-dive has now been published!

The Do-Everything System: An in-depth review of Hubzilla 3.0.

Image/photo

As a platform, Hubzilla holds a tremendous amount of versatility and depth in what it can do. Mike Macgirvin, the platform’s creator, has famously quipped that the system does not have a commercial analogue to draw comparisons to — it’s not just a social network, it’s not just a forum, it’s not just a cloud storage solution, and it’s not just a content management system.


#decentralization #cloudstorage #federation
  
Copying Mike's comment:

To be frank - I'm very well connected on Sand Hill Road (look it up). I could get a ridiculous amount of funding just by demonstrating distributed privacy and magic-auth - and I could do it with a phone call. No need for blockchain because decentralised identity is a much bigger market and is never going to crash. I left that game long ago and I'm working for the people now. I'm really not looking to get rich. Been there, done that, didn't like it. It would of course be nice to make ends meet; which is something you have to forego when you're working for the people and not for your own gain.

The whole thing about venture capital is that the money never actually leaves Sand Hill Road. It just provides them with a new revenue stream and keeps them living in the manner to which they are accustomed. Startups and entrepreneurs are thrown a pittance of that revenue stream to keep people enticed and to perpetuate the game.
  
I'm impressed, Sean. This article has been very influential. Multiple people who registered on Hubzilla Start have referenced your article as their inspiration.
  
bottle with popping cork

 San Francisco, CA (Map) 
!Hubzilla Development Good news! My Hubzilla themes repo is getting updated so that themes properly conform to the Hubzilla 3.x series. I have an issue queue of things to work on, and hope to get everything resolved in a short amount of time.

As many of you know, this repo is part of a long-running playground to explore the different layers of the platform, and experiment with various ways to customize the look and feel of one's hub. I have considered it to be very valuable for myself, as I've gotten to peel through many different parts of Hubzilla's display system and figure out how they work together.

The following themes are basically "complete", save for some minor cosmetic work:
  • Suckerberg
  • Clarity
The following are require in-depth adjustment. The good news is that this is an opportunity to not only fix the themes, but write custom widgets and adjust each one to a specific layout:
  • Bookish
  • Nova
  • Occupant
  • Sporadic
  • Stumble
  • Sunbeam
  
What's the latest doco for how to install and enable them? Is this still accurate?
  
  
Yeah, I primarily use the /util scripts for adding theme repos and updating them.

 San Francisco, CA (Map) 
!Hubzilla Development

If you're running the dev branch of #Hubzilla, you'll see that a new feature has landed for channels – Articles

This is a really exciting feature to me, as I hope to build We Distribute on top of it.

Here are a few relevant files to understand different pieces of it:Here's a quick test article, as it appears today: https://deadsuperhero.com/articles/dsh/suggestions-happier-life

I'd love to explore the theme development side of this, specifically to make Article objects look like an article you'd see on any popular CMS that features them. (Ars Technica, the Verge, Mashable, etc). This may require me to open my first actual pull request for the Hubzilla project, as this is a feature of huge interest to me. The first "useful" thing I can think of might be a thumbnail field, which sets the og:image property of the article when shared.

Eventually, I might dive into either building a page or a plugin that shows all published Article objects on a hub, sorted by published date, complete with title, link, and author information.
  
  
  
Just for the record: I didn't !
 San Francisco, CA (Map) 
Just an update: my review of #Hubzilla is still in-progress. I regret falling a month behind on publishing it, but it's a pretty big undertaking, and I've managed to deep-dive into many features of the system and how it works.

Current word count: 2,471. So far I've explained everything from how to install a hub to setting up a channel, creating content, finding channels to connect to, tagging, cloud, calendar sync, wiki, nomadic identity, OpenWebAuth, a number of the plugins, and theme development. There's still a lot to cover, but I am proud of how this is taking shape. :)
 from Diaspora
Looking forward to reading it!

 San Francisco, CA (Map) 
For now, I am building out a simple set of experiments. Initially, I needed a convenient way to monitor project feeds from different places, so I've used the Channel Sources feature to create syndicated bot channels for the federated projects I want to watch.


https://wedistribute.org/channel/diaspora

This requires some adjustment and fine-tuning, but you can subscribe to it through Diaspora, Friendica, GNU Social, Mastodon, Socialhome, Hubzilla, or anywhere that can use #OStatus, #ActivityPub, #Diaspora Protocol, or #Zot.
 from Diaspora
There is https://social.mrzyx.de/people/5d4b8da2c2a1e205 though already, unless of course you want to collect all information in one account. Could get a little verbose though, depending on how many sources are aggregated.
  
Hmm, that might actually be a more usable source for me!
  
also if you add an accoumt as an resource instead of an rss feed, comments (not all) should get federated.

 San Francisco, CA (Map) 
@Hubzilla Development+

It's a tough nut to crack, but it's possible to export a #Godot game to HTML5, then embed the resulting game into a #Hubzilla addon. Right now I'm experimenting with loading a platformer game demo into the skeleton add-on as a base. I've got the files spread out and structured into a hierarchy, and I hope to get the player to successfully load with these changes. After that's done, I'll be able to put it into a proper view template, and wrap some native interface elements around it.

My hope is that this could provide a method for sharing my games on the web, in something that could be featured as a personal gallery. A pipe dream version of that may be some kind of "Game Library" add-on that can load and store related Godot HTML5 games and display them in a gallery of sorts.

As far as HTML5 games are concerned, there are generally a number of limitations. Keyboard input works well with Godot, but right-click interactions seem to be off the table for now. Games also seem to be affected by load times proportionate to the overall file size, although it seems that this can be handled gracefully when it comes to loading individual scenes (game levels or rooms). I'm curious to test this out with my own projects as their size and complexity scales up.

Another interesting aspect is that Godot can be made to interact with libraries and environments outside of itself. In theory, it may be possible to provide some sort of bridge between Hubzilla's own hooks and the game engine. One simple way to demonstrate this might be for the game to welcome a player by their channel name.
  
I participated in a Godot workshop last year, this is an awesome idea... another  obvious thing would be for Hubzilla to keep track of player scores.

 San Francisco, CA (Map) 
I currently own the wedistribute.org domain, and I'm hoping to put it to good use soon. I've spent quite a lot of time reflecting on what I want the thing to be, how I hope it might work, and what kinds of topics I want to cover.

One of my largest concerns over the past few years has been in the decline of quality news coverage of Free Software projects and the shuttering of outlets such as Free Software Magazine and other Linux-friendly outlets. Indeed, even at the peak of such outlets, there has been a long history of awesome projects getting completely passed over because it is deemed uninteresting to "the average consumer". Even popular outlets such as OMG! Ubuntu have been on a decline for years in terms of meaningful coverage.

Image/photo

In 2018, I hope for We Distribute to become a full-blown publication, a periodical that syndicates content throughout The Free Network and covers technical advancements in the decentralization movement. Most of this will still be federation-focused, but I've decided to expand my definition of The Decentralization Movement to include:

  • Free and Open Source Software - GNU/Linux, BSD, desktop environments, applications, etc
  • Distributed Systems - This includes Peer-to-Peer projects, as well as initiatives such as i2p and Hyperboria
  • Cryptocurrencies - AltCoins as well as other types of distributed ledgers / distributed value storage
  • Mesh Networking - Scuttlebutt and other initiatives



The idea for this publication is to write articles in a structure and format similar to Ars Technica or The Verge. The core difference is that, instead of trying to sell you products, it provides exposure for an ecosystem of digital counterculture, all of which provides free knowledge as a basis to build on. It would also provide simple news updates alongside chunkier articles, interviews, and in-depth reviews.

I'm still evaluating how I want to build it out, but I'm looking very seriously at using #Hubzilla as a base - that way, every single article can be dispersed in a federated stream across OStatus, Diaspora, and ActivityPub protocols. It could even get cross-posted to Identi.ca and Libertree.
 from Diaspora
Sounds great! Using a federating platform totally makes sense.
  
Sounds like a worthwhile use of time. Start writing articles and we'll try to help advertise, although we are notoriously bad at that :-)

If your work gets popular you might even be able to make some money via donation links or something.
  
It may be too early to ask a question like this, but would you also consider a section for occasional articles about efforts to distribute non digital power? Like, energy production, agriculture, corporate and political organisation etc.


It's definitely an interesting idea!

 San Francisco, CA (Map) 
@Hubzilla Support Forum+ Does anyone have any insight on running a Hubzilla instance on localhost for dev purposes?

One of my goals this year is to get past my "fuck it, do it live" approach to coding on my production hub. My hope is that this will cut down on the amount of arbitrary spammy commits that I make, resulting in code commits that are a little more coherent and structured.
  
Hmm, I don't see any missing icons on my nav bar...

The main navigation components of the UI seem to show up without any problems on the far-right.
  
Try shrinking to phone size and see if you still have the icons.
  
Try shrinking to phone size and see if you still have the icons.


Good advice, but it seems to work both on my mobile phone as well as my resized desktop browser...

 San Francisco, CA (Map) 
@Hubzilla Development+

Hey Hubzillans,

As most of you know, I have spent a significant amount of times developing themes for Hubzilla. They've largely been a playground for design ideas, and most of them are little more than a skin for redbasic. Overall, this has been a very good starting point for my theme experiments, and I've learned a lot thanks to Mike, Mario, and Andrew. As of late 2017, I've finally gotten to a point where it's possible for me to develop custom theme widgets, after much trial and error.

However, there are many elements of the interface that cannot be easily overridden - such as button arrangement, placement of UI elements in posts, and custom menus and icons for the navbar. While this doesn't bother me by a huge amount, it is somewhat limiting to the kind of designs my theme can take on.

I've been debating the possibility of writing a new theme engine from scratch for Hubzilla, with the purpose of taking my theme development to the next level. I'm aware of the possibility that independent themes may break over time, and will require a higher degree of maintenance to keep pace with future versions of the platform. There will also be design conventions to consider, such as the menus for remote users visiting from another hub. These are things I'd rather not break.

I was wondering whether anyone had tips or pointers based on their experiences in working with redbasic. How often do you have to update the hooks and templates that go into this base theme?
  
All of this is possible by over-riding the templates; but as you're no doubt aware, this comes with a maintenance cost. If core templates change or add functionality you are sort of required to watch and stay on top of it or the theme will eventually atrophy. I don't know of any way to work around this.

WordPress doesn't provide a lot of guidance here because there are only 3-4 templates which contain most if not all of the content - and the template interfaces change at glacial speeds.

I started work at one time on a button layout so you could order buttons to your liking (or add/remove them easily). I didn't get very far on it before getting distracted by more significant features, but it's certainly desirable in the editor.

The most contentious bits of the interface turn out to be the editor, the conversation templates (posts/comments) and the navbar template. These are also the most-often modified templates. I have in my (very long) to-do list a layout language for the navbar ('Navajo') to be able to design custom navbars with a descriptive tag-based language like Comanche.

Perhaps the editor and conversation templates could also make use of some form of abstraction layer. I'm not sure how this relates to your concept of a 'theme engine' because I'm not certain what you envision for that and how it would work.

The current system isn't really bad - it's just very poorly documented and there are hundreds of templates (290 to be exact) covering a lot of different functionality, so it's bloody hard to abstract. At some point the end result is HTML/CSS/JS and we want to give theme designers complete control over this output. We do this, but it requires a bit more perseverance and a much larger maintenance commitment than a comparable WordPress theme.

What it may be crying out for is some form of template versioning scheme, so your theme could ask for a stable template version; with a known set of variables which remains constant - even if the core project moves on to something new and incompatible.
  
Hey Mike, thanks for your thoughts on this.

WordPress doesn't provide a lot of guidance here because there are only 3-4 templates which contain most if not all of the content - and the template interfaces change at glacial speeds...

The current system isn't really bad - it's just very poorly documented and there are hundreds of templates (290 to be exact) covering a lot of different functionality, so it's bloody hard to abstract.


Yeah, this was something that I was initially looking at, and seems to be the biggest challenge. In theory, it sounds like it's possible to at least write a handful of custom templates from scratch and significantly alter the layout of elements, as long as the proper hooks are used to build an interface.

I'm not sure how this relates to your concept of a 'theme engine' because I'm not certain what you envision for that and how it would work.


At the moment, I think it would just be a drop-in replacement for redbasic, which other themes could build upon. The new base theme could include the most important templates, along with a series of bespoke core widgets, fallback CSS/PHP/TPL/PDL, and custom JS for things like notifications.

Maybe the approach I'm thinking of is overkill, but I think it might be interesting to try to build alternative frontends for Hubzilla through low-level theme development.
  
@Sean Tilley

I simply download the zip and copy with ftp few of your themes and I am testing them. Thank you for the good works you have done.

I think maybe in the future we can imagine a tool to install a theme with one click from admin like we can do with wordpress (I know I am dreaming)

At least information where to find it and how to install it would be more visible. I think I have to test each theme for a few days to really use it.

 San Francisco, CA (Map) 
Current word-count is at 1,610.

The most fleshed-out parts so far are:

  • Installation
  • Channel Basics
  • Photo Albums
  • Cloud File-Sharing/Syncing
  • Wiki
  • Community
  • Theme Development
  •     

There's still a lot of things to dive into - I have tons of sections and screenshots, and a lot of details to go over still. I'm particularly proud of the Theme Development section, as it dissects everything from starting a new theme file to setting up layouts with Comanche and writing custom widgets. I even found a way to demonstrate Comanche's usage visually.

This might be the most comprehensive review I have ever written – I'm quite proud of what has been accomplished so far. I really want to do the system justice by sharing all the things that I think is cool about it. I also hope to get this out before Christmas.
  
Looking forward to the Theme Development bits!
  
  
Getting Caldav working with KDE Plasma / Kontact was quite easy. Not 100% intuitive, but easy to find.


Yeah, I've definitely noticed that Gnome / KDE apps are the most forgiving when it comes to interacting with WebDAV so far. Mike's tip on using Evolution to connect with my Hubzilla account was an absolutely great answer for getting the Calendar Sync to work in Gnome's native calendar app.
 San Francisco, CA (Map) 
Image/photo

Aaand we are in business!

Took some tinkering to get the conventions exactly right, but I'm super happy with how this turned out.
The next step will be to actually build in user context for the menu and make proper links for navigation.
  
Nice. :-) An interesting theme would be a Single Activity Theme, i.e. where the channel owner selects either Wiki or Chess and hides other UI elements not belonging to the activity.
  
Yeah, I've definitely thought about that. I think for the moment, I want to focus on multi-feature themes, since I use quite a lot of Hubzilla's system. My current design focus is probably going to center around navigation and visual integration of different elements.

In the future, though, I may apply my current lessons towards a blogging-centric theme.

 Map 
@Hubzilla Support Forum+

I'm working on redesigning the pages on my hub, an activity which I haven't focused on in ages. This is a fairly important component of the review, so I'd like to design something that both looks really nice, and isn't too painful to implement.

A few considerations to follow:

1. I'm primarily used to writing pages in HTML, particularly to create custom UI elements and page sections. If I just use the HTML content type, will I lose access to some of the semantic benefits offered by Comanche? (for example, embedding widgets from my profile into the page)

2. I'm probably going to need a lot of custom page styling. What is the best use-case here? Should I just put all of my CSS into a custom theme, and then require that theme on all of my pages? Or should I upload a CSS file somewhere, and just require that CSS file be loaded into my HTML templates?

3. If I want to use custom jQuery plugins for my pages, should I include them in the htmlhead region for the pages that use them?
  
Okay, cool! It seems to work.

Now I'll need to learn some proper PHP conventions to put some HTML elements together inside of widgets, which is still kind of foreign to me. It looks like it's possible to leverage .tpl files though, so I might try that next!
  
Definitely use template files. Every time I think I'll bang something out quicker using php strings, I'm always wrong.
  
That is incredibly helpful insight.

 Map 
I've been using Hubzilla for years now, and have long remained a fan of both the project as well as its surrounding community. I want to do an Ars-style deep dive into Hubzilla's inner workings and what end users can do with it.

With that in mind, what kind of things should I focus on?

Some of the areas I'd like to talk about are:

  • Signing up and configuration

  • Using the directory to connect to people

  • Channels, posts, formatting content

  • Privacy Filters

  • OpenWebAuth

  • Calendar / Events

  • Web Pages

  • Cloud / File Sharing
  •   
  • Theme Development

  • Add-ons

  • Cross-platform federation



If anyone has suggestions for other things I should try covering, let me know!
  
Aww, emoji doesn't render after I paste it. Oh well.

Anyway, this is me sweating. :P
  
That came through fine on my dev site. New installs are emoji compatible. Older ones (before July 2017) may need some DB tweaks
  
  
Enabled #ActivityPub on my Hubzilla server today. Curious as to what I can currently do with it.
  
Enable the PubCrawl plugin. For what it's worth, my Hubzilla install and Hubzilla add-ons are all running on the latest dev branch.
  
I just installed a fresh new hub today but I don't find PubCrawl plugin
  
It is not yet available in the 'master' branch. It should be present in 2.8RC which was tagged about ten hours ago.
 Map 
It's finally here! A million thanks to @Mike Macgirvin for sharing his many words of wisdom.

Got Zot — Mike Macgirvin – We Distribute – Medium

Image/photo

Mike Macgirvin is a personal friend, and a force to be reckoned with. Living on a farm in the hills of Australia, he has quietly spent his days carving out an elaborate system from scratch, doing the bulk of the work himself.

Over the past decade in particular, he has pushed the boundaries of a next-generation communication platform, restlessly experimenting and taking notes, often inventing his own solutions to complex problems.

This interview is the first part of our interview series, Faces of the Federation.
  
Image/photo
 Coruscant 
Excelent, thank you for that @Sean Tilley !
  last edited: Fri, 22 Sep 2017 14:09:18 -0700  
Goal for myself: start using #Hubzilla more for everything. I'm the one paying for this damn server after all, might as well treat is as my go-to before all of those other networks I use. :P

  last edited: Fri, 22 Sep 2017 14:08:28 -0700  
Image/photo

Clarity is an attempt to get back into Hubzilla theme development. At present, it is the only theme in my repo that will work with the latest versions of Hubzilla. Everything else needs to be updated to work with the latest interface improvements.

The design intent around Clarity is to configure a good basic layout, and polish up Hubzilla's look and feel. Work is ongoing to give the theme some sense of uniqueness.

You can check it out here: https://github.com/deadsuperhero/hubzilla-themes
  
The theme name seems a little out of date for our current era. ;-)
  
On the contrary, our world could use more of it.

bod
 
bod favorited something by dsh:

Clarity is an attempt to get back into Hubzilla theme development. At present, it is the only theme in my repo that will work with the latest versions of Hubzilla. Everything else needs to be updated to work with the latest interface improvements.

The design intent around Clarity is to configure a good basic layout, and polish up Hubzilla's look and feel. Work is ongoing to give the theme some sense of uniqueness.

You can check it out here: https://github.com/deadsuperhero/hubzilla-themes
  last edited: Fri, 22 Sep 2017 14:16:00 -0700  
Just pulled in new updates for #Diasprora federation from hubzilla/dev. Let's see what has changed! :D
  last edited: Thu, 27 Jul 2017 19:12:05 -0700  
As a side effect of re-writing the Diaspora Protocol connector, I disabled the bit that signs and reshares comments from people that didn't send a Diaspora signature to us. A lot of Diaspora folks and a few Friendica folks hated this.

You can enable it in your settings if you really want to have cross-federation discussion - because that's the only way we can provide cross-platform comments by GNU-Social/Wordpress folks or from Hubzilla guest accounts that will actually be seen on Diaspora. Nobody ever thinks about this kind of stuff when they design protocols - ActivityPub did the same thing but worse - as there appears to be no ethical way to work around it.
 from Diaspora
Congratulations.
 from Diaspora
Yay!
  last edited: Fri, 22 Sep 2017 14:16:21 -0700  
"Let's bolt on an application with an entirely different stack because most of the devs in this space are refuseniks who won't use anything other than OStatus for federation" is a lackluster position at best.

#Diaspora, #Friendica, and #Hubzilla have had private mechanisms for years that work really well.
Fla
 
fla favourited a status by dsh@deadsuperhero.com
  last edited: Fri, 22 Sep 2017 14:16:46 -0700  
@Hubzilla Support Forum+ Has anyone had any luck with integrating their Hubzilla Events Calendar into a calendar app for desktop or mobile? I've been considering using my Hubzilla Calendar for scheduling, and was curious as to whether anyone had luck integrating it with Gnome's default calendar app.