Hacker News new | past | comments | ask | show | jobs | submit login
Webmention.io (webmention.io)
397 points by bezelbuttons on March 9, 2021 | hide | past | favorite | 104 comments



Oooh I like a lot.

The whole idea of a two-way links like the wp pingbacks in the good old days is getting traction. For more info about this, see https://indieweb.org/Webmention and https://en.wikipedia.org/wiki/Linkback

Another useful related thing I saw is https://brid.gy/ which transforms social mentions into webmentions


Two-way links are why people use tools like Roam or Athens research.

I want to see the Web re-become the decentralized, hypertext knowledge graph it was meant to be.



At first, I didn't get it. Pingbacks, isn't that from the 90s?

Then, I thought: does this mean the bar for joining a conversation on my publication is that you have to publish something too?

That seems like a nice bar to set for asking both parties in a conversation to be fully engaged. Trolls seem like they will be too lazy to do that.


Right, this is effectively an updated version of pingbacks (pingbacks from ca. 2000, webmention from ca. 2010). See last month's HN discussion: https://news.ycombinator.com/item?id=26258557


Which is closer to how opinion and editorial columns operate in traditional/print publications.

General reader responses are curated into a "Letters to the Editor" section, whereas the real discussion tended to happen between columnists in their respective columns.

That in contrast to what seems to be the popular misunderstanding—that columnists' opinion columns are summaries of an entire publication's political and philosophical stance.


I think modern TV news has eroded all trust that organizations can have more than one opinion / host a civil debate. It's prudent now to assume every news organization has an agenda, no matter how it (says it) conducts itself.


I was pretty explicitly discussing print.

But it's not new for an outlet to have a general agenda. That was virtually always the case. I'm without a doubt that the agenda of Railroad Model Craftsman magazine has an agenda in bolstering the niche railroad model industry.

Thankfully, again, editorial rooms are not monoliths. They are ever-changing. The brand and the voice are respected and all attempts are made to remain consistent within that until any major direction changes are decided upon (again, not a dictated decision, but generally one with communal input from various sides of the publication). Don't mistake an image for the summary of ideas published anywhere.

It's also important to mind that a single publication may group several related ideas into an avenue and publish to speak for that larger avenue.

Working within the industry I have my critiques... but these kinds are unceasing, yet as inaccurate every time.

It's a terribly cynical method of assessment to attribute the basest, worst traits of an individual to a large and varied group. (It would also be inaccurate because no individual inherits the traits of the class by default excepting critiques of the medium itself which I don't gather is the problem in this case)


I know. My point is that TV news is so bad that people don't trust the NYT because they assume everyone there is also essentially a Fox News host.


If a show has a host rather than an anchor(s) it's an opinion/editorial show.


Which is how it's been seemingly forever (or at least the age of the television), but I think media literacy and its pedagogy-beyond kind of vague notions of what the "news" is has failed a generation of this distinction, and many more important and built-in nuances of mass media communications.

Not helping matters was the lightswitch flip to 24-hour news and the blurred line between news and "news".

-A J-School grad turned engineer.


Pingbacks come from the blogging-world. Originally the concept started with traceback in 2002 and evolved over time. It basically is a mean to create a kind of decentralized conversation where each persons response is hosted on their personal space, instead of a central one. Because of this communications are far slower and smaller, compared to a forum or services like twitter. But they are also usually more focused and of higher quality, because responses tend to be full fledged articles, written to an uninformed audience, instead of some direct responsing text-barf.


Implies an interesting lower bound to on-boarding friction, especially for anonymous services. Counter-intuitive, but clearly a thing.


Exactly. This kind of thing encourages substantive conversations.


It seems to me it requires some technical setup. I have no illusions that such things correspond with substantive conversations.


I don’t see why the necessity for setting things up means that the system would not encourage a better style of online conversation. Especially if services are developed for less technically adept people.


I'm too young to know what are webmentions or pingbacks (love the band Pinback though), you should briefly mention what they are on your homepage.


When I first started blogging around 2004, pingbacks were very popular.

I remember setting up my blog so I could take a photo on my Motorola Razr, email it to a special address and it would get added to Flickr and then auto posted to my blogger blog.

I went to Glastonbury music festival, which got flooded and took some amusing photos. When I got home I discovered via messages added via pingbacks, that lots of people had found my blog post (I guess via Google search) and linked to it from their blog.

Even now I’m quite amazed at what was possible without Twitter and hashtags, all done using open protocols, and all on our own websites.

