Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

FòrumCAT

  1. Home
  2. Uncategorized
  3. @julian diving into the hard problems of building for the Fediverse at #Fedicon, starting with hilariously talking about how those hard problems look like to average users 😅

@julian diving into the hard problems of building for the Fediverse at #Fedicon, starting with hilariously talking about how those hard problems look like to average users 😅

Scheduled Pinned Locked Moved Uncategorized
fedicon
98 Posts 13 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • evan@cosocial.caE evan@cosocial.ca

    @benpate @FenTiger @julian there's a whole chapter about the API in my book:

    https://evanp.me/activitypub-book/

    evan@cosocial.caE This user is from outside of this forum
    evan@cosocial.caE This user is from outside of this forum
    evan@cosocial.ca
    wrote last edited by
    #87

    @benpate @FenTiger @julian also, and this is very important: if you want apps to have a global reputation, so that social pressure can keep them from being abusive, they need to have a universal id across different API servers.

    1 Reply Last reply
    0
    • evan@cosocial.caE evan@cosocial.ca

      @by_caballero @benpate @thisismissem @julian @naturzukunft that's too hard. We have an API. It already works.

      julian@community.nodebb.orgJ This user is from outside of this forum
      julian@community.nodebb.orgJ This user is from outside of this forum
      julian@community.nodebb.org
      wrote last edited by
      #88

      evan@cosocial.ca I'm not certain whether it's too hard or not. At this point I haven't looked into it yet.

      But if there is a chance that we can use standardized endpoints for this, then it's a point in their favour.

      At the same time, I am a proponent of simplicity.

      1 Reply Last reply
      0
      • evan@cosocial.caE evan@cosocial.ca

        @benpate @FenTiger @julian they should just pass them along! If you don't implement a side effect for that activity type, just leave it alone and pass it along to clients.

        benpate@mastodon.socialB This user is from outside of this forum
        benpate@mastodon.socialB This user is from outside of this forum
        benpate@mastodon.social
        wrote last edited by
        #89

        @evan @FenTiger @julian

        This sounds perfectly reasonable, and is probably the right thing to do.

        Except I probably implemented ActivityPub wrong - using it as a protocol and not an architecture.

        Database tables represent the things I understand, and are written out as “JSON-LD” when needed. So there’s no true “outbox”, except as links to the tables I care about 😅

        Again, this is an “it’s me, not you” situation, but I’ll bet others might be in the same boat.

        julian@community.nodebb.orgJ 1 Reply Last reply
        0
        • benpate@mastodon.socialB benpate@mastodon.social

          @evan @FenTiger @julian

          This sounds perfectly reasonable, and is probably the right thing to do.

          Except I probably implemented ActivityPub wrong - using it as a protocol and not an architecture.

          Database tables represent the things I understand, and are written out as “JSON-LD” when needed. So there’s no true “outbox”, except as links to the tables I care about 😅

          Again, this is an “it’s me, not you” situation, but I’ll bet others might be in the same boat.

          julian@community.nodebb.orgJ This user is from outside of this forum
          julian@community.nodebb.orgJ This user is from outside of this forum
          julian@community.nodebb.org
          wrote last edited by
          #90

          benpate@mastodon.social said:
          > Database tables represent the things I understand, and are written out as “JSON-LD” when needed. So there’s no true “outbox”, except as links to the tables I care about 😅

          I am pretty sure 85-90% of the fediverse developers do this 😛

          The remaining 10-15% complain loudly when the "JSON-LD" we send back doesn't actually validate.

          1 Reply Last reply
          0
          • benpate@mastodon.socialB This user is from outside of this forum
            benpate@mastodon.socialB This user is from outside of this forum
            benpate@mastodon.social
            wrote last edited by
            #91

            @julian

            I honestly thought it was just me 😇

            evan@cosocial.caE 1 Reply Last reply
            0
            • benpate@mastodon.socialB benpate@mastodon.social

              @julian

              I honestly thought it was just me 😇

              evan@cosocial.caE This user is from outside of this forum
              evan@cosocial.caE This user is from outside of this forum
              evan@cosocial.ca
              wrote last edited by
              #92

              @benpate @julian sure. But neither of you support the ActivityPub API yet, right? And you both have pretty good ideas of how to do this correctly and probably even easily in your software.

              evan@cosocial.caE benpate@mastodon.socialB 2 Replies Last reply
              0
              • evan@cosocial.caE evan@cosocial.ca

                @benpate @julian sure. But neither of you support the ActivityPub API yet, right? And you both have pretty good ideas of how to do this correctly and probably even easily in your software.

                evan@cosocial.caE This user is from outside of this forum
                evan@cosocial.caE This user is from outside of this forum
                evan@cosocial.ca
                wrote last edited by
                #93

                @benpate @julian I'm not saying it's absolutely necessary to support arbitrary activity types. But it makes sense if you want to support interesting innovation at the edge. Otherwise, sure, just support the dozen or so activity types defined in the AP spec, plus a few more from FEPs you know.

                1 Reply Last reply
                0
                • benpate@mastodon.socialB benpate@mastodon.social

                  I'm genuinely behind on this. I've skimmed Evan's FEP, but a lot of OAuth complexity is still opaque to me.

                  It seems like the missing piece with using the C2S API would be *figuring out* what endpoints I can call to initiate an activity.

                  Does FEP-d8c2 implement discovery in some way that I'm not seeing? Or, is this something *still to be defined* and I'm just jumping the gun, here?

                  @evan @thisismissem @julian @naturzukunft

                  evan@cosocial.caE This user is from outside of this forum
                  evan@cosocial.caE This user is from outside of this forum
                  evan@cosocial.ca
                  wrote last edited by
                  #94

                  @benpate @thisismissem @julian @naturzukunft I forgot to ask: have you ever implemented an OAuth client before? Or used a library for it?

                  julian@community.nodebb.orgJ 1 Reply Last reply
                  0
                  • evan@cosocial.caE evan@cosocial.ca

                    @benpate @thisismissem @julian @naturzukunft I forgot to ask: have you ever implemented an OAuth client before? Or used a library for it?

                    julian@community.nodebb.orgJ This user is from outside of this forum
                    julian@community.nodebb.orgJ This user is from outside of this forum
                    julian@community.nodebb.org
                    wrote last edited by
                    #95

                    evan@cosocial.ca yeah, I implemented maybe 20-30 of them for NodeBB. Everything eventually standardized around OIDC and so I have one single plugin in NodeBB that works almost all of the time.

                    So that's my client, but I'm afraid of building a server. That one I haven't done successfully.

                    cc benpate@mastodon.social thisismissem@hachyderm.io

                    1 Reply Last reply
                    0
                    • thisismissem@hachyderm.ioT This user is from outside of this forum
                      thisismissem@hachyderm.ioT This user is from outside of this forum
                      thisismissem@hachyderm.io
                      wrote last edited by
                      #96

                      @julian @evan @benpate I've built 2-3 servers, but the good news is that you generally don't need to implement from scratch (unless you really want to, and then you take your time, reading the specs, checking other implementations, double checking the specifications)

                      1 Reply Last reply
                      0
                      • evan@cosocial.caE evan@cosocial.ca

                        @benpate @julian sure. But neither of you support the ActivityPub API yet, right? And you both have pretty good ideas of how to do this correctly and probably even easily in your software.

                        benpate@mastodon.socialB This user is from outside of this forum
                        benpate@mastodon.socialB This user is from outside of this forum
                        benpate@mastodon.social
                        wrote last edited by
                        #97

                        @evan @julian

                        I’m confused, sorry. In this context, I’m assuming you mean the ActivityPub C2S API (which I have not implemented)

                        But I thought we were talking about a future update to the C2S API, which I think would be amazing, but I also haven’t implemented because.. it’s in the future?

                        I have done tons of OAuth clients and servers, and even have a Mastodon API about 80% complete.

                        julian@community.nodebb.orgJ 1 Reply Last reply
                        0
                        • benpate@mastodon.socialB benpate@mastodon.social

                          @evan @julian

                          I’m confused, sorry. In this context, I’m assuming you mean the ActivityPub C2S API (which I have not implemented)

                          But I thought we were talking about a future update to the C2S API, which I think would be amazing, but I also haven’t implemented because.. it’s in the future?

                          I have done tons of OAuth clients and servers, and even have a Mastodon API about 80% complete.

                          julian@community.nodebb.orgJ This user is from outside of this forum
                          julian@community.nodebb.orgJ This user is from outside of this forum
                          julian@community.nodebb.org
                          wrote last edited by
                          #98

                          benpate@mastodon.social I think the second half of evan@cosocial.ca's FEP utilizes the ActivityPub API (C2S) as written.

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups