Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

NodeBB <> Lemmy federation issue (re: nullable image/icon)

Technical Discussion
8 3 2

Gli ultimi otto messaggi ricevuti dalla Federazione
  • Thank you, @julian.

    One thing I am concerned about is how that affects forums and communities.

    But then I think, so what if a NodeBB forum or PieFed community wanted to highlight people because those people represented the values of that community (even if they were not necessarily a part of it)?

    This is something that no forum software that I am aware of does because we always think of forums as only something we join into.

    And it is so amazing to me that the FediVerse and the social web movement could provide a forum or group the opportunity to grow in the opposite direction—sending people outwards for new shared experiences.

    read more

  • @julian I forgot, why do you want to delete a context? If it's your thread, isn't it enough to just Delete the top-level post?

    read more

  • mradcliffe@nokoto.org apart from the technical details, this approach also is extremely easy to explain to laypeople.

    "Follow who this person follows" :heavy_check_mark:

    read more

  • I think that my comment on GitHub that Group Actors acting as Starter Packs really comes from how I approach my social network.

    I rely on my friends and peers to discover new topics and meet new people.

    Friends and peers as Starter Packs work great on a small microblog instance like Mastodon, Misskey, or Sharkey because the federated feed/bubble lists topics written by the amazing people that they are following. This approach is ideal for small instances, but flagship, large and relayed instances make it much harder as the topics are much too diverse. 

    When a small instance I was part of shutdown, I was really at a loss because I relied heavily on that feature without following people myself i.e. I'm lazy. And so to figure out who to follow, I went back to my peers’ and friends’ following Collection. Note to self, I need to remember to continually discover more people from people I follow now that I am on my own single-actor instance.

    This is why I come to the conclusion that people are Starter Packs. Or in other words, Actors are Starter Packs. And more specifically, anyone or thing with a publicly-available following Collection is a Starter Pack. 

    But making a public directory of everyone is not a good idea and discoverability is hard.

    Starter Packs should be (Group) Actors because

    Consent is built-in with the Follow Accept/Reject.People that want to explicitly allow followers already have this option.Implementations should use Mastodon’s discoverability property to also limit who a Starter Pack may follow.Revoking consent is mostly built-in with either Remove Follow, Block Undo, or Reject Follow.Discoverability is built-in:The following Collection is available.Group Actors can make posts when their following Collection is updated.Amazing UX designers can make the following Collection more usable in their software.Starter Packs that are used in bad faith can be defederated like any other bad faith Actor or instance.The barrier to implementation is much lower than tacking on anything new to the specification.
    read more

  • Currently I am grappling with the specifics behind how to federate out the deletion of a topic in a category (or in ForumWG terms, the deletion of a context from an audience.)

    For those unaware, a context is essentially an OrderedCollection containing all objects within its purview.

    Deleting a note or other object is easy. If you are same-origin as the object, you Delete(Object), done.

    Deleting a context is more difficult... you can't rely on other implementors to store references to your contexts, since it is essentially meaningless to them. Furthermore, if a context is deleted, then when a Delete(Context) is federated out, receivers will have no idea what they're seeing, will try to retrieve the object, and find a 404. So it doesn't even work at all.

    Even worse, you can't really delete other peoples' contexts (or for that matter, their content) since you're not same-origin.

    Finally, I realized I'm looking at this the wrong way — I'm not deleting contexts, I'm simply removing them from an audience. Remove works perfectly fine when the context continues to exist (as it can be referenced and duck typed). Remove also works for remote content; the same-origin check applies to the audience you're removing from.

    If you're deleting a context, you have to be the same-origin, and you really should just federate out deletion of the local members in that collection, via regular Delete(Object).

    I suppose federating out self-destruction of a context would be the most complete but it is quite difficult to do when it is no longer resolvable...

    read more

  • Yes I'm fine with that. It doesn't make much difference in the end.

    read more

  • Thanks Rimu. Will give this a shot.

    Upon reflection, since Deletes aren't wrapped in an Announce, then I would recommend that any Move activity we use not be wrapped in Announce either.

    read more

  • @julian if you give me any specific examples of when you would want to use null, i can recommend better alternatives. generally, it's always possible that there is missing information.

    read more