Update - thinking about it some more, I don’t think I had the ability to send emails from my phone back then. It’s hard to imagine that because these days it’s just totally the norm. I know that I did have the ability to send MMS messages which could include images, so I must have been using that in some way. In any case, I was able to take a picture while out and about, have it added to Flickr, have it posted in a blog post, and get pingbacks added to comments when people linked to my post, that was nearly 20 years ago!


I seem to remember that some providers had some sort of SMS/MMS<->Email setup such that you could email a [phone number]@[provider.com] address and the recipient would get an SMS and be able to reply. Maybe something like that?


It might have been something like that. I remember there being a phone number@something, but I’m not sure if the something was flickr, blogger or something the phone company provided, or perhaps I found some 3rd party mms to rss gateway. Can’t remember exactly, only that I had it working.


Wow, I'm not alone. I knew there had to be other Pinback fans out there :)


I too did not understand what this did!

Is just a service to automate back links?

Like some sort of SEO spam?


thanks, you just transported me back to my twenties :D


Excellent concept, project & service. I'm using it together with Brid.gy[1] on my Hugo-hosted blog[2] and it's great for bringing in Twitter likes of posts.

[1] https://brid.gy/

[2] https://justinmiller.io/posts/2020/12/23/ornament/


Yeah - I’ve gotten a lot of mileage out of these services. Along with commentpara.de for anonymous comments.

There’s an anon comment on this post: https://www.kickscondor.com/the-multiverse-diary along with the link to leave a comment. Static HTML!


I have a ~200 LOC Hugo partial I've built up which reads in the webmentions via jQuery, then parses them out into Twitter, Micro.blog, or "other". If at least one of either/or Twitter or Micro.blog, pull out the root URL and show that at the top of the comments to encourage discussion. Otherwise, parse out like, repost, or plain old mention and add an icon.

I also have an HN parser for posts like this one[1] if they've hit a certain comment threshold.

I don't have any problem with sharing it, but I just haven't published it anywhere yet on account of not wanting the maintenance or support overhead. I think all of it can be gleaned from the page source, anyway.

[1] https://justinmiller.io/posts/2019/09/21/pi-gadget/ (see bottom)


was it easy to get it setup? I too have a Hugo blog but other than occasionally adding posts and changing the theme, haven't done any intense partial-building. Sounds like it could be a fun little project


I mean, the JS itself is the 200 LOC, so it's not trivial, but feel free to crib my source as a start. The partials are really straightforward, though — my layouts/microposts/single.html just brings in the webmentions.html partial with one tag at the right part of the layout (i.e. almost the bottom) and then that JS does the work of... whatever you want. You could start just iterating the contents of any webmentions array pulled in as an unnumbered list, then iterate your presentation from there.


I'm not sure it is excellent -- it seems "just simple enough" to get people to adopt it. It might even work for a small community. For now.

How will it scale as more sites interconnect? I don't mean technically -- I mean socially.

In particular, how does it handle moderation? ... It seems to me that moderation is left up to the site host. That's not unreasonable given the complexity and diversity of what different people might want.

But, in my view, this is only a starting point. And frankly, an uninteresting one that seems to have punted on the hardest problems of networked discussion.


Sure, it's a starting point. But its stated goal is to be:

> a hosted service created to easily receive webmentions on any web page.

Combined with that, it's well-documented, open, simple, and to boot, this site in particular is a free service. I'd say that is indeed excellent — a distinction I'd award any service that espouses simplicity, clarity, fills a useful need, and has a JFDI attitude.


Do you have a write-up on how you integrated this with Hugo and what the trade-offs were? I have an active side-project to add full IndieWeb support to my favorite Hugo theme, which includes WebMentions.


Can you explain how this works? The blog post is pulling in the webmentions via JavaScript?


Webmentions are a great way of getting back to a decentralized web. Being able to comment on someone else's site _from your own site_ feels like magic. It brings back memories of the web before social media took hold.

Implementation is pretty simple, too. I documented how I handled processing and display of webmentions on http://tanzawa.blog (a system I'm developing designed to make using the IndieWeb easier/less fiddly).


So here's my question: HN as far as I can tell doesn't explicitly integrate with webmention, but I'm assuming webmention.io does use it. Does that mean the owner @aaronpk does get a mention every time webmention is linked, say, from Hacker News? The docs don't make it clear, but if in fact, it does, this seems like a killer concept for HN users who want to be notified (among other times) when their service/blog/whatever is shared to HN

edit: Also, why doesn't webmention.io display its own mentions to utilize the two-way communication it advertises? Seems like a no-brainer to show prospective users an example of it working in action


