48 comments

[ 3.4 ms ] story [ 91.1 ms ] thread
Am I the only one to feel that autoplay video should be disabled by default, ESPECIALLY if the video isn't even being rendered inside the visible portion of the viewport when it begins playing? I am _sick to death_ of random noise coming from web pages (namely, news articles) and having to try and find the source of it.
Autoplay video with no audio track is being used as a lower-bandwidth alternative to gifs, and it's great for that.

Firefox's solution is a good one - don't ban autoplaying video, ban autoplaying video that includes sound, unless it is specifically allowed for that site.

But why should a video automatically _begin_ playing if I can't see it?
The same reason a GIF begins playing if you can't see it. As mentioned, video without audio is being used as a GIF replacement; it makes sense for it to behave the same way.
Why should a gif begin playing if you can't see it?
I didn't say that it should, only that no-audio videos behaving like GIFs seems like a good idea for bandwidth. Otherwise people will just use GIFs.
I'd rather them go all the way then offer us a whitelist.
That’s strange, very small animated gifs are often smaller than the equivalent video, especially ones with low color counts.
There are tons of videos that aren't very tiny, and that have large color counts. notatoad is talking about those.
If you want help identifying where the sounds came from and use Chrome, check out a chrome extension I built (http://www.mutetab.com) which will let you see which tabs most recently played a sound.
Firefox already does this better than Chrome, tabs that are playing sound have a speaker icon next to them, and can be muted without switching to the tab by clicking the speaker. However, this looks like a great extension, since I normally have 6-10 windows open across desktops, and have definitely played the "hunt the tab" game to find the offending window. A central place to find this is great, but I really wish Chrome by default had some sort of indicator for sound.
> tabs that are playing sound have a speaker icon next to them, and can be muted without switching to the tab by clicking the speaker.

Chrome has that, too, but you need to right-click->mute to mute. Mentioned my extension since it should make it easier to find the noisy tab because of the centralization, but haven't ported it to Firefox.

Oddly, my chrome install (win 10,very seldom used) does not do this. Just tested with both YouTube & NPR playing audio, I get no indication of audio playing. I guess it's time to play sysadmin.
(comment deleted)
Chrome also has a speaker icon in the tab. You can mute it with right clicking => Mute site.
Safari also has clickable speaker icons that show up on all the tabs that have websites playing sound.
Not at all, and autoplay is way too difficult to completely prevent.

Even on Firefox with media.autoplay.default set to 1, noscript, and UBO some sites still play video without my interaction. News sites are the worst about it; I'm considering switching some of my web usage to a text-only browser.

[edit] After perusing the comments of the article, I took the advice of "ryanja" and also set the following to false in about:config, and it seems to have been effective.

media.autoplay.allow-extension-background-pages

media.autoplay.enabled.user-gestures-needed

media.block-autoplay-until-in-foreground

>>Firefox will also allow muted video to play back automatically.

Good lord, they didn't go far enough with this. IME, muted video is almost always a waste of bandwidth that I don't care to see anyway. Local news sites seem to be the worst with this, where they will autoplay the video muted on the same page as the article. As someone who occasionally operates off of a limited-bandwith connection, I get more-and-more frustrated with the modern web every day. If I'm clicking on a local news site's article, I expect to just read the article. 9 times out of 10, I scroll past a muted video that has tried to play advertisements, and I will be finished reading the article where the video is 30% finished. I'm sure this option is changeable in about:config (which, besides preventing chrome monopoly is why I use FireFox), but most users will never adjust any of those settings. How much power globally is wasted burning CPU cycles to render this garbage content?

> I'm sure this option is changeable in about:config

media.autoplay.allow-muted = false

and most users probably like their not-gifs to stay animated. webm playback is also more energy-efficient than gif playback, especially when hardware-acelerated.

On mobile, I'd much rather save my data and have to click before a "GIF" starts playing than waste data. At least on Verizon, data is expensive AF.
> media.autoplay.allow-muted = false

Which doesn't seem to work on many sites I visit. ESPN's NBA scoreboard, for example, will now automatically play videos in the sidebar.

Firefox changed media.autoplay.default from a bool to an integer several versions ago, and ever since, I can't figure out how to get videos not to autoplay. I wish there were a simple, "Don't play videos until I click on them" setting so I didn't have to guess at what config settings to toggle.

(comment deleted)
9 times out of 10, news websites don't require javascript enabled at all to read the text of the article. I strongly recommend blocking all javascript (including first party) by default then building up a whitelist over time. uMatrix is what I use for this.

Not only does this approach kill auto-play videos, but it eliminates ads as well as "disable your adblocker" nagging.

The problem is, there is no way to block silent video without disabling JS completely.

Block the <video> element? Sites will use GIFs. Block GIF animation? Sites will present a slideshow of still images. Alternatively sites can implement video decoding in JS and render to a <canvas>. This isn't just theoretical, these have all been observed in practice. And these are all worse for users in every way than letting sites use <video> with a decent video codec.

Then start from a blacklist-fucking-eveything-approach, and hand off elements to sites (or frameworks, or individual pages) based by what they can and will use responsibly, starting with charactersets and linefeeds.

Emphasis, lists, links, colours, headings (pages all in <h4>, yes, I'm looking at you), asides, headers, footers, graphics, audio, video, fonts, sticky elements, scripts, cookies, notifications? Earn that shit. And lose it fast.

If this sounds like a paranoid defensive stance from being under persistent attack, it is and we are.

And that's how you make a browser which gets no users.

The no users part means it gets no funding.

The no users part means it gets no influence over how websites work.

The no influence over how websites work part means nothing renders properly in it - which loops back to 1.

The no funding part means you can't have a team of developers working full time to make it.

The not having a team of developers working full time to make it means it doesn't exist in any form that resembles a modern browser - which loops back to 1.

It's like a vicious feedback cycle but the feedback isn't even necessary to make the idea a non starter.

You might be interested in gopher though, at least with the lobste.rs community it's been having a small resurgence, just don't expect it to catch on with the general public.

GIFs would be horribly bandwidth inefficient way of doing silent video. Also, the lack of much flow control means it has very limited applications.
Sites are happy to do horribly inefficient things if that's what it takes to get video ads in front of users.
How about a cap on CPU time each tab gets per click / page load?
This should happen for anything that isn’t explicitly an application. Documents don’t need crazy amounts of JavaScript, most of it is just glue.
Isn't most things an application these days? Reddit, twitter, facebook, etc all have some form of formatting for comments, which in and of itself has to use javascript.
Those really aren’t what I would call applications. They’re more like documents that groups of people can append to.

And none of them need JavaScript for anything more than glue either. (Facebook actually has a no js version)

Webapps shouldn't get a pass for being poorly written messes. Only a handful of applications have a good reason to be CPU-intensive.
You just configure your browser to disable autoplay. Provided you use a browser that isn't gimped in favor of advertisers.
(comment deleted)
Safari defaults to stopping auto play with sound but has an option to prevent any autoplay.

If a site is going to go so far as to force video to play using those methods I’m going to close the tab pretty fucking quickly.

Web developer: "Oh man I'm glad Flash finally died, what an annoying, standard-behavior-defying, resource- and bandwidth-hogging piece of terrible technology that was. So user-hostile!"

Also web developer: makes the entire Web at least as bad as Flash was, using Javascript and CSS

You have a choice about what sites you visit. It sounds like you expect everything to conform to your vision of how things should be. That's contrary to a voluntary web.
Same with Flash. Or popups. Or popunders. Or loud auto-playing banner ads. We complained about those anyway, and mostly ended them. Then proceeded to bring it all back, but worse.

I'm making a statement of the general mood regarding those old, abused technologies. The modern web is at least as bad as the barbaric old web of pops both over and under, of Flash, of auto-playing loud banner ads, annoying redirects, and so on. Somehow we collectively mustered enough outrage to get rid of those things, but now the only way to stop it is to get rid of or neuter Javascript and probably CSS, too, so oh well, guess we just have to live with it forever.

[Leaving so soon? Sign up for my newsletter and never miss an article!]

Yes,

I've use Firefox for years and disabled autoplay for years. I don't even block adds otherwise. This Firefox cycle actually seems to be about enabling autoplay in a multitude of fashions. Where once I had to toggle one variable, now I have to research and change a dozen poorly documented variables in about:config.

The latest change was: Setting media.autoplay.enabled.user-gestures-needed to false. How much sense does that make? But it disabled wordpress' video where the six other tweaks didn't. At least you can find all this stuff searching for "autoplay". Still, who know how deep this will wind-up going.

To block all video (both noisy and silent) from autoplaying on Firefox 66 or later:

1) Go to about:config

2) Set media.autoplay.default to 1

