Skip to content(if available)orjump to list(if available)

The Missing Protocol: Let Me Know

The Missing Protocol: Let Me Know

55 comments

·August 12, 2025

kmoser

This could be even easier to implement than the author suggests, at least for the cited use case of when a new web page is published (e.g. Part 2 of an article). The simplest solution--assuming you know what the URL will be--is to have your agent of choice periodically check whether that URL returns 200. That greatly simplifies the protocol since it piggy-backs off the existing HTTP protocol, and makes it easy to write your agent (or use an existing one). All that's left would be for authors to publish what the next URL will be; nothing else on the back end is needed.

SirFatty

Isn't this what RSS is for though?

kmoser

That's an example of the type of existing agent that I was alluding to. So you're not wrong, but it doesn't change what I was suggesting.

0x696C6961

It could be implemented as some type of extension to RSS.

cxr

No extension is necessary. There's nothing that says a website has to have exactly 1 or 0 RSS feeds for global syndication. Anyone in control of their site can dump a plain ol' RSS feed (or Atom, or JSON) feed at /foo/part-3-is-posted.xml. I've done this on my own site.

This is not (really) a technical problem. It's a cultural one—getting people to actually make these hyperspecific micro feeds available.

baruz

https://xkcd.com/927/

You know which one.

jjmarr

it's a funny comic but Unicode was created as a "universal standard" for character encoding and has actually been successful at it.

Ditto for power adapters. Every laptop now uses USB-C instead of weird barrel plugs.

zaphirplane

> assuming you know what the URL

This is the tricky bit thou and will come down to chicken and egg problem of adopting some convention

dragonwriter

> This is the tricky bit thou and will come down to chicken and egg problem of adopting some convention

Sure, there needs to be a standard for this, but it could be as simple as using a new rel value, say, “futurecontent”, and title (when used with <link>) or content (when used with <a>) giving the description of what will be found at the link when it is ready.

01HNNWZ0MV43FF

Actually it's super-easy, barely an inconvenience.

Dedicate a portion of your site to notifications. Allocate the URL there with a blank page that has a meta 404 tag or something.

When blog post is live, replace the meta 404 with a meta redirect to the real permalink.

You can do an all-manual URL shortener for QR codes the same way. That means you can also have a QR code for this kind of subscription, which is cool

null

[deleted]

_QrE

Maybe I'm misunderstanding something, but you can add filters to RSS feeds. What is proposed is pretty much just RSS, except for one specific item. Yes, it's more work on your side, but asking the creator to manage updates for whatever one thing any/every random person is interested in is pretty unrealistic, especially since the people asking for this are going to be explicitly not interested in everything else about the creator.

> There’s no AI to this. No magic. No problems to be solved.

Why would you not involve yourself in the new hotness? You _can_ put AI into this. Instead of using some expression to figure out whether a new article has links to the previous ones in the series / a matching title, you can have a local agent check your RSS feed and tell you if it's what you're looking for, or else delete the article. For certain creators this might even be a sensible choice, depending on how purple their prose is and their preferred website setup.

wpm

> Yes, it's more work on your side

How much work, and is Part 3 gonna be so mindblowing to be worth it?

> asking the creator to manage updates for whatever

Managing updates in this case is...posting Part 3? Something they were already gonna do? Except now there's also some machine-only endpoint that needs to start returning "Yes" instead of "No"? Doesn't sound like a ton of work.

> Why would you not involve yourself in the new hotness? You _can_ put AI into this.

Because just involving yourself with the new hotness just because it is the new hotness is pathetic. I can put AI into this, but why would I? Why would I add all the heft and complexity and stupid natural language bullshit talking to a computer when I could just press a button that will do this for me deterministically?

yunwal

How is this different than just curling the endpoint? It seems like you might be asking the producer to be able to execute any arbitrary calculation across their (codebase?, website? Thing?). The reason it’s never been implemented is because it’s impossible

arendtio

The big question here is who defines the events. I mean, the protocol suggests that the sender should describe the event and offer a simple button for it.

