Re: RSS: There’s nothing better

Aaron responded to my ramble:

One of the main reasons to use h-feed and h-entry is that RSS/Atom really only can represent blog posts and podcasts. For those purposes, they’re fine formats, but the reality is there are many more kinds of content on the social web today, such as replies like this one which can’t really be represented in RSS.

That’s absolutely fair! I’ve found RSS/Atom to be Good Enough for everything I’ve wanted to support in it, but in a lot of the use cases it’s definitely on the end of “Hey I have new content, come to my site to consume it properly.” I haven’t really seen any example of h-feed handling those better, though. Do you have some examples that I could look at?

What features are you finding that Microsub doesn’t support? Like most of the IndieWeb protocols, Microsub is supposed to be an evolving protocol based on the needs and implementations of people using it. I don’t expect that we will ever say “Microsub is done!” the way that some specs put a stick in the ground, since the reality is that things change and need to adapt to new use cases to remain relevant.

The main features that feel like they’re missing are organizational facets, like what we were discussing earlier today. Having some mechanism to more easily recategorize feeds, or entries within feeds, or whatever. I know that most of that probably falls on the endpoint itself and shouldn’t be part of the Microsub protocol though. It’s hard to know where to draw the line.

Another thing that feels like it’s missing is a user story. It’s just confusing to get started with. I set up various endpoints (adding a token endpoint and a microsub endpoint to my main page, which doesn’t feel like it should be necessary to use an external piece of software that has nothing to do with my site), and then when I did get things going, I found that the UX of the readers was… underwhelming, I guess. And it isn’t clear to me how much of that is on the readers and how much is on Microsub itself. It sort of feels like there’s two parts to the experience which each keep on saying that no, it’s the other part’s responsibility to do things.

Most of the UX I see emerging is based on doing something Twitter/Tweetdeck-esque and I want something more like an email inbox with folders/filters. (Thus the issues I opened earlier today, and thanks for your comments on #40 in particular!)

It’s definitely an evolving spec and I appreciate that about it, but it just feels really difficult for me to even get started with it right now because I don’t feel like the goals that the various folks implementing the tools are aligned with the goals I have in using a feed reader right now.

I do appreciate the idea of it being built in the form of building blocks with interoperability, but the way that the blocks are currently connected just feels confusing and overwhelming and doesn’t feel like it’s particularly advantageous to having a single reader-with-subscriptions.

I guess, mostly, as a user I feel lost, and as a developer I feel like it’s overly-abstracted.

I’d love to see the ability to do some sort of scriptable hook into a feed where I run my own filter that does things the way I want them. One of the things I tangentially got at in issue #40 is I’d love to have a way of registering a webhook that gets a notification when an item comes in, and then says where to put the item. Like, give me a JSON blob that gives all of the parsed semantics and let me return a disposition of which channel (or group or whatever) it should go in. And make sure it provides all the data in some easily-processed form.

That probably belongs in the configuration UI of the Microsub endpoint, though, rather than needing to be a core feature of Microsub itself. But I’m not seeing any endpoints that are trying to implement stuff like that. Not that I’ve looked very hard, though, because there’s just a huge collection of things to look at and none of them really tell me why I should look at them vs. any other endpoint implementation. And meanwhile I feel like there’s a missing link for actually being able to transport data between them. I couldn’t find any working (or documented-enough for me to use) examples of an OPML importer or exporter, for example, which made me skittish about even trying any endpoint out enough to see if it would really work for me.

I’d love to see a concept of nested channels, too. So I can have a channel for all art stuff, and subcategories for drawings vs. photography or whatever. Or being able to have subchannels for each of the separate comics I follow, all grouped together under “comics,” which would handle the use case of wanting to do an archive binge on a single series vs. wanting to catch up on what’s new in the last day. Even with a flat channel structure it’d be nice to be able to just, like, focus on one feed sometimes, without having to always focus on only that feed. And then having something where I can see all my subscription content, but not the “follow” content, per the distinction I raised the other day, so just having a “show all” view isn’t quite what I’m looking for.

Also it took me a while to understand what’s meant by the channel order; I was looking for a means of giving the sort order of the items within a channel (oldest-first, newest-first, latest-arriving first) rather than just how to organize one’s sidebar in their reader. Which also feels like it’s tied to a specific UX concept, rather than something intended as a building-block for a more general reader experience.

At this point I feel like I’m talking in circles or something. I’m looking forward to trying to get on the same page this coming weekend. :)

Re: Webmention support for static sites

Ángel Orgeta:

Oh, yes, and it’s great; I just wanted something much simpler. I took a look at it, but some requirements (like my ATOM feed needing WebSub compliance, which I didn’t know the meaning of, and other things that I sincerely didn’t understand) made me wish for something more straightforward. I run my script on the same computer that stores my atom.xml file, so I have no need for download support and/or caching further than knowing the timestamp of the file.

Ah, just to clarify, WebSub isn’t required, it’s just supported — it’s just one of the things Pushl supports. I hadn’t considered offline support as something that someone might want, so for that use case Gruta is definitely a better choice.

I’ll consider making it more clear what’s optional in the documentation, since I can see that being a point of confusion!

Re: Webmention support for static sites

Ángel Ortega:

I’ve written a script to add Webmention support for static sites. It’s available from:

https://github.com/angelortega/aov-atom-to-webmention

That’s cool, but did you happen to see my tool Pushl that does the same thing? It has a few other features like feed autodiscovery, WebSub, and RFC5005 archive backfilling. And it’s pip-installable!

