Use that, and the browser/native platform integration is already there, and ShareOpenly becomes more of stopgap measure.
The only real problem is that you can’t feature-detect share_target support—so you can’t detect if the user is able to add a web app to the user agent’s share targets.
As for ShareOpenly using these things, see https://shareopenly.org/share/?url=https://example.com, and it requires the user to paste a value in once, and then by the looks of it it will remember that site via a cookie. Not great, but I guess it works. But I’m sceptical anyone will really use it.
quectophoton · 3h ago
> The only real problem is that you can’t feature-detect share_target support
I didn't know this existed, so the first thing I did is check the caniuse website, and yeah not even they have info about the Web Share Target API[1][2]. As of writing this comment, they only have info about the Web Share API[3].
Because as with many, many, many APIs that Chrome ships it's not a spec:
- there's a giant banner on the left saying "unofficial"
- The "Status of this document" section states the following:
--- start quote ---
This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.
--- end quote ---
But just because it was shipped in Chrome and has some napkin scribbles resembling an official spec, people will both claim it's a spec and expect everyone to implement it.
troupo · 2h ago
> There’s already a better spec from 2016
aka
This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.
chrismorgan · 1h ago
It’s been implemented in Chromium for 4–6 years, Firefox’s position is positive (admittedly that was 2019), WebKit’s is neutral, and there are bugs open in both Firefox and WebKit.
I regularly criticise Google-only specs and point out how they’re not standards in any way, but this one is not really like that—it’s just that the other two platforms are missing a couple of other pieces that are better to get in place first, and it’s not a high priority for them.
And certainly in the context of this rel="share-url" outsider proposal, nah, the share_target manifest reference is still way more “official” than that.
biggestfan · 2h ago
Does anyone even use share buttons? I always just copy the link, and it seems that anyone I see sharing things does the same. It feels more like a way for the social media companies to advertise/track, and those sites have been sending less and less traffic for years, so I wonder why every site still has them.
hahn-kev · 31m ago
Yeah I don't know if I've ever used them. Maybe once or twice ever. For me the main problem is UX. Sharing from my platform (copy url on computer, share button on android) is always in the same place. But the share button built in is never in the same place across different websites, how could it be?
hombre_fatal · 17m ago
The TFA is about how to craft a "Share on {ExternalSite}" URL, not a "Share this page" button.
0x00000000 · 1h ago
tiktok share links also dox you. they have a banner with the name and profile picture of the person that shared it
procaryote · 29m ago
Exposing the sharing intent is a problem, not a goal.
Sharing a link is easy. That's why URLs were invented. Exposing the sharing intent is only beneficial to companies that want to track you.
Sure, pressing "share on facebook" might be slightly lower friction than copy-pasting the link, but if the sharing isn't worth that friction, perhaps don't?
rs186 · 2h ago
The article is proposing a technical solution to a business problem.
I have no doubt this proposal or any other similar proposal would work well in the 90s or early 2000s. Let's go one step further and let browsers work with all those third party website and figure all the details for sharing, and websites never embed anything.
But you see, that's not the problem. These share buttons are often trojans on websites. Facebook tracks you via those share buttons even if you have never had a Facebook account. And people come up with various solutions to tackle that -- adblockers just block network traffic, while a small amount of website owners create a separate switch which you can toggle and then share with Facebook. Isn't all of that stupid? I don't see why Facebook, Instagram will be eager to opt in to this solution and make the experience good.
johannes1234321 · 2h ago
Yeah, for those branded buttons on websites this isn't an alternative. They want all their JavaScript for collect information on the user, even if they don't press the button.
I believe this is to play with (mobile) browser's share button, while even there I don't get how this is supposed to work.
First: How does this figure out where I want to share to? And then: Would it have to load the shared-to page first, parse it to see if there is such a Tag and then interpret it?
Maybe I am missing something.
defraudbah · 2h ago
exactly my thought, links work fine as they are, my biggest problem with them is 9 times of 10 I don't know where they lead. Fixing one "share" use case isn't solving a misuse
hombre_fatal · 28m ago
So, it's a way to tell other applications how they would craft a URL on your site such that they can prefill a form on your site?
A meta tag in the html of your webpages seems like the wrong place for that info since it's not something that changes per page unlike the OpenGraph/TwitterCard meta tags that tell third-party apps how to generate a preview of the page.
Surely a better place would be example.com/.well-known/share-url.
cxr · 3h ago
Only tangentially related to the main subject, but the post ends with:
> Extensions to the predefined set of link types may be registered on the microformats page for existing rel values.
Please don't. WHATWG's tendency to self-anoint and all its idiosyncrasies notwithstanding, the IANA maintains the link relation registry[1]. Use the procedure prescribed in the RFCs.
Looking at ShareOpenly, I think this is basically a reaction to "Mastodon instances make social sharing complicated from the web". A "share to Mastodon" button is impossible, and a button for every Mastodon instance in existence is impractical. Thus a "fuck it, I guess just put in a URL and we'll work out how to send something to it" solution.
Speaking as someone who never ever uses a share button I think this is misguided, we should just remove that entire class of widget from the web, and people who want to share things can copy-paste the URL into their platforms of choice.
tegiddrone · 49m ago
I agree. Except we aren't there with web literacy and having that integrated UX is significant.
blahgeek · 2h ago
Does this mean that, when the user clicks a "share to social.network" button in random.com, the browser would first request the full html page of social.network (in the background) only to parse the rel="share-url" link? Seems a bad design.
geocar · 3h ago
One thing I really don't like about it is the implication that the url and the share-button could refer to different things. I feel like browser vendors probably care about knowing whether users use the share button or copy/paste the URL, but hypothetically they know already and I don't feel like most (any?) websites need that information -- it might correlate to a sophistication-level of the user and be used for targeting by scammers, and that could be bad.
For me, I use history.replaceState to change the url after I've got my campaign tracking to the share link, this way the browser's built-in share button does all the work for me. I can detect trivial-reload by checking the cookie I dropped when the page came in, so I don't mis-attribute shares. It is a shame I cannot do this so easily without JavaScript, but I'm sure I can actually buy non-JavaScript users from Google (and other ad platforms) so I'm not sure it's worth worrying about.
uberman · 3h ago
I don't care for the dash myself. I would have chosen something more like rel="shareable"
nashashmi · 3h ago
I was thinking A button can also be an alternative with all data sent as post, but apparently the button attributes don’t include any ability to specify form values. This has to be done via JS or via additional tags (which is still an option).
https://w3c.github.io/web-share-target/
https://developer.mozilla.org/en-US/docs/Web/Progressive_web...
Use that, and the browser/native platform integration is already there, and ShareOpenly becomes more of stopgap measure.
The only real problem is that you can’t feature-detect share_target support—so you can’t detect if the user is able to add a web app to the user agent’s share targets.
As for ShareOpenly using these things, see https://shareopenly.org/share/?url=https://example.com, and it requires the user to paste a value in once, and then by the looks of it it will remember that site via a cookie. Not great, but I guess it works. But I’m sceptical anyone will really use it.
I didn't know this existed, so the first thing I did is check the caniuse website, and yeah not even they have info about the Web Share Target API[1][2]. As of writing this comment, they only have info about the Web Share API[3].
[1]: https://github.com/Fyrd/caniuse/issues/4670
[2]: https://github.com/Fyrd/caniuse/issues/4906
[3]: https://caniuse.com/web-share
https://github.com/mdn/browser-compat-data/blob/main/manifes... (data integrated into the MDN page I linked)
Chromium: https://chromestatus.com/feature/5662315307335680, implemented on Android from M71 and desktop from M89.
WebKit: standards position is neutral <https://github.com/WebKit/standards-positions/issues/11>, and https://bugs.webkit.org/show_bug.cgi?id=194593 shows plenty of developer interest but doesn’t look to have been touched by Apple.
Firefox: standards position is positive <https://mozilla.github.io/standards-positions/#web-share-tar...>, but https://bugzilla.mozilla.org/show_bug.cgi?id=1476515 has languished.
- there's a giant banner on the left saying "unofficial"
- The "Status of this document" section states the following:
--- start quote ---
This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.
--- end quote ---
But just because it was shipped in Chrome and has some napkin scribbles resembling an official spec, people will both claim it's a spec and expect everyone to implement it.
aka
This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.
I regularly criticise Google-only specs and point out how they’re not standards in any way, but this one is not really like that—it’s just that the other two platforms are missing a couple of other pieces that are better to get in place first, and it’s not a high priority for them.
And certainly in the context of this rel="share-url" outsider proposal, nah, the share_target manifest reference is still way more “official” than that.
Sharing a link is easy. That's why URLs were invented. Exposing the sharing intent is only beneficial to companies that want to track you.
Sure, pressing "share on facebook" might be slightly lower friction than copy-pasting the link, but if the sharing isn't worth that friction, perhaps don't?
I have no doubt this proposal or any other similar proposal would work well in the 90s or early 2000s. Let's go one step further and let browsers work with all those third party website and figure all the details for sharing, and websites never embed anything.
But you see, that's not the problem. These share buttons are often trojans on websites. Facebook tracks you via those share buttons even if you have never had a Facebook account. And people come up with various solutions to tackle that -- adblockers just block network traffic, while a small amount of website owners create a separate switch which you can toggle and then share with Facebook. Isn't all of that stupid? I don't see why Facebook, Instagram will be eager to opt in to this solution and make the experience good.
I believe this is to play with (mobile) browser's share button, while even there I don't get how this is supposed to work.
First: How does this figure out where I want to share to? And then: Would it have to load the shared-to page first, parse it to see if there is such a Tag and then interpret it?
Maybe I am missing something.
A meta tag in the html of your webpages seems like the wrong place for that info since it's not something that changes per page unlike the OpenGraph/TwitterCard meta tags that tell third-party apps how to generate a preview of the page.
Surely a better place would be example.com/.well-known/share-url.
> Extensions to the predefined set of link types may be registered on the microformats page for existing rel values.
Please don't. WHATWG's tendency to self-anoint and all its idiosyncrasies notwithstanding, the IANA maintains the link relation registry[1]. Use the procedure prescribed in the RFCs.
1. <https://www.iana.org/assignments/link-relations/link-relatio...>
Speaking as someone who never ever uses a share button I think this is misguided, we should just remove that entire class of widget from the web, and people who want to share things can copy-paste the URL into their platforms of choice.
For me, I use history.replaceState to change the url after I've got my campaign tracking to the share link, this way the browser's built-in share button does all the work for me. I can detect trivial-reload by checking the cookie I dropped when the page came in, so I don't mis-attribute shares. It is a shame I cannot do this so easily without JavaScript, but I'm sure I can actually buy non-JavaScript users from Google (and other ad platforms) so I'm not sure it's worth worrying about.