Email or username:

Password:

Forgot your password?
Dave Anderson

Relearning modern HTML, and amazed to find that <a> tags have a "ping" attribute that just fire off an async POST to whereever you like when someone follows the link. Explicitly designed for tracking user activity, and has been in browsers since 2011.

According to MDN, Firefox is the only browser that doesn't send them by default. Not for any particularly noble reason, there's just an 11 year old open bug to finish shipping it and it's not done yet.

18 comments
Dave Anderson

The rationale is fair enough, to some extent: it implements something you could already do a bunch of other ways (JS events, proxy through a tracking redirect, ...), so it's not giving anyone novel capabilities. But in return, it avoids (in theory) tracking enthusiasts playing stupid sneaky games with hypermedia, and encodes the intent of the site author semantically into the page, where the browser can understand it (and then ignore it, or point it out to you, or ...).

TIL I guess.

mos_8502 :verified:

@danderson For contrast, Gemini has a protocol level limitation of one click equaling exactly one network transaction.

Dave Anderson

@mos_8502 yeah. Unfortunately I find gemini unusable, because IMO it's gone way too far in the opposite direction and removed so much that it's a hostile experience. I find it an interesting art project to discover how much you can take away before a system becomes _completely_ useless, but it's not something I can use.

But that's just me! Some folks enjoy it, and I'm happy they found a calm port in the storm. Sadly, I must keep sailing.

mos_8502 :verified:

@danderson Well, it’s aimed at a different task than the web. Gemini is like a hybrid of Gopher and the Web before it was viable to monetize anything.

Dave Anderson

@mos_8502 Yeah I get what it's aiming for, and it succeeds at that. I just want something less extreme. Tables, inline images, math markup, more semantic markup than gemtext has, that sort of thing. Hell, even some tastefully rethought way to execute code! Code execution isn't the problem, consent is.

But that wouldn't be gemini, it's another more different thing somewhere between gemini and www. And I get why gemini didn't do that, and why people like what it did. Just, not for me.

Dave Anderson

@mos_8502 Then again I'm also the weirdo that watched the "web that never was" talk, and immediately wanted Hyperlisp.

mos_8502 :verified:

@danderson When I imagine a “web” equivalent that Neo-retro systems can use on equal footing with modern desktops, Gemini is the closest real thing I’ve seen so far.

Dave Anderson

@mos_8502 Yup, for sure. As I say, I get what gemini's shooting for, and I even like some of its choices. I just think that it went too far for me, and then did the whole "renouncing of possibilities" thing by striving to make extension impossible. Again, I get why, but it means it's a dead end to me.

curved-ruler

@danderson
you can disable JS, and <a> should work anyway. (should)

az

@curved_ruler @danderson

I'm reminded of this, tracking via CSS attributes and interaction.

underjord.io/is-this-evil.html

Not semantic / explicit like the `a`

Montgomery Gator

@danderson This could be useful for identifying and redirecting Chrome manifest V3 users to special sites.

Irenes (many)

@danderson sigh yeah we learned about that while at google. no prize for guessing how.

eternaltyro

@danderson Shhhh 🤫 god forbid some Mozilla exec read this and demand their engineers to implement a "privacy preserving" tracking feature using this!

Resuna

@danderson

I would much rather have that than have all my links wrapped in a link to a tracking site so copying the link gets you something awful like googletracking_com/track?url=encoded_original_url&ref=guid.

Arthur van der Harg

@danderson So … if a careless web designer were to enter the wrong URL to ping, the pingee would get incorrect info? Let’s hope nobody makes that mistake 😇

Go Up