[HN Gopher] Creating your own federated microblog
       ___________________________________________________________________
        
       Creating your own federated microblog
        
       Author : dahlia
       Score  : 148 points
       Date   : 2025-04-24 09:37 UTC (13 hours ago)
        
 (HTM) web link (fedify.dev)
 (TXT) w3m dump (fedify.dev)
        
       | _heimdall wrote:
       | I've never quite understood the appeal of ActivityPub.
       | 
       | Looking at the list of goals in the article, the only benefit in
       | addition to what can easily be done with RSS is knowing who
       | follows me. Maybe its just me, but if I'm writing to a blog or a
       | microblog I just don't really care who follows me or even who
       | reads it.
       | 
       | There are more social features built into ActivityPub, likes and
       | shares for example, but at that point I'm likely not running my
       | own server and am trusting a third party to do it for me. The
       | idea that there are multiple hosts I can choose to trust rather
       | than one centralized one feels more like a principled argument
       | than one based on real benefits of, for example, owning my own
       | content or censorship resistance.
        
         | genghisjahn wrote:
         | I used to think running my own server for blog stuff was a
         | waste as well. But it's incredible what can be done with local
         | mini server running Ubuntu and cloud flare tunnels.
        
           | _heimdall wrote:
           | Sure, I have a small homelab and use Tailscale for a similar
           | setup to CF tunnels.
           | 
           | That's a bit besides the point though. I'm not saying hosting
           | ActivityPub yourself seems unnecessary, I'm saying that
           | ActivityPub itself seems unnecessary (or at least not worth
           | the costs and overhead).
        
           | gessha wrote:
           | With the rising VPS costs I'm starting to wonder if it's
           | better to move my VPS in-house(:D). Electricity-wise I might
           | be break-even but I wonder if the bandwidth I get from my ISP
           | will be the same, not that my services are high-traffic
           | anyway.
        
         | rglullis wrote:
         | > if I'm writing to a blog or a microblog I just don't really
         | care who follows me or even who reads it.
         | 
         | - if you want to have comments or backtracks, you can do it
         | with ActivityPub without having people signing up to your site
         | (directly or through some OAuth system)
         | 
         | - If you want to mitigate spam, you can set up your AP blog to
         | only accept messages on the inbox from actors who you
         | whitelist.
         | 
         | - You could have your own Substack where you only send the
         | updates to actors who are paying subscribers.
        
           | _heimdall wrote:
           | The OP here specifically wasn't including any auth features,
           | which I was pretty sure would mean backtracks and comments
           | aren't supported but maybe that's wring. It is possible with
           | ActivityPub, but I'd personally be hesitant to run my own
           | OAuth server just for a microblog.
           | 
           | Regardless, my underlying point really is about what I expect
           | of a microblog. If I'm hosting it myself I just want it to be
           | my little corner of the internet, not a full fledged social
           | media site that I have to maintain. That doesn't mean I'm
           | right or that others don't expect more.
        
             | rglullis wrote:
             | > If I'm hosting it myself I just want it to be my little
             | corner of the internet, not a full fledged social media
             | site that I have to maintain.
             | 
             | I think the problem is that OP is focused on developing a
             | framework for AP, and he is dogfooding it by developing an
             | application that other people can understand without too
             | many new concepts.
             | 
             | This is good if you want people to get experiments, but it
             | is terrible as a way to present the true potential of the
             | protocol: https://cosocial.ca/@evan/113143389340566731
        
           | apitman wrote:
           | > if you want to have comments or backtracks, you can do it
           | with ActivityPub without having people signing up to your
           | site (directly or through some OAuth system)
           | 
           | You can do the same thing with RSS+We mention, which is a way
           | simpler stack and predates ActivityPub by years
        
             | rglullis wrote:
             | Webmentions are a spammer's wet dream. There is a reason
             | they were adopted only by the Indieweb crowd.
             | 
             | Anyway, my point was less "ActivityPub can do everything
             | people can do with RSS" and more "having a mechanism to for
             | bidirectional _authenticated_ messages opens up the
             | possibility of new applications ".
             | 
             | The real interesting part will happen when/if more
             | developers realize that ActivityPub can do more than
             | "federated versions of popular social media platforms".
        
               | apitman wrote:
               | I might be misunderstanding what you're saying here. How
               | is ActivityPub more authenticated than Webmention? WM
               | requires the poster to host their content on a website.
               | This is exactly what the AP spec says to do. Now, since
               | the spec was published, most AP implementations also
               | support HTTP signatures[0], but this doesn't provide
               | additional guarantees that you can't get with WM. The
               | authentication is still tied to a URL.
               | 
               | As far as spamming goes, I don't see how WM is any worse
               | than AP. In both protocols your only options are
               | passlists and/or blocklists.
               | 
               | [0]: And an old version that doesn't have an official
               | spec. ActivityPub's issues with spec stagnation and de
               | facto standards is a whole other thing.
        
               | johnmaguire wrote:
               | I haven't dug into these, so apologies for the naive
               | question, but for a multi-tenant service like
               | WordPress.com, can you effectively limit which WordPress
               | blogs can WebMention you? If the allowlist is formed on
               | the domain, this seems limiting.
               | 
               | Perhaps more advanced URL regex can achieve more fine-
               | grained control but I do still see advantages in pubkey
               | auth (especially if people want to move their content.)
               | 
               | Still, I do find myself wishing for a lighterweight-than-
               | ActivityPub middleground.
        
               | apitman wrote:
               | You're right, in default configurations ActivityPub
               | definitely has an advantage here, since HTTPsigs are tied
               | to users, not instances, which gives finer grained
               | blocking. I'm not aware of anything like this for
               | Webmention.
               | 
               | I suspect this is because WM is used far less than AP. It
               | also grew out of a community (IndieWeb) where having your
               | own domain is a core tenet.
               | 
               | I think something like Mastodon could work with WM
               | though, since all URLs hang off of user URLs, so you
               | could block by URL prefix, ie "block
               | https://example.com/user1/*".
        
         | candiddevmike wrote:
         | ATProto may be more beneficial to integrate, Bluesky seems more
         | active than Mastodon... For blogging, there's WhiteWind:
         | 
         | https://whtwnd.com/
        
         | h4kor wrote:
         | I've added ActivityPub to my blog system
         | (https://h4kor.github.io/owl-blogs/) as just another way of
         | subscribing to the blog, but found that it is a good model to
         | support interactions.
        
         | rpgbr wrote:
         | The appeal, at least for me, is having a social layer on top of
         | your own stuff. Are you familiar with POSSE (Publish (on your)
         | Own Site, Syndicate Elsewhere)? With AP you skip the whole
         | second part because it's automatically syndicated everywhere
         | the moment you post on your own site.
         | 
         | I'm having good results with the WordPress ActivityPub plugin
         | on my blog[1].
         | 
         | [1] https://manualdousuario.net/en/
        
           | patrickdavey wrote:
           | Is this [1] the actual plugin you're using?
           | 
           | [1] https://wordpress.org/plugins/activitypub/
        
         | vhcr wrote:
         | I hate that the conversation online has moved from distributed
         | to federated, I understand that running p2p software is harder
         | for the user, but I feel like actually distributed
         | microblogging / social networks are the right choice going
         | forwards.
        
           | zamalek wrote:
           | Not even microblogging, jut blogging in general. ActivityPub
           | _could_ be a replacement for RSS readers. I consider a
           | platform that allows you to mix microblogs, blogs, podcasts,
           | videos, and livestreams /events the "endgame" - all of which
           | can be done with ActivityPub (albeit with different projects
           | today). Unfortunately this is not the type of project that I
           | would find interesting at all to write.
        
       | smjburton wrote:
       | > To simplify the tutorial, we'll impose the following feature
       | constraints:
       | 
       | > There is no search functionality.
       | 
       | This makes sense for the tutorial, but search functionality would
       | be awesome for discovery, both in terms of people finding your
       | blog as well as finding other interesting blogs to follow. Niche
       | blogs seem more difficult to find these days when Google only
       | seems to surface websites with the right keywords.
        
         | TheAceOfHearts wrote:
         | Google offers Programmable Search Engine [0], a service where
         | you can create site-specific search box. That's probably good
         | enough for most small personal websites.
         | 
         | [0] https://developers.google.com/custom-search/
        
           | smjburton wrote:
           | This is interesting, thanks for sharing.
        
       | saltysalt wrote:
       | I miss RSS.
        
         | marcusb wrote:
         | It's still around
        
           | quantadev wrote:
           | RSS is around, but Google successfully relegated it to a
           | grave yard, when they stopped supporting it in a big way. RSS
           | is such a simple and powerful thing, it's a shame it's almost
           | nonexistant. Even ActivityPub should've been "built around
           | and on top of RSS" rather than as a separate thing. Same is
           | true of Nostr. Nostr could've been an extension to RSS and
           | let RSS be the least operative fallback for the entire
           | protocol, but yet the format for all delivery nonetheless.
        
             | saltysalt wrote:
             | Completely agree! We already had a perfectly good protocol
             | for content federation.
        
           | saltysalt wrote:
           | I've hosted an RSS feed on my blog for 20 years, in the vain
           | hope that it is still being consumed by someone.
           | 
           | I think the only use case keeping RSS alive is podcast feeds.
        
       | AndrewStephens wrote:
       | One of my issues with ActivityPub is that there is no such thing
       | as a cut-down completely static AP feed for blogs. I want
       | Mastodon users to be able to follow my static blog but I don't
       | want to implement the machinery to have full interactivity.
       | 
       | Basically an RSS bridge would work fine. I know such things
       | already exist but it would be cool if it was built into AP.
       | 
       | Right now I just manually post my blog post to my Mastodon
       | account which is perfectly fine.
        
         | rglullis wrote:
         | This is an issue with Mastodon (and most of other software that
         | implements only the push-based processing of inbox), but there
         | is nothing on ActivityPub that prevents a client to directly
         | read the actor's outbox.
         | 
         | As a matter of fact, I am working on a fork of a elk right now
         | that is meant to function as a _pull_ -based reader of AP data,
         | so pretty soon you will be able to have your SSG generate an
         | outbox for you and I would get all updates, boost it, etc
        
         | apitman wrote:
         | ActivityPub can be implemented as static files. You do end up
         | with a lot of duplication because activities contain objects,
         | and you need separate URLs for each.
        
       | 1dom wrote:
       | This is really useful, thanks.
       | 
       | I've recently been playing around selfhosting a small single user
       | activitypub server to see how it works. I can't understate how
       | satisfying it's been to wallow in compared to a static site or
       | serverless setup. It unexpectedly tickled that special "oooh, a
       | _system_" part of my brain, a lot.
        
       | jskherman wrote:
       | On a related note, see Hollo: https://github.com/fedify-dev/hollo
        
       ___________________________________________________________________
       (page generated 2025-04-24 23:01 UTC)