But in reality, the receiver knows a lot more about what he is interested in. Some people might want to get an update for the next blog post, while others may be interested in updates for the next blog post that completes a particular series, and so on.

When the sender defines the events, you can use a new protocol; however, if the receiver determines the events, all you need is a client with a rules engine (e.g., IFTTT).

tbeseda

You could probably consider a broader interpretation of ActivityPub for something like this; or the underlying ActivityStreams format.

It was conceived for social networking, but social networking doesn't have to be just 140 characters in a timeline.

https://www.w3.org/TR/activitypub/

m82labs

I guess my first thought here is that I would just implement this on my blog platform as a series specific RSS feed. Generating an RSS feed per series and even per tag would be trivial to implement and make for a decent user experience. IMO.

cbdumas

A few years ago I came across (probably on HN) this little Firefox extension that I quite like https://addons.mozilla.org/en-US/firefox/addon/fraidycat/ . Seems like it could help you fill this use case although as other commenters are saying I'm not sure I understand the distinction with RSS

maxwellg

This is conceptually extremely similar to the Web Push API: https://web.dev/articles/push-notifications-web-push-protoco...

You'd need something at the browser/UA level to unsubscribe or to make the subscription exist for only a single message. Bad content publishers have taught us to never allow Web Push notifications since they always get inundated with marketing and other nonsense - being able to bake protections against that into the spec could be interesting.

nateroling

This, but for many things.

Paint is ready at the hardware store Table is ready at the restaurant Construction is done on a bridge

All kinds of things that we need a one-time notification for.

jagged-chisel

Marketing has, and will continue to, ruin notifications. One time notification paint is ready? Surely, they think, they can upsell you on other related and tangential products. You know, to ~~keep the cash flowing~~ help you be more successful at your DIYing.

01HNNWZ0MV43FF

Improvements are still improvements.

How does a good actor do this in good faith right now?

Email? Costs money. SMS? Costs money. RSS? Wildly unpopular. ActivityPub? Can't be statically hosted and fairly unpopular.

Right now they basically use fucking Facebook and fucking Twitter, and even then you're subscribing to an entire stream.

throwaway81523

Overaggressive LLM scrapers have probably destroyed the feasibility of this idea, independently of whether the idea itself is any good. There are now captchas and other roadblocks in front of everything, which stop even tiny amounts of automation because of the sites getting hammered by the huge gobblers.

wpm

Part 3 itself would be the thing the gobblers are interested in though, right? THis Let Me Know thing can just hit a URL and get back a "yep, 200, its up" or a "nope, 204, not yet".

RiverCrochet

An expiry time should be required and not optional, or a default one well specified (e.g. 30 days). The endpoint shouldn't have to keep reporting that "something has happened" to agents forever.

Maybe ...

- When the expiry time is passed, any queries to the endpoint are invalid and shouldn't be performed. If they're performed anyway, the endpoint may simply not respond if it's feeling rude, or it can respond with 410 Gone or something like that if it's feeling nice.

Also what if the agent has registered more endpoints than the endpoint can handle. 429 Too Many Requests seems appropriate.

Also the agent should be required to confirm with the user or otherwise warn if the "happened" URL is not in the original domain of the request.

gurjeet

Shameless plug and completely tangential: Since we're talking about protocols we need, I wrote a specification called ToolsConfig that aims to reduce the clutter in our software projects (think of all the Makefile, package.json, .npmrc, .vscode/, .gitignore, etc. files and directories that clutter our software projects' directories and sometimes even sub-directories).

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

samantha-wiki

It seems like an alternative might be something along the lines of this, just a rough sketch

- Alice wants Bob to notify her about something

- Bob advertises an email address specific to that something

- Alice creates a disposable email address and requests that Bob notify her about that something at that disposable email address

- Alice only accepts emails to that address from Bob's something-specific email

- Once Alice receives an email from Bob's something-specific email she discards the disposable email

01HNNWZ0MV43FF

Email is very hard because all the big providers want to defederate from all the single-user instances.

You can use something like ntfy.sh, where you create a channel on a public relay and do pub/sub