Re: Intermediate auth service

Jacky:

Oh yeah my plan for the indieauth profile service was to also provide h-card and (optional) micropub endpoints. :) I wrote more about that on one of my Subl-related blog posts (which I’m short on spoons to find at the moment).

So I’ve been thinking about this more and more. Having an intermediate service that lets people log in from a silo is excellent for the case you’ve ((@fluffy@queer.party)[https://queer.party/@fluffy]) mentioned. I think I got too far with this and was wondering if they’d use this to do replies, likes and the whole range of responses one could do from their own site.

Having the intermediate service be log-in-able via a silo would certainly be an option but what I was suggesting was actually having an intermediate service where you can also log in with a username/password or whatever. Like, it could be a “silo.” Like, have it as a bootstrap for people getting into IndieWeb without needing to self-host anything.

What I meant by “provide MicroPub endpoints” was me being overly terse and just saying that on the profile you set up on the profile service you could also link your profile to arbitrarily many other services (hosted by others), including MicroPub, as well as authority sources for RelMeAuth or whatever. Basically, a little catch-all tool to fix the bit that I feel is currently missing from the IndieWeb experience for someone who doesn’t have/want to self-host anything.

Incidentally, this is the blog entry I mentioned in that thread where I kind of rambled about this stuff. Also since then I’ve come to realize that there’s no real reason to integrate Pushl directly into Publ since now it does a lot more stuff and more generically than what is suitable for putting into the Publ side of things. (That said, you absolutely can use the same pipenv/venv for both Pushl and Publ, which is how I have things set up on the dayjob website. But that’s getting off in the weeds of minutiae.)

Also, it seems that both of our respective Markdown implementations have gotten confused by the parentheses around the queer.party link. Neat.

Sending ActivityPub backfills

For folks following this site via ActivityPub, I need to run a WebMention backfill which is going to look quite spammy (one post per five seconds when it gets going). Feel free to mute or unfollow; I promise this will end eventually and then things should be sensible for a while.

The process should take around three hours. I’ll post from my main Mastodon account when it’s theoretically safe to follow again.

Not that I expect anyone to really follow this site via ActivityPub anyway! So far this experiment has proven to me what I’d already suspected – ActivityPub isn’t really a great replacement to RSS/Atom.

More ActivityPub testing

Okay so it looks like re-pinging of existing content to fed.brid.gy doesn’t cause it to reappear again, although it’s still a bit of a UX disaster how backfilled toots show up (namely as a gigantic flood to every follower’s timeline). I think that’s more of a Mastodon UX problem than ActivityPub or fed.brid.gy though, and it’s probably a necessary evil based on what happens when a Mastodon sidekiq queue gets backlogged or whatever. Not to mention even in a things-are-current context, the nature of how Pushl works means it’ll probably still cause stuff to get missed.

Read more…

Haha, oops

Looks like fed.brid.gy will happily re-ping itself for already-ingested content, and it also shows up on your timeline as a flood of current items with whatever random dates are in place.

That seems… suboptimal.

Re: tag-reply posts

Haha, sorry for the in-line links! I was thinking of tag-reply posts from the receiving side, as a way of letting others suggest tags for your posts. Readers of your comics post tag-replies on their site, your site would receive them as webmentions and you could add them to the comic post or not.

It’s all IndieWeb building blocks, but it’s a lot of plumbing on your side (accepting webmention data into your tags, moderating) and theirs (making a post on their own site with markup, sending webmentions).

Don’t apologize for the inline links, I could have just not added them. ;)

And okay, I understand what you’re getting at now! Yeah that seems like a possible way to do things although it’s a lot of setup for a lot of people and I like to use the principle of least effort for things like this.

Also this has inspired me to make a subcategory for the blog for conversational threads. I wonder if the webmentions will end up getting re-sent to the previous entry on this new category. I also wonder if I should set up a rule on my Atom feed to let people filter out posts like these.

Tag-reply posts?

In response to my tagging announcement, Marty McGuire writes:

This could be a use case for tag-reply posts!

Brid.gy supports this for tagging people in Flickr posts, as well as adding labels to GitHub issues.

(wow I really have got to write some sort of reply-to post importer… hand-converting that to Markdown was way more work than it should have been!)

I’m not quite sure I understand the use case that’s being called for, here. Publ tags are “tags” in the Tumblr sense, where they’re used to filter and organize posts, like being able to limit things to rants or whatever; I get the feeling that this is confusion over multiple uses of the word “tag,” like how on Twitter/Facebook/Flickr/etc. “tagging” means signaling to someone that they should read a post (akin to “Tag! You’re it!”). Think Technorati tags from way back when, or Atom categories, which are most akin to hashtags on Twitter and Facebook.

I think a tag-as-in-notification thing would be implemented in Publ the same way I implement in-reply-to and so on – I have a corresponding header in the entry file and my template generates an invisible <a class="u-in-reply-to" href="..."> in the post body. The relevant bit in my entry template is:

{% for type in ('like-of', 'in-reply-to', 'repost-of', 'bookmark-of', 'mention-of', 'rsvp') %}
    {% for link in entry.get_all(type) %}
        <a href="{{link}}" class="u-{{type}}"></a>
    {% endfor %}
{% endfor %}

So in that sense Publ already supports that at the template level; I can simply add tag-of to the list of microformat types. Or am I completely misunderstanding what is being suggested?