> edit: Also, why doesn't webmention.io display its own mentions to utilize the two-way communication it advertises? Seems like a no-brainer to show prospective users an example of it working in action

This is a good idea, and if I were re-making this service new in 2021 I would definitely do this. However I launched this in 2012 as a barebones implementation to get webmentions working for a few of my websites and never bothered to develop it much past that point.


There are multiple services which solve this problem already, i.e. https://f5bot.com


HN does not as far as I know, but Lobsters does! https://github.com/lobsters/lobsters/pull/535


Yeah. This is my interest.

I don't want to a cluster of likes and tweets. But I do want link notifications. I need to rely to Google for this currently.


You can also look at the referrers in your webserver logs. It’s just that someone has to click on the link for it to appear in your logs. And you can discover referrer spam!


Browsers are not guaranteed to send Referer headers and some choose not to (or send fake ones) due to the privacy implications.


Good point. But, in the absence of any other solution, there is at least some data there, sitting in the log files.


Just curious, how you do that with google?


And what is a "web mention"?


"When you link to a website, you can send it a Webmention to notify it. If it supports Webmentions, then that website may display your post as a comment, like, or other response, and presto, you’re having a conversation from one site to another!"

https://indieweb.org/Webmention


I am glad someone else asked this. It seems terribly explained. A picture or video might do well here.

From the explanations below, I think the person who gets mentioned will receive a notification (email?) from webmention.io (Both people(domains?) have to be registered on webmention.io)


"Webmention[1] is a W3C recommendation that describes a simple protocol to notify any URL when a website links to it, and for web pages to request notifications when somebody links to them. Webmention was originally developed in the IndieWebCamp community[2] and published as a W3C working draft on January 12, 2016.[3] As of January 12, 2017 it is a W3C recommendation.[4] Webmention enables authors to keep track of who is linking to, referring to, or commenting on their articles. By incorporating such comments from other sites, sites themselves provide federated commenting functionality."[1]

If you want to know a little more about how this fits in with other adjacent social web protocols, I'd recommend the Social Web Protocols document[2].

[1] https://en.wikipedia.org/wiki/Webmention

[2] https://www.w3.org/TR/social-web-protocols/#delivery-mention...


See the link in ivan_ah's comment: https://indieweb.org/Webmention

"When you link to a website, you can send it a Webmention to notify it. If it supports Webmentions, then that website may display your post as a comment, like, or other response, and presto, you’re having a conversation from one site to another!"


Jinx!


"Webmention is a simple way to notify any URL when you mention it on your site. From the receiver's perspective, it's a way to request notifications when other sites mention it."

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

Sounds pretty similar to pingbacks


Webmention was inpsired by pingbacks but without xml.

Webmention.io (the submitted link) contains a pingback to webmention forwarding service[1].

[1] https://github.com/aaronpk/webmention.io#pingback-to-webment...


Have you ever used twitter? There is a notification when someone answers or retweets a tweet of you. Webmention is basically this notification, but decentralized. Someone responds to an article of you and sends you a notification where you can find it. You then can shiw this under your article and respond back and allow your readers to read all this.


Not meant to flame: why do people want these? They always just seemed like spam cluttering up an article's comments, removing the space for actual discussion.


Agreed - I think mentions are a very cool in principle, but in practice it seems like blog software that supports them tends to just treat them as comments, which ends up being really irritating. Unfortunately this practice has been sort of solidified by platforms like Tumblr.

I would love to see mentions implemented in the UX as a completely separate concept from comments, where there is independently maybe a "mentioned x times" in the post footer which can be clicked for a list of mentioners. This could be a cool method for "webring-style" discovery of websites on similar topics without cluttering up the comment experience.


The good news is everyone who receives webmentions can decide what it looks like themselves! In fact you'll see quite a lot of variation in how these are displayed on people's websites. Everything from a list of comments, to just a list of URLs, to a grid of faces with no text!

eta: There is also no requirement that the receiver of a webmention displays it! You could just as well use it for private notifications of the links.


I don't display pingbacks anywhere on my website, but I like to know when people link to articles I've written. It's personally rewarding for me to know that I'm contributing knowledge that others are referencing and expanding on. These have opened project collaborations for me and allowed me to meet some awesome new like-minded friends from all over.

I generally agree posting these on your site is going to be sloppy and probably lead to getting spam'd or end up with backlink issues.


It’s like something between Twitter reply and quoted RT, which both shows up for your own followers and notifies the OP you said something about their topic. Before big social networks were popular, this was a very good way to make new friends on the internet.


Don't think of it as comments on blog posts, think of it as enabling entire conversation threads between websites instead of between twitter accounts.


