Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • 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 (Darkly)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Uncategorized
  3. There's a lot of energy on the #Fediverse right now to discuss/find a #Federated alternative to #Discord using #ActivityPub.

There's a lot of energy on the #Fediverse right now to discuss/find a #Federated alternative to #Discord using #ActivityPub.

Scheduled Pinned Locked Moved Uncategorized
fediversefederateddiscordactivitypubemissary
19 Posts 7 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.
  • Ben Pate 🀘🏻B Ben Pate 🀘🏻

    Hey, this is pretty interesting. Thanks for sharing!

    That would be really cool if they can support Bluesky and ActivityPub at the same time.

    The article on the website makes it seem like you’re only signing in with your ActivityPub identity though?

    Otherwise, β€œFediverse” client support is limited to the Mastodon API, or oft-unimplememted C2S API.

    I’ll definitely keep my eyes on this one!

    @klu9 @strypey

    ZicklagZ This user is from outside of this forum
    ZicklagZ This user is from outside of this forum
    Zicklag
    wrote last edited by
    #8

    @benpate @klu9 @strypey ATProto is used only for authentication, optional integrations, and optional backups.

    We have our own somewhat generic event streaming server that we use for chat spaces, where each chat space could be migrated to another server without the permission of the current host.

    It's "federated" in that each chat space will be able to be hosted on a different server and the client will still be able to join them all from the same app.

    ZicklagZ 1 Reply Last reply
    2
    0
    • ZicklagZ Zicklag

      @benpate @klu9 @strypey ATProto is used only for authentication, optional integrations, and optional backups.

      We have our own somewhat generic event streaming server that we use for chat spaces, where each chat space could be migrated to another server without the permission of the current host.

      It's "federated" in that each chat space will be able to be hosted on a different server and the client will still be able to join them all from the same app.

      ZicklagZ This user is from outside of this forum
      ZicklagZ This user is from outside of this forum
      Zicklag
      wrote last edited by
      #9

      We figure we don't need to replicate the chats to different servers, we just need to forward requests to the servers hosting the chat spaces that you've joined.

      There's more technical details in this blog post and I'm always open to questions!

      https://blog.muni.town/leaf-0-3-the-server-behind-roomy/

      @benpate @klu9 @strypey

      StrypeyS 1 Reply Last reply
      0
      • MaddyM Maddy

        @benpate @strypey@mastodon.nzoss.nz I'm building Shoot, a discord-like federated instant messenger with activitypub! I would always appreciate any help with development, my pins has any more info as well

        https://github.com/MaddyUnderStars/shoot

        Ben Pate 🀘🏻B This user is from outside of this forum
        Ben Pate 🀘🏻B This user is from outside of this forum
        Ben Pate 🀘🏻
        wrote last edited by
        #10

        @maddyunderstars Looks cool! I'm starring and following your work.

        It looks like you're using Typescript. All of my E2EE work is in Typescript, so there's a good chance you could use the library I'm making when you want to do encrypted groups.

        Let me know when I can help πŸ™‚

        MaddyM 1 Reply Last reply
        2
        0
        • Ben Pate 🀘🏻B Ben Pate 🀘🏻

          @maddyunderstars Looks cool! I'm starring and following your work.

          It looks like you're using Typescript. All of my E2EE work is in Typescript, so there's a good chance you could use the library I'm making when you want to do encrypted groups.

          Let me know when I can help πŸ™‚

          MaddyM This user is from outside of this forum
          MaddyM This user is from outside of this forum
          Maddy
          wrote last edited by
          #11

          @benpate Thanks! Your e1ee library will be helpful! Is it public right now? I had started playing with libsignal after seeing @HolosSocial use it

          Edit: Ah I see your comments on GitHub, thanks!

          1 Reply Last reply
          0
          • ZicklagZ Zicklag

            We figure we don't need to replicate the chats to different servers, we just need to forward requests to the servers hosting the chat spaces that you've joined.

            There's more technical details in this blog post and I'm always open to questions!

            https://blog.muni.town/leaf-0-3-the-server-behind-roomy/

            @benpate @klu9 @strypey

            StrypeyS This user is from outside of this forum
            StrypeyS This user is from outside of this forum
            Strypey
            wrote last edited by
            #12

            @zicklag
            > I'm always open to questions!

            How far off the mark was I in this pair of posts, about how Roomy uses ATProto and what that suggests for how it might use ActivityPub?

            https://mastodon.nzoss.nz/@strypey/116066950694720465

            > we don't need to replicate the chats to different servers

            So "channels" and "servers" (as Discord uses these terms) would be tied to the originating server, like MUC in XMPP? Not replicated using the data storage of the participating accounts, as Matrix does?

            @benpate @klu9

            1 Reply Last reply
            0
            • Mike PF Mike P

              @strypey @activitypods Roomy implements its own storage. #ATProto is only really used as an identity / sign-in layer.

              @erlend @zicklag

              StrypeyS This user is from outside of this forum
              StrypeyS This user is from outside of this forum
              Strypey
              wrote last edited by
              #13

              @FenTiger
              > Roomy implements its own storage. ATProto is only really used as an identity / sign-in layer.

              @zicklag's reply to @benpate suggests it's both/and;

              https://mastodon.social/@zicklag/116069496831677674

              The Roomy server has a copy of the data, and backs it up to PDS for people logged in with ATProto accounts. Not sure what implications this has for people logging in with ActivityPub accounts. But Solid pods could, in theory, be used like PDS a la @activitypods.

              @erlend

              Mike PF 1 Reply Last reply
              0
              • StrypeyS Strypey

                @FenTiger
                > Roomy implements its own storage. ATProto is only really used as an identity / sign-in layer.

                @zicklag's reply to @benpate suggests it's both/and;

                https://mastodon.social/@zicklag/116069496831677674

                The Roomy server has a copy of the data, and backs it up to PDS for people logged in with ATProto accounts. Not sure what implications this has for people logging in with ActivityPub accounts. But Solid pods could, in theory, be used like PDS a la @activitypods.

                @erlend

                Mike PF This user is from outside of this forum
                Mike PF This user is from outside of this forum
                Mike P
                wrote last edited by
                #14

                @strypey @zicklag @benpate @activitypods @erlend As far as I know, the "backup to PDS" thing is seen as "something we could do in principle, but haven't implemented yet".

                As I understand it, Solid uses a strictly "RDF / JSON-LD" approach, and I doubt that Roomy's current data model would fit into this very well.

                (I'm not directly involved in Roomy development, but I've been hanging out in their internal chats, and following their evolution really quite closely.)

                1 Reply Last reply
                1
                0
                • Ben Pate 🀘🏻B Ben Pate 🀘🏻

                  There's a lot of energy on the #Fediverse right now to discuss/find a #Federated alternative to #Discord using #ActivityPub.

                  @strypey suggested that I put this out there to anyone who's thinking about it. We could probably rebuild most of Discord's features as an #Emissary inbox without doing a lot of back end code.

                  I'm too swamped to start on this right now. But if you're a great HTML+CSS designer, I'm able to give some time to a team who wants to take this on.

                  StrypeyS This user is from outside of this forum
                  StrypeyS This user is from outside of this forum
                  Strypey
                  wrote last edited by
                  #15

                  @benpate
                  > We could probably rebuild most of Discord's features as an Emissary inbox without doing a lot of back end code

                  One way to rapid prototype this would be to cheat. Copy as much as Discord's HTML/CSS/JS as you can get hold of. Chuck it in a private repo, accessible only to you/ your team.

                  Then you only need to build a layer of scripting glue and gaffer tape between that and an existing AP back-end (#Emissary, @Bonfire, dealer's choice). Published under a free license.

                  (1/2)

                  #Discord

                  StrypeyS 1 Reply Last reply
                  0
                  • StrypeyS Strypey

                    @benpate
                    > We could probably rebuild most of Discord's features as an Emissary inbox without doing a lot of back end code

                    One way to rapid prototype this would be to cheat. Copy as much as Discord's HTML/CSS/JS as you can get hold of. Chuck it in a private repo, accessible only to you/ your team.

                    Then you only need to build a layer of scripting glue and gaffer tape between that and an existing AP back-end (#Emissary, @Bonfire, dealer's choice). Published under a free license.

                    (1/2)

                    #Discord

                    StrypeyS This user is from outside of this forum
                    StrypeyS This user is from outside of this forum
                    Strypey
                    wrote last edited by
                    #16

                    After a few days/ weeks of furious hacking, you'll either give up in disgust and tombstone your repo, or a get a PoC working. If you do, celebrate and announce the fact.

                    Then you can recruit web/app designers who've never had access to the private repo (with the Discord layout code). They can then build Free Code interfaces on top of your glue and gaffer tape layer. Voila, a fully libre service with all the key features of Discord

                    Rinse, repeat for other DataFarms we'd like to replace.

                    (2/2)

                    fluffy πŸ’œF 1 Reply Last reply
                    2
                    0
                    • StrypeyS Strypey

                      After a few days/ weeks of furious hacking, you'll either give up in disgust and tombstone your repo, or a get a PoC working. If you do, celebrate and announce the fact.

                      Then you can recruit web/app designers who've never had access to the private repo (with the Discord layout code). They can then build Free Code interfaces on top of your glue and gaffer tape layer. Voila, a fully libre service with all the key features of Discord

                      Rinse, repeat for other DataFarms we'd like to replace.

                      (2/2)

                      fluffy πŸ’œF This user is from outside of this forum
                      fluffy πŸ’œF This user is from outside of this forum
                      fluffy πŸ’œ
                      wrote last edited by
                      #17

                      @strypey Personally I'd be much more interested in seeing what could be done using a more IndieWeb approach. atom or mf2 for publishing, WebSub+WebMention for push, bearer tokens exchanged via TicketAuth for private access.

                      I'm not sure it would be *better* than ActivityPub but I do like the idea of building protocols on top of the web and which don't rely on .well-known paths to function.

                      fluffy πŸ’œF 1 Reply Last reply
                      0
                      • fluffy πŸ’œF fluffy πŸ’œ

                        @strypey Personally I'd be much more interested in seeing what could be done using a more IndieWeb approach. atom or mf2 for publishing, WebSub+WebMention for push, bearer tokens exchanged via TicketAuth for private access.

                        I'm not sure it would be *better* than ActivityPub but I do like the idea of building protocols on top of the web and which don't rely on .well-known paths to function.

                        fluffy πŸ’œF This user is from outside of this forum
                        fluffy πŸ’œF This user is from outside of this forum
                        fluffy πŸ’œ
                        wrote last edited by
                        #18

                        @strypey I'm not sure it would be *better* than ActivityPub but it'd be a fun thing to experiment with, at least.

                        StrypeyS 1 Reply Last reply
                        0
                        • fluffy πŸ’œF fluffy πŸ’œ

                          @strypey I'm not sure it would be *better* than ActivityPub but it'd be a fun thing to experiment with, at least.

                          StrypeyS This user is from outside of this forum
                          StrypeyS This user is from outside of this forum
                          Strypey
                          wrote last edited by
                          #19

                          @fluffy
                          > what could be done using a more IndieWeb approach. atom or mf2 for publishing, WebSub+WebMention for push, bearer tokens exchanged via TicketAuth for private access

                          Knock yourself out. Let a thousand flowers bloom! ; )

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


                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          Powered by NodeBB Contributors
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • World
                          • Users
                          • Groups