this post was submitted on 12 Jun 2024
979 points (99.2% liked)

Enshittification

1545 readers
2 users here now

What is enshittification?

The phenomenon of online platforms gradually degrading the quality of their services, often by promoting advertisements and sponsored content, in order to increase profits. (Cory Doctorow, 2022, extracted from Wikitionary) source

The lifecycle of Big Internet

We discuss how predatory big tech platforms live and die by luring people in and then decaying for profit.

Embrace, extend and extinguish

We also discuss how naturally open technologies like the Fediverse can be susceptible to corporate takeovers, rugpulls and subsequent enshittification.

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 162 points 4 months ago (5 children)

What took them so long?

Anyway. I'm sure the adblocking Industry will adapt.

[–] [email protected] 92 points 4 months ago* (last edited 4 months ago) (7 children)

Adapt to what?

If they're mixing the content with the ads server side, it's going to be like trying to extract the flour from the bread loaf.

I've never understood why they haven't just provided a method of doing this for all their customers. Like a Google Ad service that meshes together everything on the page with the ads server side, so it's harder to target them client side.

I mean, the dream is to make the Internet like cable television, isn't it? Where it's all one signal/stream. When ads could never be targeted and blocked or skipped unless you recorded and played back later with fast forward. Feels like we'll get there eventually, with Chromium effectively calling the shots now.

[–] [email protected] 28 points 4 months ago (1 children)

If they're predictable with the timing and length then sponsorblock will still work.

[–] [email protected] 70 points 4 months ago* (last edited 4 months ago) (5 children)

And if they're not, the client can download the video twice and diff the copies.

The most pernicious thing they could do is randomize the ads across users, but serve each user the same ads each time. In that case, you'd need a peer-to-peer client to compare hashes of chunks with other users to detect the ad segments.

[–] [email protected] 32 points 4 months ago (1 children)

Dear Satan,

Your application for the Alphabet engineering position has been acce--[your message will continue after a word from our sponsors]

[–] [email protected] 13 points 4 months ago

Honestly, I'd be happy to take the job and sabotage them from the inside.

[–] [email protected] 15 points 4 months ago (1 children)

We could use audio fingerprinting to detect ads in the buffer

[–] [email protected] 11 points 4 months ago (1 children)

Yeah that could work... What about creating some sort of *arr for YouTube videos that downloads them and processes them with some sort of AI audio/video processing to remove the ads and recombine the video.

Youtubarr it could be called. If we really want we can also remove the ads from the creator in the video too. It would still count as a view to the video too so creator won't lose out on money.

Anyone with objections to this?

[–] [email protected] 3 points 4 months ago

It's a neat idea, but computer vision stuff can get quite computationally expensive when done locally and is prone to input poisoning attacks (especially if the models used are open source).

Not saying it wouldn't be possible, but I think some of the other ideas posed here would be better starting places.

[–] [email protected] 6 points 4 months ago

Or get the video once with a YouTube premium account and cut out anything that doesn't match from the free version.

[–] [email protected] 3 points 4 months ago

There's no such thing as "download the video". It's a stream of small chunks, which can be re-arranged by back-end in any way, shape and form.

[–] [email protected] 3 points 4 months ago

Oh, the diffing thing is clever!

[–] [email protected] 10 points 4 months ago (1 children)

I think it's more like extracting raisins? ad contents are still separate from the dough. finding the boundary conditions or ads hashes is guaranteed to work. whether it is feasible for adblockers is a different matter yet.

[–] [email protected] 3 points 4 months ago (1 children)

Not really. Because there are no boundary conditions. Videos are not streamed as a one big file, they're streamed as small chucks, like 5-10 seconds short chunks. Replace one chunk content randomly on the back-end with an ad and no ad blocker will be able to spot it.

[–] [email protected] 3 points 4 months ago (1 children)

the lengths required to defeat youtube automatic copyright detection even for short segments of videos suggests that it can be done. if it can be done with the resources of consumer devices that's the question.

[–] [email protected] 3 points 4 months ago (1 children)

Their copyright detection doesn't work in real time on consumer browsers during video playback.

[–] [email protected] 1 points 4 months ago