Post suggeriti
  • 0 Votes
    1 Posts
    3 Views
    Missed @ben's keynote at this year's @fediforum? Here's the full transcript. "The opportunity right now isn't to build a better Twitter or to provide a nice place for people who care about Linux to chat: it's to build infrastructure that vulnerable people can actually use to organize, to communicate safely, and to build community. But we can only do that if we're building with those communities from day one, not building for them based on our assumptions about what they need." https://flip.it/Xs9Lur#OpenSocial #OpenSocialWeb #Community #CommmunityBuilding #FediForum #Fediverse #Media #ActivityPub #ATProto #Protocols #Technology #Tech
  • 0 Votes
    1 Posts
    3 Views
    We were excited to see the recent release of Ghost 6 with ActivityPub features. The Ghost team have been an active participant in our Long-form Text project. John O’Nolan, founder and CEO of Ghost.org, was kind enough to answer our questions about the software and its community.SWF: For our readers who don’t know Ghost, how would you describe the platform?JO: Ghost is an independent publishing platform for people who take writing seriously. We’re open source, non-profit, and built to give creators complete ownership of their content and their audience. We’ve helped indie publishers generate over $100 million in revenue from sustainable modern media businesses like 404Media, Platformer and Tangle News.SWF: Tell us about your user community. Can you paint a picture of them with a broad brush? What kind of people choose Ghost?JO: Ghost attracts people who care about owning their home on the internet, rather than having another profile on a social media platform. Our publishers range from solo journalists and creators, to established news outlets and large businesses. They value independence, and they’re willing to do the work to maintain control of their brand, distribution, data, and relationship with readers.SWF: What is it like to be a Ghost user in 2025? What kind of problems are your users facing today?JO: The big challenge today is the same one that’s haunted independent publishers for two decades: discovery. You can own your platform and serve your audience beautifully, but if people can’t find you, none of it matters. Email newsletters have been a solid answer, but they’re still dependent on deliverability and inbox placement. Algorithms on social platforms actively suppress links now, so sharing your work there is like shouting into a hurricane.SWF: Tell us about your experience with ActivityPub. Why did you decide to add ActivityPub support to your software?JO: Ghost has had support for delivering content by email newsletters for a number of years, and email has remained an unassailable distribution platform for publishers because it’s an open protocol. No company controls your email list except you, so it’s one of the best investments you can make. ActivityPub is now doing the same thing for social technology. It allows publishers to own and control a distribution channel that allows their work to spread and be discovered by others. For the first time, you can publish independently and grow faster than ever before.SWF: What stack is Ghost built on? What development tools does your team use?JO: Ghost is all built in modern JavaScript; mainly Node and React. Our ActivityPub service is built on Fedify, and everything we build is released under an open source MIT license. Our development tools are constantly evolving, and now more quickly than ever before with the advent of AI tools, which seem to change on a near weekly basis.SWF: What was the development process like?JO: Challenging, honestly. ActivityPub is beautifully designed but the spec leaves room for interpretation, and when you’re building something new, there’s no roadmap. Building interoperability between other platforms, who’ve all interpreted the spec in their own unique ways, has been a real challenge. The approach we took was to ship early versions as quickly as possible to beta testers so we could learn as we go, using real-world data and issues to guide our process. We’re in a good spot, now, but there’s still a lot to do!SWF: Ghost produces long-form blog posts, articles and newsletters. How was the experience adapting Ghost articles to the microblogging interfaces of Mastodon and Threads?JO: In some ways really easy, and in other ways quite tricky. We’re at a pretty early stage for long-form content on ActivityPub, and the majority of other products out there don’t necessarily have interfaces for supporting it yet. The easy part is that we can provide fallbacks, so if you’re scrolling on Mastodon you might see an article title and excerpt, with a link to read the full post – and that works pretty well! The dream, though, is to make it so you can just consume the full article within whatever app you happen to be using, and doing that requires more collaboration between different platforms to agree on how to make that possible.SWF: You’ve been an active participant in the ActivityPub community since you decided to implement the standard. Why?JO: ActivityPub is a movement as much as a technology protocol, and behind it is a group of people who all believe in making the web a weird, wonderful open place for collaboration. Getting to know those humans and being a part of that movement has been every bit as important to the success of our work as writing the code that powers our software. We’ve received incredible support from the Mastodon team, AP spec authors, and other platforms who are building ActivityPub support. Without actively participating in the community, I don’t know if we would’ve gotten as far as we have already. SWF: Ghost has implemented not only a publishing interface, but also a reading experience. Why?JO: The big difference between ActivityPub and email is that it’s a 2-way protocol. When you send an email newsletter, that’s it. You’re done. But with ActivityPub, it’s possible to achieve what – in the olden days – we fondly referred to as ‘the blogosphere’. People all over the world writing and reading each other’s work. If an email newsletter is like standing on a stage giving a keynote to an audience, participating in a network is more like mingling at the afterparty. You can’t just talk the whole time, you have to listen, too. Being successful within the context of a network has always involved following and engaging with others, as peers, so it felt really important to make sure that we brought that aspect into the product.SWF: Your reader is, frankly, one of the most interesting UIs for ActivityPub we’ve seen. Tell us about why you put the time and effort into making a beautiful reading experience for Ghost.JO: We didn’t want to just tick the “ActivityPub support” checkbox – we wanted to create something that actually feels great to use every day. The idea was to bring some of the product ideas over from RSS readers and kindles, where people currently consume long-form content, and use them as the basis for an ActivityPub-native reading experience. We experimented with multiple different approaches to try and create an experience with a mix of familiarity and novelty. People intuitively understand a list of articles and a view for opening and reading them, but then when you start to see inline replies and live notifications happening around those stories – suddenly it feels like something new and different. SWF: If people want to get a taste of the kind of content Ghost publishers produce, what are some good examples to follow?JO: Tough question! There are so many out there, and it really depends on what you’re into. The best place to start would be on ghost.org/explore – when you can browse through all sorts of different categories of creators and content, and explore the things that interest you the most. SWF: If I’m a Fediverse enthusiast, what can I do to help make Ghost 6 a success?JO: Follow Ghost publishers and engage with their content – likes, replies, reposts all help! Most importantly, help us spread the word about what’s possible when platforms collaborate rather than compete. And if you’re technical, our ActivityPub implementation is entirely open source on GitHub – contributions, bug reports, and feedback make the whole ecosystem stronger.
  • 0 Votes
    1 Posts
    10 Views
    Are there plans for DID DNS here on the #activitypub?
  • OK friends!

    Uncategorized activitypub wordpress
    4
    0 Votes
    4 Posts
    16 Views
    @Edent @blog wooo