👀 BrowserPub: A browser for exploring #ActivityPub and the ⁂fediverse

https://browser.pub

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

The idea here is to make it a bit easier to see how well the various players in the fediverse support the C2S side of the ActivityPub spec.

You can punch in any ActivityPub discoverable web url or fediverse handle, and BrowserPub will discover and display the underlying AP:

e.g.

social profiles: https://browser.pub/https://mastodon.social/@mastodon

or posts:
https://browser.pub/https://mastodon.social/@Gargron/113005517546136592

or fediverse handles:
https://browser.pub/@Gargron@mastodon.social

or even usernames (defaults to mastodon.social for now):
https://browser.pub/Gargron

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

BrowserPub defaults to a visual representation of the object (if a known type)

everything here is powered by ActivityPub, no server-specific APIs

you can also view the underlying ActivityPub object as JSON...

... or a less JSON-ey structured outline

It'll work on ActivityPub-enabled wordpress sites:

https://browser.pub/fediversereport.com

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

For known collection properties (like outbox, followers, featured, etc), it will preview the collection and support paging via a "next" link:

https://browser.pub/davew

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

And here's @manton 's profile using micro.blog's AP endpoint

https://browser.pub/https://manton.org/activitypub/manton

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

Threads posts and profiles are also available, for users that have checked the magic box

Here's a post:
https://browser.pub/https://www.threads.net/@evanprodromou/post/C8qtHZEuA0Q

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

While Threads does not support the replies collection yet, they do support the inReplyTo pointer, which BrowserPub renders above

https://browser.pub/https://www.threads.net/@evanprodromou/post/C-0iXNmvgj7

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

BrowserPub also supports the new fediverse:creator discovery mechanism

https://browser.pub/https://www.theverge.com/2024/7/2/24190641/apple-vision-pro-headset-future-cheaper

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

Bluesky profiles that are bridged can also be rendered

e.g. @snarfed.org bridged bsky profile

https://browser.pub/https://bsky.brid.gy/ap/did:plc:3ljmtyyjqcjee2kpewgsifvb

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

Hmm, I'd love to be able to render a more dynamic og:image at some point 🤔

Here's a podcast from @dave 's podcastindex bridge

https://browser.pub/@[email protected]index.org

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

@dave Dave I was going to link the podcast guid to pi.org search, but it doesn't take guids!

https://podcastindex.org/search?q=4c5142a7-a0bc-5c86-bad8-c149d4eceed6

Search | Podcastindex.org

The Podcast Index is here to preserve, protect and extend the open, independent podcasting ecosystem.

Podcastindex.org

@js @dave I could add that.

You can link directly to the podcast pages with the guid though.

https://podcastindex.org/podcast/4c5142a7-a0bc-5c86-bad8-c149d4eceed6

Podcastindex.org

The Podcast Index is here to preserve, protect and extend the open, independent podcasting ecosystem.

Update README.md · nathangathright/podcast-platform-links@11431f1

Contribute to nathangathright/podcast-platform-links development by creating an account on GitHub.

GitHub

BrowserPub also tries to render custom emojis in content and profile headers, these are in the ActivityPub payload after all

even animated ones

https://browser.pub/https://bolha.one/users/joaonaweb/statuses/112978564080782762

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

and of course Flipboard is supported (cc @mike) nothing special, just the same ActivityPub spec implementation

https://browser.pub/https%3A%2F%2Fflipboard.social%2Fusers%2Farunshah

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

so even though Threads doesn't return collection items in the ActivityPub payload yet, it _does_ include the counts - so at least I can display those

just pushed it live

https://browser.pub/https://threads.net/ap/users/17841401083120503/

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

Polls are not a Mastodon-specific feature, they can be expressed well in standard ActivityPub, which means standards-based apps like BrowserPub can render them

Here is a recent poll example from @evan

https://browser.pub/https://cosocial.ca/@evan/113005485605693174

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

looks like someone submitted it to hacker news!

https://news.ycombinator.com/item?id=41351408

A browser for debugging ActivityPub and the Fediverse | Hacker News

and looks like Ghost got their outbox and posts ActivityPub working

although they are not in reverse chron like everyone else (@johnonolan, was this intentional?)

https://browser.pub/index@activitypub.ghost.org

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

@js This is really cool. Works great for seeing federated Flipboard accounts and magazines too like @mike and @the-insight-mike
@js Projects like this are SO important for the development of ActivityPub based services/apps. Bravo!
@js can I just say that you've done a really lovely job on the rendering of all the information from profiles etc here. It looks really, really good. Thank you.
@js what about objects with type Collection or OrderedCollection that aren't well known?

@evan every property is listed, and clickable, in the json and outline structured views

in the visual view, any unknown properties (if present) are rendered kind of like the outline view, just above the expandable details section

@js

> everything here is powered by ActivityPub, no server-specific APIs

Please don't waver from this! It's so cool.

@evan hopefully this can help to make sure folks are supporting C2S as much as possible

I would love to get a standards-based oauth to inbox flow working, do you know of any implementations that support it?

was going to check out Mastodon's new oauth thing in 4.3, but I'm not sure they have any additional AP endpoints behind the auth wall

@js onepage.pub do es. However, we need better specs. I'd like us to set up a taskforce for it at the SocialCG. It's very core!
@js This looks really useful!
@manton thanks! still very early days, but working on it in public seems more fitting for something like this
@js @manton What an excellent tool - thank you. Do you plan to accept external contributions?

@underlap @manton

Right now it is mostly browser-side javascript, and still early days so not open source. Normally I wouldn't even release it in this state - but I thought with a fediverse tool like this, building in public made sense.

What kinds of things would you want to add?

@js @manton When I ran it against AT mastodon AT underlap.org (to dereference via webfinger) and clicked "debug", it showed an item with a red cross, thus:

/attachment: ❌ Invalid object, Invalid link

I'd want to make it clear which item that was referring to.

However, I'd also leave that to others as I am inept at javascript and most other front-end stuff. I was hoping someone else might want to make that change (but not necessarily you - I'm just grateful for the current function).

@underlap @manton

hehe you stumbled on one of the things that's not wired up yet - working on it

there is a rich ActivityPub validation model underneath that I haven't wired up to the main UI yet (think red squigglies for spec errors, warnings for suggestions/recommendations etc)

@js @manton No rush, but glad it's on your radar.

@js 🥳

If I may make a request, some details appear as "invalid" but nothing more is specified. For example the public key for https://browser.pub/https://federated.id

I suspect it's the fact that it's not an RSA key, but I'm not sure.

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

@mariusor Oh cool a good test case

What type of key is that example there? I believe I just use web crypto to parse

@js it's an ed25519 key.
https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

@mariusor 👍

I should be able to render your urls and tags on that one a bit better as well

@mariusor doh, browsers

you are too far ahead

maybe I can parse them server side...

@mariusor ok all set, Ed25519 now supported

@mariusor

ok your urls and tags are rendered a bit better now

also huge props for implementing the liked collection

https://browser.pub/https://federated.id/actors/8b740680-ccb4-4265-82e7-4ac2ca402750

https://loops.video/starter-kits/eAaAZQwIAC/popular-creators · BrowserPub · A browser for exploring ActivityPub and the fediverse

Explore the open social web through the lens of ActivityPub and the fediverse.

@js Oh, this is super cool! Definitely going to play with it, I’m building something similar for the purpose of exploring Activity Type support.
@js this is VERY interesting! Thanks for making / sharing!

@andypiper

thanks for re-enabling the AP plugin on your site! : )

@js I was stuck between WordPress plugin updates, all set again now 😊
@js Nice tool. Are you going to open source it?