Brutaldon Pondering and Some Germinal Updates

July 14, 2019 ยท 3 minute read

Posted in: brutaldon web germinal

Where next for brutaldon?

Over the last couple of evenings and lunch breaks, I added basic polling support to brutaldon. You can view polls and vote in them, without needing JavaScript, though some support for the HTML5 <progress> element is helpful. If you have JavaScript, it’s progressively enhanced with Intercooler.JS, the way a lot of things in brutaldon are.

Composing polls

I have specifically not written support for creating polls yet. I haven’t had time yet; I could be doing it now, but it’s taking a bit of thinking about the user interface. Right now, the brutaldon posting form is quite long, because it includes form input elements for four media items and their descriptions. Adding, unconditionally, form input elements for four poll choices is right out. Modifying the form on the client side, which is what Mastodon-web does for both media and polls, requires JavaScript, which I can’t require and still support some targets I intend to support (Lynx, w3m, dillo).

So I’ve said I may not actually implement form posting.

There is one thing, though. Mastodon itself doesn’t support posts with both polls and media. Which means that I can have separate posting forms: with media or with polls, and switch between them with links. And in JavaScript supporting clients I can enhance those links to drop-down the wanted extra bit of form without a page refresh.

Two spanners in the works, though.

  1. A user might start composing text before choosing to add polls or media. This problem already exists with the existing short posting form, and I could probably live with it.
  2. Pleroma probably supports posts with both polls and media (and more than 4 media items, and more than 4 poll choices) because of course they do. But not every front-end offers the same features, so I can probably just impose arbitrary restrictions on my Pleroma users.

This will let me do some clean-up on the templates for short and long posting forms while I’m at it, which is one thing I kind of had planned anyway. Have to think about how this will work for replies without JavaScript.

Cross-account actions

For a little while brutaldon has supported multiple accounts. However, it only supports switching between them. If you want to, for example, use a different account to boost a post than the one you discovered it with, you have to go the long way around: copy the URL of the post, switch accounts, search for the URL, boost it, switch back accounts. Some Android clients like Subway Tooter and Fedilab allow you to do this without switching accounts.

I plan to add cross-account actions to brutaldon, but they’ll work a little differently. There will be a link for cross-account actions that will take you to a page where you can select the account to use for the action from a drop-down, and the action from a set of buttons. On a JavaScript-supporting graphical browser, this page will be a modal dialog.

I meant to do this before polls because it’s more important to me, but other users have said they wanted polls.

Germinal updates

Germinal has configuration support now, by environment variable, or command line. At some point I will update the systemd service file to source environment variables from a file in /etc/defaults/.

I plan on updating the directory listing page generator to the point of rewriting it, but I’m waiting to see how the link syntax shakes out. I still like title-first links, because they let your text be formatted more readably. But someone pointed out that URL-first links make it much easier to have links without titles, and that’s a thing people might reasonably want. So I’m going to let other people decide, and then I’ll implement.