Not comparing feasibility though? Only the flour/bread analogy. Injected ads however it is done will always not be a part of the original video.

[–] [email protected] 3 points 4 months ago

That's why I said "What took them so long?"

Adapt to what?

I don't know, man. I hope they succeed. If they don't, then I will never visit YouTube again.

Some other frontend that would allow me to fast-forward them would be fine, though.

[–] [email protected] 3 points 4 months ago

Even if adblockers aren't able to remove the ads, I'm sure they can still make it so you can skip over them with the arrow keys or video timeline.

[–] [email protected] 3 points 4 months ago

It's not that simple. Right now it's still separate video streams but presented as if they were the actual video, put in a queue of sorts.

Ublock Origin released a script to block them yesterday btw

[–] [email protected] 1 points 4 months ago

I’ve never understood why they haven’t just provided a method of doing this for all their customers. Like a Google Ad service that meshes together everything on the page with the ads server side, so it’s harder to target them client side.

The value that Google has always provided as an ad platform is that they're targeted ads. You can target estimated age, geographic location, gender, estimated income. You can target your ads so narrowly that only a single person ever gets them even.

To bake ads into the actual content stream they have to expend compute editing and re-rendering the video for as many times as they have ads that they intend to run on those videos. They can do it once with once batch of ads but then it's only as targeted as who clicks on that video. Realistically they'll want to do it 5x, 10x or more per video (and store every copie of the video, unless there's some tech to store it as segments and seamlessly stitch then together as a single stream) to continue targeting the ads which gets very expensive fast

[–] [email protected] 1 points 3 months ago

Google is required by EU law to show what is an ad and what isn't. Adblockers could somehow detect that and skip forward.

[–] [email protected] 38 points 4 months ago (1 children)

Ya I'm actually surprised they hadn't done that sooner.

[–] [email protected] 3 points 4 months ago

You need to kill the market first, if you make ad riddled shit first, no one uses your system. Now there is no real competition, which means they will monetize their position. It is what corporations do. We need alternatives, and I know Fediverse has some.

[–] [email protected] 20 points 4 months ago (1 children)

They absolutely will. There are far more people (and probably smarter people to boot) working on blocking their shit than there are people at Google working on making it unblockable.

This is an arms race where they will win the occasional battle, but always lose the war.

[–] [email protected] 11 points 4 months ago (1 children)

Introducing our new surveillance-based, dynamically generated, native sponsored video ads with mandatory interactive minigame engagement.

Careful - if we ever detect evasion, that's a lifetime IP ban.

[–] [email protected] 13 points 4 months ago (1 children)

Careful - if we ever detect evasion, that's a lifetime IP ban.

And lose out on any potential future profits? Probably not. Especially if the IP is dynamic.

[–] [email protected] 1 points 4 months ago

Dissidence detected. Terminating.

[–] [email protected] 15 points 4 months ago (2 children)

It's technically complicated, and requires more compute to do it server side.

[–] [email protected] 2 points 4 months ago

I didn't say it would be easy. But yup.

load more comments (1 replies)
[–] [email protected] 7 points 4 months ago (4 children)

What possible response is there from adblockers to this?

[–] [email protected] 28 points 4 months ago (4 children)

Index the content of the ads, identify it, and drop that data from the served video file? There may be a more clever solution, but that'd definitely work. It should be possible to checksum or just straight up store the data for the first couple of kilobytes of video data that would uniquely identify each ad.

Youtube obviously must have a rota of however many ads which they can display, so eventually they'd all get identified although you'd be playing whack-a-mole forever as they release new ones. Isn't Sponsorblock partially crowdsourced anyway?

This would be challenging and fairly expensive, but worth it if you were motivated by sufficient spite.

[–] [email protected] 4 points 4 months ago (1 children)

They say the ad is being integrated straight into the video stream on the server side though. It won't be its own identifiable piece of data on the client side anymore.

[–] [email protected] 18 points 4 months ago (4 children)

Yes it will? The video stream is handed from the server to your browser or device. Once it arrives, your machine can do whatever it likes with it. Up to and including deliberately ignoring part of the data, and since Youtube videos are buffered your client can skip to whatever part of the video is past the ad provided it's been buffered that far.

[–] [email protected] 6 points 4 months ago (3 children)

But how? Unless I'm misunderstanding how video encoding is done, you shouldn't be able to reliably identify what's an ad vs what's actual video once it starts getting mixed together. The ad will be encoded differently for every video it's inserted into.

I could be completely wrong about this, but the same ad clip's data should end up looking completely different depending on any number of things.

[–] [email protected] 16 points 4 months ago* (last edited 4 months ago)

Most encoding formats are deterministic, including the VP8/VP9 codec that Youtube uses. I imagine they could deliberately insert some manner of randomization in there if they really wanted to, and if they intend to carry through with this plan they may have to. But the same input with the same encoder (and settings) should produce the same output every time, at least if you begin counting from a keyframe.

Even if it can't be identified on a binary level with clever tactics, which I think it will be unless they do some kind of picture-in-picture thing, it should be trivial with current hardware identify it even with a fairly crude optical recognition system and a database. I.e., sample N number of points on the output and gauge the average RGB data for each for a couple of frames, and if that matches our entry for the ad in our crowdsourced database, skip ahead X seconds based on the database. Even better if you did it on the keyframes.

Doing it based off of the audio of the ad should be even easier, since acoustic fingerprinting is a pretty cheap technology to implement these days.

The other question will be if Youtube is dumb enough to always insert the same type of ads in the same place in each video, which they may be at least to start with, so a very simple table of "skip X amount of time at Y timecode on Z video" would be feasible. Or even better, if they hard insert the ads into the video to save on processing time, such that they never change. Are they going to try to insert ads and encode video to serve to individual users in realtime? Doubt it. That'd be bonkers. Youtube already chews on uploaded videos for sometimes upwards of an hour before having them ready to serve... I don't think they're ready to commit to and pay for the compute power to try to pull a stunt like this in realtime.

All of this is going to require some manner of crowdsourcing, unless we get really good at using AI against them or something (which'd be immensely satisfying, come to think of it).

[–] [email protected] 7 points 4 months ago

If a song can ne fingerprinted (e.g. Shazam), so can ads. Even when they're part of a larger video.

[–] [email protected] 5 points 4 months ago* (last edited 4 months ago)

Twitch does the same thing but you can still circumvent it. Worst case users may need a VPN to a country that doesn't have many ads.

load more comments (3 replies)
[–] [email protected] 2 points 4 months ago (1 children)

Except with AI what’s to stop the advertisers from dynamically generating ads on the fly that are just ever so different from the original so as to throw off this kind of blocking.

[–] [email protected] 2 points 4 months ago

Probably nothing, so don't give them any ideas.

load more comments (2 replies)
[–] [email protected] 23 points 4 months ago (1 children)

Don't ads need to be legally highlighted as being ads in many countries?

Would make detection easy.

[–] [email protected] 1 points 4 months ago (1 children)

Do you really want your ad blocker to do a resource intense image detection over a video stream in real time? Your PC will start fucking fuming.

load more comments (1 replies)
[–] [email protected] 20 points 4 months ago (1 children)

Would love to see AI ad recognition thrown back in their faces.

[–] [email protected] 12 points 4 months ago (1 children)

Perhaps the ads could be fingerprinted the same way Shazam fingerprints songs

[–] [email protected] 6 points 4 months ago

This is exactly what will happen.

Diff the same video a few times and you'll be able to figure out which is injected content and which isn't.

Separate out the injected content and you can fingerprint that content like how Plex or Emby fingerprints intros to TV shows (i.e. it's a solved and known problem).

Then you can reliably identify the injected and content, you know how long it is and can just tell the client to skip it.

This won't be easy, it'll require more than folks indexing ad content but it's feasible.

[–] [email protected] 3 points 4 months ago (1 children)

For adblockers, not much. For users, mirror all of youtube's content on a peer to peer network, and stop using youtube altogether.

[–] [email protected] 2 points 4 months ago (1 children)

How does sponsorblock does it, then?

[–] [email protected] 3 points 4 months ago* (last edited 4 months ago) (1 children)

Users can mark videos and submit that content. Users can vote on other users’ marking of content. It won’t work if YT streams the ads in if they randomly change the timestamp at which the ad(s) start.

load more comments (1 replies)