As a reader, I find clicking through the mentions / pingback links are a good way to find another take on the same subject as the original article


I don't have anything against jQuery, but isn't it a bit weird to have that be the example in 2020? Wouldn't `fetch` just work fine there...?


I'd happily accept a PR to the docs! I launched this service in... 2012


This is what I love about HN and puts a smile on my face every damn time.

For some reason, it makes the whole internet with its billions of users feel so small, for a sharp and brief moment.

Of course we live in our own bubble on HN, so it's quite a specific and targeted demographic already, but still.


Well, now I look like an ass. :)

I was assuming this was a new thing - my mistake! Makes much more sense now, haha.


Now you have one! (I fixed a typo and added a note about the presence of a CORS header on responses, too.)


jQuery is still used on a huge number of sites.

> jQuery alone is found on nearly 85% of the mobile pages tracked by HTTP Archive

https://almanac.httparchive.org/en/2020/javascript#what-do-w...


Yes but it’s worth mentioning that jQuery Ajax is a high-level API while `fetch` is a low-level method. The default call is sometimes (most of the times?) not what you want, and you have to add one or more options.


It's not any more complicated to use than $.ajax ever was; the major difference is that it returns promises by default instead of needing callbacks, and that's a strict improvement.

That said, I'm glad you gave me a reason to look at the jQuery docs again, for the first time in years. What a 2009 mood!

edit: And if I'd looked more closely, I'd have seen that $.ajax now does return a promise. So that's good! Still appreciate the nostalgia hit.


TIL!


IIRC, the first incarnation of this was proposed and implemented around 2002 by Six Apart. It was called "trackback".


Previous discussion on HN, "Grow the IndieWeb with Webmentions"

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


So how long before this gets used for spam ala pingbacks?


https://indieweb.org/Vouch is an extension designed for spam prevention, but it doesn't have a wide adaptation yet.


If we let the possibility of spam prevent us building technology, we should never build anything.


We should realize that any technology without controls will be taken advantage of. There's a reason we've moved away from insecure default logins, unauthenticated admin portals and allowing apps to do whatever they want - those things have all been abused.

Security must start in the design. Spam killed pingbacks, and unless Webmentions design with that flaw in mind they're doomed to the same end.


I agree, but I think it's also worth learning from past experiences. Pingbacks do create a significant spam problem. How does Webmention.io cope with that?


