Ways that the browser can change to help atproto succeed?

Hey all!

I’m a browser engineer working on Google Chrome and I work on Web Platform APIs (WebOTP, FedCM, Digital Credentials, Email Verification Protocol and TC39 in Chrome … schema.org in my past life in Google Search … and OpenSocial / Salmon / ActivityStreams in my past past life on Orkut.com … yeah, I like open ecosystems :))!

I’m a big fan of atproto and have been using it for a while (although I failed at running my own PDS :(), and I think atproto (and other comparable things, like activity pub and so on) is a great step to make the web better!

I can not make any promises that anything will actually change (it is not like I have a “sudo” here), but I figured it would be useful to at least ask the question: are there ways that you think the browser is holding this community back? Any ideas that you think are lacking in the browser?

Wishing you all the best,

Sam

18 Likes

Paging @awarm.space and @schlage.town

1 Like

You neglected to mention your work on FedCM! It’s pretty high on many of our wishlists.

Do you do any work with anyone from Mozilla or Igalia by chance that might be interested in joining us here?

4 Likes

Ben Vandersloot was implementing FedCM at Mozilla but got pulled into other things, I think. In case you can help get it reprioritized, it would be great!

3 Likes

Sam!~ Long time no speak! Talk about epic timing… :eyes::eyes::eyes::eyes::eyes:

2 Likes

Chris!!! Activity streams Chris!!! Good running into you! I ran into JPanzer and JSmarr the other day!! We need to regroup!!

FWIW I have been actively working with Dick Hardt on email verification, I think it is going to be cool!!

3 Likes

Hey Sam, welcome here!

A couple things come to mind, there’s probably a bunch more.

One thing that would help is BLAKE-3 support. In general, anything that helps content addressing work better (given that AT builds on DASL) helps AT. BLAKE-3 didn’t become the default hash for DASL CIDs in large part because of the lack of browser support. But projects that deal with large chunks of data, be it Stream.place, science stuff, doing verifiable range requests so as to query a remote DuckDB of the whole Atmosphere would benefit from that.

There’s also ongoing work on small contained web apps that could be safely embedded into social contexts (also being worked on as part of DASL) shipped over AT. These could benefit from the ability to create an opaque origin (or some form of partitioned suborigin) and attach a service worker to it or even just the ability to process fetch events for it. (Right now you can have the former with sandboxing but the moment you do SWs don’t work.)

3 Likes

Hope to see someone prototype autocomplete of atproto-domains in the browser’s address bar:

4 Likes

Oh man, it’s time we get the gang back together! Will you be in Vancouver?

1 Like

@sgo.to One idea I’d love your thoughts on is making it obvious to non‑technical users when a site can store data on their PDS and “speaks atproto,” so they see the concrete benefit first. A possible way to do this could be a dedicated .atproto TLD that clearly signals this capability to users. I’m not fully sure how feasible this is on the standards side, but I’ve seen things like .google in the wild, so I’m curious how much of this could be done via browser‑level support. Alternatively, it could be an icon near the domain name (I find the SkyLink chrome extension to be quite clever in detecting that a website has atproto presence https://chromewebstore.google.com/detail/skylink-bluesky-did-detec/aflpfginfpjhanhkmdpohpggpolfopmb

2 Likes

blake3 in webcrypto wen

Loving this thread:

we need a Web AT API

users login once in the browser, then websites request permissions to publish AT records on their behalf

this way atproto apps don’t even need to implement oauth, they just use the API and the user agent takes care of the rest

navigator.at.identity.did

navigator.at.publish()

This could probably be started with a web extension that provides the material to pages. Ideally with a library that pages can ponyfill on, since adoption will at first be so so.

1 Like

Prototype with Chromium where profiles are logged in as a DID rather than a Google account?

2 Likes
3 Likes

Interestingly, while fedcm is an effort that will (at least partially) solve this autofill issue, password managers can and do act as a polyfill for that kind of experience.

While standards bodies are slower to move, it could be interesting to get buy-in from password manager extension providers to support these kinds of use cases at the code level so web developers can begin hooking into that kind of infra. Test in the market, work out the UX and security kinks, bring that info and adoption numbers back to the browser devs and standards bodies. Different form of advocacy with faster turn around on the market if successful.

Also, we could just do this ourselves in the ecosystem with an atproto login extension.

@sgo.to Has anyone built a fedcm polyfill extension? If there is one already we could play with it here, learn together, and share the community’s conclusions back to people trying to make it happen within the browsers while also semi-solving this pain point for those who are willing to install browser extensions.

If not, maybe this is a great opportunity to create a polyfill with the atproto ecosystem at the center. If something about it doesn’t work, the atproto ecosystem can propose changes to the current spec(s) on the table.

cc @thisismissem.social

2 Likes

Small update on FedCM: Bluesky Social PBC have given me a grant to work on it for one year within the FedID Working Group (I’m an invited expert there). Full announcement here: Working to Decentralize FedCM - AT Protocol

3 Likes

Note that at least one password manager (the one i happen to use) is on bsky and responsive:

1 Like