a gentle criticism that modals like this are not the user experience of a social network that is friendly to hyperlinks

Zach Leatherman 3535 replies 120120 likes77 reposts Original on Bluesky35 replies
How would you solve it?
Worth noting a link like this is not possible to create in bsky.app
This was solved in 1993 with the invention of the html hyperlink. That’s still how I’d solve it
That was the introduction of the problem of <a href=evil.com>example.com</a>
The solution is much more nuanced with many trade offs
should at least involve a risk profile of the URL before popping this.
-
-
Why won’t you stay and play with us
Forever
And ever
And ever
Totally agree. I think the ability to hyperlink any text in a post is a bug, not a feature, of Bluesky. Too easy to get people to click on things, thus we need a modal to explain where you're really going.
Seems reasonable to keep that feature but also display the full URL in a less disruptive way. The web is *full* of linked text, so this is not "a bluesky problem" right?
i think it's tricky, if 99.9% links in this context are completely predictable about where they're going, it can be easy to trust it too much. i don't think it's about being anti-web, just tricky design area unless they're completely forbidden
this is the current logic, i think the warning only shows if the link text actually looks like a domain — to catch cases where it could be confusing. it doesn't activate for all external links afaik
-
it's any link on text that isn't the same as the link. I used markdown syntax for that masked link on witchsky.app, but you can also see the prompt in action on that site with the Feedback and other right navbar links.
hm okay but it doesn't seem like the intent of the code, according to the comment and the function name. is this just a bug? i guess bar is valid but why is it. browser wouldn't open it
maybe worth digging into git blame
cc @samuel.fm do you know if this is working correctly?
hmm saving this to look at next week. should probably show the warning
hmm interesting, that's not how i thought the code works
-
How about we replace "Leaving Bluesky" with "Abandoning Bluesky"?
I mean, this is to mitigate the usual hack of people doing this:
The modal only pops up if the domain in the hyperlink facet doesn't match the text its decorating. Its a fairly usual mitigation against such an attack, and I've seen it in a few other apps (Telegram springs to mind too)
The mobile popup feels like a better UI, it at least explains it's because the link text is misleading.
for disclosure, here is the original post (which has a truncated link): bsky.app/profile/huma...
Oh interesting, there's two types of modal one is "Leaving Bluesky" one is the misleading link one. I think a popup when the URL is mismatched is fair. I think more generic one is odd, maybe it's because it's truncated?
Yeah, it's because of the truncation. The code tries to find the domain in the text and see if it matches the domain in the link facet.
because humanwhocodes.co is a registrable domain on its own, so indeed the truncation makes the link misleading.
And I suppose the truncation is due to github.com/humanwhocode..., so Bluesky likely is not to blame here.
(can't check, github's having troubles 😅)And here it is: github.com/humanwhocode...
All links to humanwhocodes.com/%E2%80%A6 will be turned into humanwhocodes.co...
oh dang, nice sleuthing! the truncation happened upstream!
The go.bsky.app link shortener is also hostile, they need to get rid of it asap. Honestly, with the recent changes X is the better hyperlink handler which is a real shame.
You should be able to set the disclosure method.
Follow up here: thankful to folks educating in the replies, I’ve learned that the hyperlink text *shown* on Bluesky (similar to Fedi, too) can differ from the target URL and this modal is only shown when they differ.
(for even more nuance: the post I encountered was a truncated link 🫣)
Another follow up here: @tbroyer.ltgt.net found the offending truncation code and it is not on @bsky.app’s part here. I’m sorry folks — I was far too harsh in my original post!