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. It’s really surprising to me that the #fediverse hasn’t agreed on a standardized way to open cross-instance #activitypub objects and instead relies on links that open in the browser.

It’s really surprising to me that the #fediverse hasn’t agreed on a standardized way to open cross-instance #activitypub objects and instead relies on links that open in the browser.

Scheduled Pinned Locked Moved Uncategorized
fediverseactivitypuburischeme
103 Posts 11 Posters 96 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.
  • ricferrerR This user is from outside of this forum
    ricferrerR This user is from outside of this forum
    ricferrer
    wrote last edited by
    #1

    It’s really surprising to me that the #fediverse hasn’t agreed on a standardized way to open cross-instance #activitypub objects and instead relies on links that open in the browser. #urischeme

    I found this proposal and what’s thinking… https://codeberg.org/fediverse/fep/src/branch/main/fep/07d7/fep-07d7.md Which one would be your favorite?

    (If anyone has updates on the progress, feel free to point me in the right direction)

    julianJ ricferrerR Ben Pate 🤘🏻B 3 Replies Last reply
    0
    • ricferrerR ricferrer

      It’s really surprising to me that the #fediverse hasn’t agreed on a standardized way to open cross-instance #activitypub objects and instead relies on links that open in the browser. #urischeme

      I found this proposal and what’s thinking… https://codeberg.org/fediverse/fep/src/branch/main/fep/07d7/fep-07d7.md Which one would be your favorite?

      (If anyone has updates on the progress, feel free to point me in the right direction)

      julianJ This user is from outside of this forum
      julianJ This user is from outside of this forum
      julian
      wrote last edited by
      #2

      @ricferrer@mastodon.social the only implementor I know of who has recently played around with this is @rimu@piefed.social of Piefed. They use web intents I think, but the UX leaves much to be desired (many clicks and popups just to register the web intent)

      I don't recall whether there was a SWICG task force about this topic... perhaps the HTML Discovery Task Force might be related?

      cc @evan@cosocial.ca

      1 Reply Last reply
      1
      0
      • R ActivityRelay shared this topic
      • ricferrerR ricferrer

        It’s really surprising to me that the #fediverse hasn’t agreed on a standardized way to open cross-instance #activitypub objects and instead relies on links that open in the browser. #urischeme

        I found this proposal and what’s thinking… https://codeberg.org/fediverse/fep/src/branch/main/fep/07d7/fep-07d7.md Which one would be your favorite?

        (If anyone has updates on the progress, feel free to point me in the right direction)

        ricferrerR This user is from outside of this forum
        ricferrerR This user is from outside of this forum
        ricferrer
        wrote last edited by
        #3

        Btw: matrix and xmpp seem to have well defined and well supported URIs

        Tom CasavantT 1 Reply Last reply
        0
        • ricferrerR This user is from outside of this forum
          ricferrerR This user is from outside of this forum
          ricferrer
          wrote last edited by
          #4

          @julian @rimu @evan isn’t an URI scheme the way that would offer fastest compatibility? after all it’s been around forever, most browsers just let the OS handle it and even apps like zoom and iTunes have successfully implemented it for their service 🤔

          Evan ProdromouE RimuR 2 Replies Last reply
          0
          • ricferrerR ricferrer

            @julian @rimu @evan isn’t an URI scheme the way that would offer fastest compatibility? after all it’s been around forever, most browsers just let the OS handle it and even apps like zoom and iTunes have successfully implemented it for their service 🤔

            Evan ProdromouE This user is from outside of this forum
            Evan ProdromouE This user is from outside of this forum
            Evan Prodromou
            wrote last edited by
            #5

            @ricferrer @julian @rimu We already have an URI scheme for ActivityPub objects; it's https: .

            ricferrerR wakestW 2 Replies Last reply
            0
            • Evan ProdromouE Evan Prodromou

              @ricferrer @julian @rimu We already have an URI scheme for ActivityPub objects; it's https: .

              ricferrerR This user is from outside of this forum
              ricferrerR This user is from outside of this forum
              ricferrer
              wrote last edited by
              #6

              @evan @julian @rimu it’s horrible UX. It opens a browser where I am not logged in instead of opening my default app, like it happens with mailto:

              https: is for webpages

              bumblefudgeB infinite love ⴳT 2 Replies Last reply
              0
              • Evan ProdromouE Evan Prodromou

                @ricferrer @julian @rimu We already have an URI scheme for ActivityPub objects; it's https: .

                wakestW This user is from outside of this forum
                wakestW This user is from outside of this forum
                wakest
                wrote last edited by
                #7

                this is a serious issue Evan and dismissing it with replies like this really doesn't help anything. Its fine to not like the solution of using a custom uri scheme but currently there is not an easy way to interact with a remote object from your home server, and this is one solution to that issue that some people are already familiar with.

                Evan ProdromouE 1 Reply Last reply
                1
                0
                • ricferrerR ricferrer

                  Btw: matrix and xmpp seem to have well defined and well supported URIs

                  Tom CasavantT This user is from outside of this forum
                  Tom CasavantT This user is from outside of this forum
                  Tom Casavant
                  wrote last edited by
                  #8

                  @ricferrer I think it'd be neat to be able to share an ActivityPub URI in a matrix chat, have the client detect that it's an AP object and then render it as a card. I imagine the first step would be having an easy way to determine from the URI scheme that it's referencing an AP object and not just a generic URL

                  ricferrerR 1 Reply Last reply
                  0
                  • ricferrerR ricferrer

                    @evan @julian @rimu it’s horrible UX. It opens a browser where I am not logged in instead of opening my default app, like it happens with mailto:

                    https: is for webpages

                    bumblefudgeB This user is from outside of this forum
                    bumblefudgeB This user is from outside of this forum
                    bumblefudge
                    wrote last edited by
                    #9

                    @ricferrer@mastodon.social well, there are a couple of ways to approach this issue.

                    the protocol-native answer is that content-negotiation is baked in-- any website that wants to publish AP content does so only when that content-type is requested; what the website shows when the same URL is requested without specifying content type is... dealer's choice!

                    a good explorer/example to display an unopinionated version of the AP content itself is browser.pub, which makes this more intelligible/intuitive. See, for example:
                    https://activitypub.space/post/https%3A%2F%2Fmastodon.social%2Fusers%2Fricferrer%2Fstatuses%2F116020078304208223

                    1 Reply Last reply
                    0
                    • wakestW wakest

                      this is a serious issue Evan and dismissing it with replies like this really doesn't help anything. Its fine to not like the solution of using a custom uri scheme but currently there is not an easy way to interact with a remote object from your home server, and this is one solution to that issue that some people are already familiar with.

                      Evan ProdromouE This user is from outside of this forum
                      Evan ProdromouE This user is from outside of this forum
                      Evan Prodromou
                      wrote last edited by
                      #10

                      @wakest For good or ill, ActivityPub objects are supposed to use HTTPS URIs. It's in the spec: "Publicly facing content SHOULD use HTTPS URIs."

                      The discovery document shows a few good ways to discover if an HTML page, like a page loaded in a browser, represents an ActivityPub object.

                      https://swicg.github.io/activitypub-html-discovery/

                      One of the reasons I'm working on ActivityPub API adoption is to make this use case easier. You can see an explanation here:

                      https://evanp.me/2024/04/22/cross-server-interactions-in-activitypub/

                      Evan ProdromouE 1 Reply Last reply
                      0
                      • Tom CasavantT Tom Casavant

                        @ricferrer I think it'd be neat to be able to share an ActivityPub URI in a matrix chat, have the client detect that it's an AP object and then render it as a card. I imagine the first step would be having an easy way to determine from the URI scheme that it's referencing an AP object and not just a generic URL

                        ricferrerR This user is from outside of this forum
                        ricferrerR This user is from outside of this forum
                        ricferrer
                        wrote last edited by
                        #11

                        @tom or referencing for example an image-post on a website and clicking on it from the browser so that it promps me to open it on #mastodon or #pixelfed where I am already logged in and from there being able to repost, favorite, etc

                        1 Reply Last reply
                        0
                        • Evan ProdromouE Evan Prodromou

                          @wakest For good or ill, ActivityPub objects are supposed to use HTTPS URIs. It's in the spec: "Publicly facing content SHOULD use HTTPS URIs."

                          The discovery document shows a few good ways to discover if an HTML page, like a page loaded in a browser, represents an ActivityPub object.

                          https://swicg.github.io/activitypub-html-discovery/

                          One of the reasons I'm working on ActivityPub API adoption is to make this use case easier. You can see an explanation here:

                          https://evanp.me/2024/04/22/cross-server-interactions-in-activitypub/

                          Evan ProdromouE This user is from outside of this forum
                          Evan ProdromouE This user is from outside of this forum
                          Evan Prodromou
                          wrote last edited by
                          #12

                          @wakest Using a custom URI scheme is also going to give absolutely terrible UI for most users, who won't have an app installed.

                          Evan ProdromouE 1 Reply Last reply
                          0
                          • Evan ProdromouE Evan Prodromou

                            @wakest Using a custom URI scheme is also going to give absolutely terrible UI for most users, who won't have an app installed.

                            Evan ProdromouE This user is from outside of this forum
                            Evan ProdromouE This user is from outside of this forum
                            Evan Prodromou
                            wrote last edited by
                            #13

                            @wakest That said, I think using the `acct:` URI scheme for Webfinger is pretty great. I've implemented a protocol handler for it here:

                            https://acct.swf.pub/

                            Unfortunately, `acct:` isn't one of the protocols allowlisted by HTML5 for linking in HTML pages, so it uses `web+acct` instead. At some point, I'll ask the HTML5 WG to add acct: to the allowlist. It's on my todo list!

                            Evan ProdromouE 1 Reply Last reply
                            0
                            • Evan ProdromouE Evan Prodromou

                              @wakest That said, I think using the `acct:` URI scheme for Webfinger is pretty great. I've implemented a protocol handler for it here:

                              https://acct.swf.pub/

                              Unfortunately, `acct:` isn't one of the protocols allowlisted by HTML5 for linking in HTML pages, so it uses `web+acct` instead. At some point, I'll ask the HTML5 WG to add acct: to the allowlist. It's on my todo list!

                              Evan ProdromouE This user is from outside of this forum
                              Evan ProdromouE This user is from outside of this forum
                              Evan Prodromou
                              wrote last edited by
                              #14

                              @wakest there's an RFC for `acct:`

                              https://datatracker.ietf.org/doc/html/rfc7565

                              infinite love ⴳT 1 Reply Last reply
                              0
                              • ricferrerR ricferrer

                                @julian @rimu @evan isn’t an URI scheme the way that would offer fastest compatibility? after all it’s been around forever, most browsers just let the OS handle it and even apps like zoom and iTunes have successfully implemented it for their service 🤔

                                RimuR This user is from outside of this forum
                                RimuR This user is from outside of this forum
                                Rimu
                                wrote last edited by
                                #15

                                @ricferrer @julian @rimu@piefed.social @evan Here's a video of web+ap url handling in PieFed

                                https://peertube.wtf/w/7VwgZJ9UkH3REbcngaKn4Z

                                I'm not claiming it's the **best** solution but thought it was worth trying out.

                                RimuR 1 Reply Last reply
                                0
                                • RimuR Rimu

                                  @ricferrer @julian @rimu@piefed.social @evan Here's a video of web+ap url handling in PieFed

                                  https://peertube.wtf/w/7VwgZJ9UkH3REbcngaKn4Z

                                  I'm not claiming it's the **best** solution but thought it was worth trying out.

                                  RimuR This user is from outside of this forum
                                  RimuR This user is from outside of this forum
                                  Rimu
                                  wrote last edited by
                                  #16

                                  @ricferrer @julian @rimu@piefed.social @evan Instead of putting web+ap links everywhere, PieFed just silently rewrites urls in post bodies so they go to the local copy of each post, if we have it.

                                  In the threadiverse every instance has every post so this works pretty well.

                                  julianJ ricferrerR infinite love ⴳT 3 Replies Last reply
                                  0
                                  • RimuR Rimu

                                    @ricferrer @julian @rimu@piefed.social @evan Instead of putting web+ap links everywhere, PieFed just silently rewrites urls in post bodies so they go to the local copy of each post, if we have it.

                                    In the threadiverse every instance has every post so this works pretty well.

                                    julianJ This user is from outside of this forum
                                    julianJ This user is from outside of this forum
                                    julian
                                    wrote last edited by
                                    #17

                                    I had a quick back and forth with Gemini about the state of protocol handlers, and there are some options for getting it working without the terrible UI flow in Rimu's video (no shade to you Rimu, it was entirely out of your control!!)

                                    Since NodeBB is installable as a PWA, it is possible to pre-register the web+ap protocol handler, in which case it should "just work" to open those types of URLs.

                                    The other half is having a graceful fallback to opening the HTTPS URL if there is no handler... and to do that you need an interstitial page.

                                    ... aaaaand now I completely understand why those stupid "open in app/open in browser" pages exist!!! <img class="not-responsive emoji" src="https://activitypub.space/assets/plugins/nodebb-plugin-emoji/emoji/android/2639.png?v=528dceee8b2" title="☹" /> It's to trigger the protocol handler.

                                    1 Reply Last reply
                                    2
                                    0
                                    • R AodeRelay shared this topic
                                    • RimuR Rimu

                                      @ricferrer @julian @rimu@piefed.social @evan Instead of putting web+ap links everywhere, PieFed just silently rewrites urls in post bodies so they go to the local copy of each post, if we have it.

                                      In the threadiverse every instance has every post so this works pretty well.

                                      ricferrerR This user is from outside of this forum
                                      ricferrerR This user is from outside of this forum
                                      ricferrer
                                      wrote last edited by
                                      #18

                                      @rimu@mastodon.nzoss.nz @julian @rimu@piefed.social @evan it’s a clever workaround, but what I would like to have is a possibility of reference content from the #fediverse #activitypub from any app or browser without the need to them needing to exploit support it. Also it should work independently of the client app that I am using. Just like ftp: open the right app and goes to the content.

                                      1 Reply Last reply
                                      0
                                      • Evan ProdromouE Evan Prodromou

                                        @wakest there's an RFC for `acct:`

                                        https://datatracker.ietf.org/doc/html/rfc7565

                                        infinite love ⴳT This user is from outside of this forum
                                        infinite love ⴳT This user is from outside of this forum
                                        infinite love ⴳ
                                        wrote last edited by
                                        #19

                                        @evan @wakest rfc 7565 describes how acct: is not resolvable, although web+acct: doesn't have this problem if you define it to use webfinger.

                                        also i'm not sure about the browser UX but instead of a new uri scheme the typical solution here is actually content-type handlers (see firefox screenshot for example)

                                        an http resolver SHOULD dispatch the content to the appropriate handler according to its content-type

                                        "i'm not logged into my browser" is the issue, not "open a browser in a browser".

                                        infinite love ⴳT 1 Reply Last reply
                                        0
                                        • infinite love ⴳT infinite love ⴳ

                                          @evan @wakest rfc 7565 describes how acct: is not resolvable, although web+acct: doesn't have this problem if you define it to use webfinger.

                                          also i'm not sure about the browser UX but instead of a new uri scheme the typical solution here is actually content-type handlers (see firefox screenshot for example)

                                          an http resolver SHOULD dispatch the content to the appropriate handler according to its content-type

                                          "i'm not logged into my browser" is the issue, not "open a browser in a browser".

                                          infinite love ⴳT This user is from outside of this forum
                                          infinite love ⴳT This user is from outside of this forum
                                          infinite love ⴳ
                                          wrote last edited by
                                          #20

                                          @evan @wakest see also https://browser.pub/ and so on

                                          - html content goes to an html viewer
                                          - pdf content goes to a pdf viewer

                                          activity+json content could go to an activity viewer

                                          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