Based on experience with Pingbacks, the Webmention specification requires the sending site to have a mentioning URL on a publicly available web page. This requirement by itself cuts down significantly on spam as it increases the cost of sending it. (Pingbacks/Trackbacks didn't have this requirement so it was easy to programmatically spew spam in all directions.) In addition to this, there's no requirement to show the received Webmention, so there's less benefit to some spammers in these cases.

Many people who do receive and display them have separate mechanisms to moderate them before display, which also tends to minimize spam. Other sites that support Webmentions also dovetail with anti-spam services like Akismet which can help filter out spam out as well.

And this is all without anyone adding the Vouch extension to the Webmention spec.

Keep in mind that webmention.io is just a third party service to allow sites to use and leverage Webmention notifications without needing to write any code. Many major CMSes like WordPress, Drupal, Craft, WithKnown, et al. either support the spec out of the box or with plugins/modules. Each of these can also leverage anti-spam methods they have available separately. As an example of this, the WordPress plugin has an allow list for automatically approving webmentions from sites one regularly communicates with.

The idea of Webmentions has been around for almost a decade, and the spec has been a W3C recommendation since 2017. Only one suspected case of Webmention spam has been reported in the wild in that time. I'd conservatively estimate that with 10,000+ independent websites sending/receiving over 2 million Webmentions in the past several years, it's not a bad start. For more details, ideas, and brainstorming for your potential use-cases see also: https://indieweb.org/spam


> Based on experience with Pingbacks, the Webmention specification requires the sending site to have a mentioning URL on a publicly available web page. This requirement by itself cuts down significantly on spam as it increases the cost of sending it. (Pingbacks/Trackbacks didn't have this requirement so it was easy to programmatically spew spam in all directions.)

It wasn’t required for spec. conformance, but it was recommended by the spec. and implemented by all the early implementations.

> Upon receiving a request, servers MAY do what they like. However, the following steps are RECOMMENDED:

> The server MAY attempt to fetch the source URI to verify that the source does indeed link to the target.

https://www.hixie.ch/specs/pingback/pingback#TOC3

> In addition to this, there's no requirement to show the received Webmention, so there's less benefit to some spammers in these cases.

This wasn’t a requirement for Pingback either.


Cross that bridge when you get there. If nobody uses, there's no problem. If so many people are using it that it attracts spam, then the users can decide how to solve it at that point in time.


Of course, you are both correct here.

Spam was my first thought as well. Back in the golden age of blogging, I loved getting pingbacks on my posts, but the ecosystem became flooded with spam to the point that anybody old enough to remember what pingpacks are will automatically associate them with spam. It'd be nice if this service could address this concern, which lots of people will have immediately, and it appears they do via a plugin, as mentioned in another comment.

Since this is a centralized-ish service, it'd be good if they could perhaps address this at the hub-level.


The spam problem helped kill independent blogging by driving bloggers to centralized hosting.

The great thing about MovableType, b2, and eventually WordPress was that pretty much anyone could install it on a shell account and set up a fairly sophisticated publishing system. The lousy thing about MT and WordPress was that it was fairly easy to write automated tools to spam comments and trackbacks and now your unsophisticated bloggers were trying to become DBAs and understand the nuanced differences between MyISAM and and InnoDB tables and locking and…oh…it was easier to migrate to blogger and TypePad and eventually Tumblr/Facebook.


Kicking the spam can down the road is not the only way to solve a problem, nor is it guaranteed to work.

Up front thinking and design can go a long way.


No, if you build without spam prevention you end up with a situation where you have to retrofit it, annoying legitimate users and having a huge fight over control.

Or it drowns in spam and everyone quietly drops it .. or it never takes off at all. Shrug


I have had trackbacks turned off on my MT blog for ~15 years and still get hundreds of attempted POSTs to mt-tb.cgi every week.


This is a straw man argument. We can and must do both: build and be realistic about misuse.


It's been around for over 8 years. Is spam a problem with webmentions so far?


Not exactly the same, but I've been using https://f5bot.com/ for a while now. Sends me a notification any time specified keywords are found on Reddit, HN, etc. Great service with no fees.


I feel like this needs to be more of a browser extension than a per-site thing. You'd be able to see all the places that link to this page that have been created or seen by a group that you're in.


Why does this want permission to read my tweets? That wasn't clear at all putting my website and clicking the submit button. I'm sure it's fine, but I didn't grant it and backed out.


I've been using Webmention.io on my own site (https://rasulkireev.com) and it works beautifully.

A lot of frameworks and static site builders have a plugin to integrate webmentions on one site.

I believe this came from the Indieweb movement, which I am a huge fun of.


So, this is a service that acts as a proxy for webmentions, right? I'm guessing a good use case would be for a static site e.g. hosted on github pages?


Pingbacks are back, baby! What is old is new again, except this time is centralized, so hopefully with less spam but also less independence once FAANG acquire the service.


Indeed! To be clear: webmentions themselves aren't centralized (and neither are the other various IndieWeb protocols), but webmention.io does provide a very convenient (central) service for receiving them.


Not centralized, this is a tool to enable it for static sites. See other alternatives at https://indieweb.org/Webmention#Publisher_Services


When did we all end up so pessimistic? An interesting new idea with little more than an MVP, and we've already mapped out its whole demise.


Human nature finds a way to subvert some of the best intentioned technologies.

This is fact. We need to get used to it and solve the tough problems: identity, moderation, spam, discussion quality, community norms, and so on.

Building a service is often easy. Marketing it is harder. Building something useful to a group of people in spite of human nature is probably the hardest.


25 years watching the development of the internet, will do that to most people.


It's been around since at least 2012.


How do I insert a comments section with Webmention? What HTML do I add? Preferably via dynamic JS so it's self-updating.


Maybe this is the sort of thing you're looking for? https://github.com/PlaidWeb/webmention.js/


Reminds me of f5bot.com, which doesn't require two-way tracking of mentions on Reddit / HN / Lobsters


tip for those considering this - i use clientside webmentions for this so that it doesnt add to my build times - and lazy load it so it doesnt drain visitor battery/data:

https://www.swyx.io/clientside-webmentions/


Now that I saw it on your site, I'm absolutely considering it. I think server-side is the way to go, though, as explained by one of the webmentions on your post: https://nicolas-hoizey.com/articles/2020/05/05/jamstack-is-f...


i sleep fine at night with the amount of JS i ship on my personal site lol. i'm sympathetic to alex russell's perf complaints, but JS bulimia isn't healthy either.


For me it’s more about not overloading webmention.io with requests for every single visitor of your site. It seems more respectful to just re-build occasionally and thus cache the webmentions on your side. The performance is secondary to me, though it is an accessibility concern as well.


Obligatory mention: reminds me of the syndication element of project Xanadu.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: