From an advertiser'a point of view, the visibility API is a boon. For users not so much.
I've recently noticed several sites that pause their video ads when the tab is hidden.
I don't look at adds. I have several ad jingles/slogans from my youth wired in my brain. They popon cue, and since I don't want to add new ones to my collection, I now actively avoid ads.
This means that I now have to look elsewhere while the video is playing, or hide the screen, and it annoys me to no end.
/rant.
To browser authors:
This feature has some use, but a huge potential for user abuse. It would be most helpful if it were possible disable the API, or to enable it selectively on a site by site basis.
I think I'm missing something. Wouldn't the alternative be to keep playing the video ad even when you're not looking at it? Why is that better? I don't want my browser wasting cycles to render a video it knows I can't see.
At the risk of stating the obvious, it sounds like you have a problem with ads, not a problem with the visibility API.
Depending on your browser, that seems pretty doable with a plugin. I assumed ad block plugins would nuke video ads anyway -- is the issue that they are preroll and hard to filter?
At the risk of getting into an ethics debate, that's sort of the deal being offered by the publisher: you get the content in exchange for watching this ad.
It's better because the user doesn't have to sit on that tab waiting for the ad to play out. How it currently is one can go check Facebook or HN (or even do some work!) while waiting for the ad to finish.
To move beyond the ad issue. Maybe I'm not interested in watching the video (say a presentation) but only listen to it. Then I have a legitimate reason for not wanting the video to pause: doing other work in other tabs.
Which is why it's good for marketers but not the user. I don't need to see the same ad more than once in a session but many video sites will display the same handful of ads every couple minutes. This is especially prevalent on twitch.tv when watching gamers stream, it's usually the same ad every time. After the first time I see it I'll just visit another tab while it's playing (mind you the audio is still playing.) If they were to pause while I was doing this I wouldn't bother watching at all.
I like to open videos of talks an play them while I do other browsing and work. I still am listening just not watching. If the video stops when I move away, now I can't have my background sound be interesting info about $TOPIC.
As a feature, I think it has a lot of merit. Advertisers will love it, as it actually improves on TV ads (which you can fast forward through easily).
If you're already using some kind of ad-block, there's nothing stopping you/your ad block from disabling the visibility API on select pages (youtube et. al). It's a Javascript API, and that means you'll be able to alter its functionality fairly easily (bookmarklet, plugin, addon, etc).
This is what I'm most afraid of. Ads are starting to quickly plague the internet. They've already screwed up TV and made it completely unwatchable and internet is next. YouTube is already extremely annoying to navigate.
I've recently gotten to the habit of having two browsing windows open. If in one of them I stumble across something that forces me to watch 30 seconds of ad (which happens increasingly often), I flip focus, continue browsing something else and come back to the other window later.
It's great to hear they can now start to ensure I watch the ads. What's next, API that checks if you have system sound muted or too low?
Wow... I can think of few ways to completely destroy goodwill with users than that. If someone has decided that they aren't interested in listening to an ad, enough so to spend the time to lower the volume, you sure as hell are not going to elicit warm fuzzy feelings by actively ignoring their wishes.
Now that you tell it I actually reverse engineered a page (script compiled with GWT, strings mangled, most of the script being one or two letter variables, often the same ones), to find out how they were doing it, and in that case, they were using document or window.onblur.
I tried to overwrite the event handlers without success.
That sounds like an argument for better ad blocking, not an argument for less rich web APIs. Avoiding new web APIs because ads might use them seems like avoiding new OS APIs because malware might use them; better not to run the ads/malware in the first place.
See, this is what I don't understand about HTML5. Wasn't executing untrusted code the purpose of operating systems ? Now we're having two layer of APIs like you said. Browser APIs and OS APIs. And we're seeing weird (or awesome) things like Emscripten, Native Client and Chrome OS.
I've recently noticed several sites that pause their video ads when the tab is hidden.
I don't look at adds. I have several ad jingles/slogans from my youth wired in my brain. They popon cue, and since I don't want to add new ones to my collection, I now actively avoid ads.
This means that I now have to look elsewhere while the video is playing, or hide the screen, and it annoys me to no end.
/rant.
To browser authors:
This feature has some use, but a huge potential for user abuse. It would be most helpful if it were possible disable the API, or to enable it selectively on a site by site basis.