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.
zaphirplane · 1h ago
> 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
01HNNWZ0MV43FF · 45m ago
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
SirFatty · 3h ago
Isn't this what RSS is for though?
kmoser · 3h ago
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 · 2h ago
It could be implemented as some type of extension to RSS.
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.
_QrE · 3h ago
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 · 1h ago
> 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 · 1h ago
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
m82labs · 35m ago
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.
arendtio · 1h ago
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).
cbdumas · 1h ago
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
RiverCrochet · 40m ago
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.
nateroling · 1h ago
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 · 1h ago
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 · 43m ago
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.
mattnewton · 24m ago
Why not build an rss reader that implements this interface? That way all the blogs that support rss give you this for more or less free? You can even sprinkle a cheap llm to determine if the new updates to the feed satisfy your plaintext definition of 'thing happening'
gurjeet · 42m ago
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).
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.
throwaway81523 · 2h ago
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 · 1h ago
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".
samantha-wiki · 52m ago
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 · 44m ago
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
yunwal · 26m ago
Am I missing something? Is this ragebait? There is no protocol specified here. The format of the “let me know” request is not specified at all.
singpolyma3 · 44m ago
You want an RSS feed filtered to only the events you are looking for
0xCMP · 2h ago
I want this to exist, but so few would adopt it that would make it mainstream/normal to use because a lot of those places rely on getting your email to tell you about other things.
This would be fairly limited to blogs which have no intention of writing a newsletter or consistently enough to merit subscribing via RSS.
Although I'd love for everything I just said to turn out to be false.
cigarette66 · 1h ago
Apart from the technical implementation I'm surprised the writeup didn't catch the flaws in such a setup.
The notifyer has no obligation to actually notify correctly. They can spam some advertising site or malicious site.
The notifee (?) has no way of checking that the notifyer has fulfilled their promise.
For example I could say 'let me know' when an update on the new cheese factory happens. Then the wait is too long so the notifyer does a 'semi fulfillment' of the promise. The notifee clicks, is disappointed and has nothing more to vote with since they never had something like a subscription in the first place.
p1necone · 1h ago
This criticism basically boils down to "what if the site is a bad actor/incompetent", which I guess is a legitimate concern, but would be just as meaningful of a criticism against basically any feature I can imagine. Alas we continue to have useful interactions with third parties despite this.
SethMLarson · 3h ago
Filtered RSS with some automation (ie: to delete the subscription) will do this for you.
octagons · 3h ago
I’ve always used huginn[0] for these types of tasks, though the learning curve/implementation is a bit cumbersome for more trivial tasks like the proposed scenario.
Although your model is polling rather than making the other server push something.
IshKebab · 3h ago
Webhooks are not relevant to this use case.
oreilles · 2h ago
Webhooks would be much closer to a sane solution to this use case.
Why would you spam a web server asking repeatedly wether something has happened or not, instead of just providing him with an adress so that he can simply let you know in due time ?
wpm · 1h ago
It's not spamming any more than me opening their website myself in a browser, loading their entire webpage, looking "Is part 3 posted yet", and doing that every day until part 3 is posted.
Except this idea is automated, and wouldn't need to load the entire website.
IshKebab · 2h ago
Because then you have to maintain a publicly accessible server, and he has to maintain a database of everyone who has clicked the button. It wouldn't be "spamming", just loading a tiny endpoint once a day (or less!) is a trivial amount of traffic.
Doing it your way would be completely unworkable.
Martin_Silenus · 2h ago
RSS for lazy people who can’t bother filtering their RSS reader is probably a very promising concept.
wpm · 1h ago
Well, yeah, who wants to sit and dick around with filters? I just want to know when "Part 3" is posted or whatever. I don't want to "subscribe" I don't need a feed of every thing they've ever written being filtered, just go fetch "is part 3 up yet".
I could sign up for e-mails too and just use mailbox filters. I bet something for "lazy" people who have better things to do than sit and dick around with their mailbox filters is a promising concept.
"wow part 2 was good, can't wait for part 3!" clicks Let Me Know.
vs
"Wow part 2 was good, let me subscribe to the RSS feed and go somewhere else and figure out a filter for part 3"
If I gotta go somewhere else, switch apps, whatever, I'm not interested, and it's not gonna happen. My brain has already moved on.
rambambram · 3h ago
I would prefer to do something like the author described with RSS, but nice thinking and interesting concept.
Also a nice blog in general, I subscribed with RSS. ;)
warkdarrior · 3h ago
"Would you like to receive notifications from this website?"
No, thank you.
stormbeard · 3h ago
Isn't this just RSS?
maxbond · 2h ago
The thing that's different with this proposal is that it's specified to be a one-shot notification. If RSS is a channel/topic than "let me know" is a rendezvous. You could build it on top of RSS (or ActivityPub, XMPP, webhooks, ...).
nickelpro · 1h ago
Then it's not a missing protocol. The protocol is RSS. They want some specific app that is doing a thing with RSS.
maxbond · 1h ago
Protocols are normally built on top of other protocols. RSS could be the transport for "let me know." (Though my recommendation would be ActivityPub, XMPP, or email.)
Whether that is a protocol or an application running over a protocol is semantics, either interpretation is valid.
IshKebab · 3h ago
No.
AndrewKemendo · 2h ago
Isn’t this exactly handled with IFTTT?
I know I’ve used IFTTT for precisely that because it’s the simplest and often free (when no major hardware installation is needed) off the shelf way to do it
Or is the author asking that a service host user defined notifications?
If the latter that’s a different design pattern
The http protocols already allow for this, if that’s the case then the op just seems like he wants other people to instrument their systems for his desired interface type (user defined notifications)
This is the tricky bit thou and will come down to chicken and egg problem of adopting some convention
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
You know which one.
Ditto for power adapters. Every laptop now uses USB-C instead of weird barrel plugs.
> 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.
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?
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).
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.
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.
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.
https://news.ycombinator.com/item?id=44883130
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.
- 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
You can use something like ntfy.sh, where you create a channel on a public relay and do pub/sub
This would be fairly limited to blogs which have no intention of writing a newsletter or consistently enough to merit subscribing via RSS.
Although I'd love for everything I just said to turn out to be false.
The notifyer has no obligation to actually notify correctly. They can spam some advertising site or malicious site.
The notifee (?) has no way of checking that the notifyer has fulfilled their promise.
For example I could say 'let me know' when an update on the new cheese factory happens. Then the wait is too long so the notifyer does a 'semi fulfillment' of the promise. The notifee clicks, is disappointed and has nothing more to vote with since they never had something like a subscription in the first place.
[0] https://github.com/huginn/huginn
https://en.wikipedia.org/wiki/Webhook
Although your model is polling rather than making the other server push something.
Except this idea is automated, and wouldn't need to load the entire website.
Doing it your way would be completely unworkable.
I could sign up for e-mails too and just use mailbox filters. I bet something for "lazy" people who have better things to do than sit and dick around with their mailbox filters is a promising concept.
"wow part 2 was good, can't wait for part 3!" clicks Let Me Know.
vs
"Wow part 2 was good, let me subscribe to the RSS feed and go somewhere else and figure out a filter for part 3"
If I gotta go somewhere else, switch apps, whatever, I'm not interested, and it's not gonna happen. My brain has already moved on.
Also a nice blog in general, I subscribed with RSS. ;)
No, thank you.
Whether that is a protocol or an application running over a protocol is semantics, either interpretation is valid.
I know I’ve used IFTTT for precisely that because it’s the simplest and often free (when no major hardware installation is needed) off the shelf way to do it
Or is the author asking that a service host user defined notifications?
If the latter that’s a different design pattern
The http protocols already allow for this, if that’s the case then the op just seems like he wants other people to instrument their systems for his desired interface type (user defined notifications)