3) Set media.autoplay.allow-muted to false

4) Set media.autoplay.enabled.user-gestures-needed to false

This works on both the desktop and Android versions.

Now if we could just block the autoplaying Netflix menu video...
In my opinion, Firefox has regained the crown as the best browser. There really arn't that many disadvantages to it while having many benefits.
Autoplay is a monstrosity and it seems like a shocking design flaw that it can't easily be stopped.

For example, Safari's "Never Auto-Play" setting simply doesn't work.

It seems like <canvas> animation should be blockable (e.g. make it so that canvas pixels can't be altered without permission) and even old-school html animation should be blockable.

Perhaps web sites with utter contempt for their users will decide to render all of their text into a canvas so they can trick you into watching video ads; "in order to view the New York Times, you must enable canvas animation and webassembly so that we can violate your video autoplay setting" - at which point I guess browsers will have to include an AI system that uses some sort of image processing and recognition to block stuff that doesn't look like text or static images.

Autoplaying videos is the new: 'midi-music blarring at you' from the 90s.

Everytime this happens to me on mobile i can't decide to chuckle or cry.

Without proper adjusted settings and addons no one can surf the web unharmed anymore.

The web has become a hostile place.

I mean silently playing videos in the background to gain profits from advertisers while costing you your data plan is burning real money. A kind of money transfer, but: unpretty.