Christopher Lemmer Webber is a user on octodon.social. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.
Christopher Lemmer Webber @cwebber

Nice to see a blogpost on the Mastodon blog about implementing a basic ActivityPub server blog.joinmastodon.org/2018/06/

(Though technically webfinger isn't needed for activitypub, but it is for mastodon interop!)

· Web · 3 · 17

@cwebber I'm curious how subscribing between different AP server implementations is going to work UX-wise. Mastodon, Pleroma and peertube all work with the user @ domain webfinger scheme, but what identifiers shall be used for implementations lacking webfinger?

@schmittlauch Subscription should work without webfinger I think...? It's a Follow activity to the actor's id, so...

@cwebber I mean how shall that work UX wise?

If I want to follow user foo at peertube instance bar, I can do that by just following @ foo @ bar from mastodon thanks to Webfinger.
But how to do that for non-webfinger AP servers?
If I'm not mistaken there's no canonical URI scheme for AP making this possible withput webfinger, is it?

@schmittlauch Webfinger makes sense indeed when you have a user@domain email style addressing expectation. That's not the only UI experience possible, and indeed it won't even be feasible if people start doing interesting things like ActivityPub + tor onion services. Something something petnames here.

@cwebber maybe I'm just too narrowly-minded or not creative enough, but the approach where the remote instance handles authentication using OAuth and entering credentials directly there creeps me out – too easy to confuse and impersonate the real instance.

But let's see how things develop, hopefully I'm not the first one having to come up with solutions.

@cwebber It's the only thing I could come up with so far.
But I also havent carefully read the AP spec so far, maybe I should do that first before speculating based on hearsay knowledge.

It's just a potential rupture point for different instances and their possibility to subscribe to each other. AFAIK Mastodon currently only supports the webfinger UX flow

@schmittlauch How do you send someone an email? Either you have that person "bookmarked" in your addressbook, or they were part of the addressing in that conversation (by introduction)

I have some more in this unfinished document github.com/cwebber/rebooting-t

@schmittlauch @cwebber Or just click someone's username in a toot. That's also handled without any acct: URL involved. Basically WebFinger is only necessary for the case where you want to look someone up by @ identifier, and maybe even only for the case where you want to do that, and the server didn't already see a message from them.

@notclacke @schmittlauch @cwebber to clarify—while URIs are used in a lot of scenarios, including all federation references, for practical reasons mastodon uses webfinger as its source-of-truth for account uniqueness. we also require that other implementations we federate with have it for UX reasons

@notclacke @nightpool @schmittlauch Yes, I suspect/hope as the AP network grows, reliance on webfinger will decrease, including its current use in role of what shouldn't really apply for some federation stuff

@cwebber @notclacke @schmittlauch right now the main issue we had with URIs was their fragility—people switching between http/https and people switching between pleroma and mastodon were two major practical issues we ran into a lot that led us to privileging webfinger over URIs.

the second reason is ideological. Mastodon is microblogging, which means (to us) that posts are plain, not rich text. if actors exist in the network that can't be @-mentioned, then that's a huge user expectation problem

@nightpool @notclacke @schmittlauch I understand the frustration with http and https. Have you ever seen Tim Berners-Lee's "Web Security - TLS Everywhere, not https: URIs"?

w3.org/DesignIssues/Security-N

His argument is, of course we should have a cryptographic layer, but we shouldn't have two different uri schemes for the same resource served as unencrypted/encrypted... instead, there should be one uri scheme, and the encryption selection bit should be a protocol negotiation concern. I 100% agree.

@cwebber I was thinking about that TLS thing this morning. Ultimately it papers over the problems of mutability though

@nightpool http(s) has problems with mutability all around anyway :)

@cwebber So, STARTTLS / Opportunistic TLS. This has its own problems, email is currently in pain exactly because that.

@nightpool @cwebber @notclacke @schmittlauch Why can't/aren't URIs dereferenced somehow? If properly dereferenced, then shouldn't the URI no longer matter?

@nightpool Requiring OStatus for ActivityPub? That is unfortunate.

@dansup @nightpool Well, Webfinger isn't specifically OStatus related, but yeah that's why Mastodon has it.

Evan Prodromou, who I think was responsible for Webfinger in OStatus, was one of the bigger voices pushing back against it appearing in ActivityPub, saying there's no need for it in a modern federated system IIRC from the SocialWG calls

@dansup @nightpool Or rather, was pushing back against it being a *requirement* (not against implementations optionally supporting it)

@dansup @nightpool You could absolutely have a Mastodon-like interface without Webfinger btw... type @, and it brings up a list of possible recipients which might not even be the webfinger addresses but people who match this in their name who are in your "addressbook"... mastodon already does this mostly. If I type "@karen" I can complete @aldeka even though she has a different username. Pump.io clients use this to select the user's id, but link with their display name as the link text

@cwebber @dansup @nightpool It means you need a rich-text editor to be able to mention someone.

@gargron @cwebber @dansup yes this is what I was saying about plaintext vs rich text.

@gargron @dansup @nightpool various pump.io clients have dynamic completion of the username but use markdown in composition... rich-text rendering, but not rich-text editors

@gargron @dansup @nightpool I personally hate markdown kind of but that's not relevant to this ;)

@Gargron @cwebber @nightpool Oh, I get it. I wasn't sure what nightpool meant about UX. Thanks for clearing this up!

@dansup @nightpool

webfinger isn't ostatus. fwiw, Pleroma works with either webfinger or bare AP actor URIs, but the latter is a little sketchy.

@notclacke @schmittlauch @cwebber Honestly though, I've always liked the user@instance format that other federated networks use. It's a pretty useful way to think about users across the network; conceptually that identifier feels closer to email.

URL works okay, but the flow and the logic is kind of different.

@deadsuperhero @notclacke @schmittlauch yeah I get that, and people are fairly familiar with email-like ids. I'm not arguing against clients supporting that for composition of addressing anyway, but it does bother me that Mastodon uses Webfinger for some sources of information where it shouldn't matter for protocol'y things

I think that could hold back some exciting future things if it remains. But fortunately my suspicion is that it won't be hard for mastodon to evolve there.

@cwebber @deadsuperhero @notclacke @schmittlauch For the most part it seems to be based on the (mistaken) assumption that if users address each other by user@domain, then so should computers. But that's not really a valid or useful assumption... it's also already caused issues that have been solved in suboptimal ways (re: case sensitivity, account migration, username changes, etc)

@cwebber @schmittlauch @deadsuperhero Yeah, making a convenience layer a requirement sounds backwards to me.
@Gargron @cwebber @schmittlauch Which bit and why? Does Mastodon insist on finding an acct: reference on a URL given and then go look up WebFinger for the references it wants?
(in the resource pointed to by the URL given)