Hi! I am a beginner programmer, but I would like to understand the general process to go from a non-activitypub to an activity software (ie. Lemmy)

  • nutomicA
    link
    fedilink
    arrow-up
    7
    ·
    4 years ago

    Essentially ActivityPub is a network protocol, like for example HTTP. But its on a higher layer, which makes the implementation much more complex. There is also very little documentation, which makes the implementation more complicated. And every project has their own “dialect” of ActivityPub, which means that Lemmy cant federate with any other projects yet.

    As an intruduction, here are two articles, and I think @dessalines@lemmy.ml has some more. Tbh we should collect them somewhere, maybe in our documentation.

    ActivityPub - one protocol to rule them all?

    A highly opinionated guide to learning about ActivityPub

    And here is an explanation how federation works in Lemmy

      • nutomicA
        link
        fedilink
        arrow-up
        4
        ·
        4 years ago

        Didnt even know about that section 😄

        I think we should reorganize that a bit, and put it together with the other ActivityPub docs in the “contributing” section.

  • koavf
    link
    fedilink
    arrow-up
    6
    ·
    4 years ago

    Can you clarify: I think you may be asking one of two questions.

    One is a kind of social experiment one about viable alternatives to non-federated services and if the network effect is sufficient. E.g. I personally use two Mastodon instances and I don’t use Twitter. I find discussion on Mastodon to be much better than on Twitter and far less ugly and confusing, so in that respect, it is a viable alternative. If you are looking for a flood of hundreds of millions of users making a firehose of posts, that’s not going to happen any time soon.

    The second question you may be asking is something along the lines of, “If I have a non-ActivityPub-based service on the Web, can I convert that into an ActivityPub-based one?” and the answer there is a lot more complicated but some services such as WordPress now allow federation, so that’s something.

    In other words, in terms of adoption of fediverse services, there has definitely been traction and mostly it’s a matter of quantity over quality. If you are asking a technical question about how easy ActivityPub is to use as a standard, I’m too ignorant to answer.

    • SnowCodeOP
      link
      fedilink
      arrow-up
      5
      ·
      4 years ago

      I was thinking about the second question. I would like to know how is the technical process of going from a “centralized” software to a “decentralized” software using ActivityPub.

      • nromdotcom
        link
        fedilink
        arrow-up
        5
        ·
        4 years ago

        It’s useful (in some cases) to have a functional piece of software before adding in federation. Certainly with Lemmy as a (relatively-)new space for Fediverse software. If you were making a microblogging platform, maybe starting with federation is the better move.

        But basically you “just” need to take your existing software and (a) publish activities based on actions happening on your instance to some process that can durably fan out to the other instances and (b) add some new endpoints for processing incoming activities from other instances.

        Of course the complexity comes in the actual implemention details it’s not easy by any means for a non-trivial piece of software, but based on the AP and AS standards there are at least well-defined APIs you need to implement.