[whatwg] Proposal for a tab visibility API
timeless at gmail.com
Thu Dec 9 03:26:17 PST 2010
i'm not sure i'm a fan.
>From work on the nokia n8x0/n900, we wanted to be able to stop things
when the screen blanked.
During this case the "active tab" was still the "active tab", but
since the screen was blanked, the user couldn't see it.
That said, if a video is offscreen, partially offscreen, overlapped,
then you have strange behaviors to worry about.
I like trying to full screen a video on a secondary screen, and am
perpetually annoyed by video players which kill themselves when they
lose focus or similar.
While we actually developed the n8x0/n900 browser, I complained about
the case of a <video> where all I wanted was the audio.
Right now I'm sitting in my apartment. There's a TV on which is
showing BBC. There's also a stereo system which is playing the
corresponding audio for the BBC content. They are both connected to a
single DVR which is decoding the Video for the TV (SCART - *sigh*) and
Audio for the Stereo (fiber audio). I am *not* watching the BBC, I'm
staring at my MBP and typing to you. My focus is on this GMail window.
*BUT* my ears are listening to the BBC from my stereo. The TV in fact
has multiple inputs, it can also take DVI in from another Mac. If the
TV where to tell the DVR to stop playing the BBC or the DVR were to
decide to stop playing the BBC because the TV told it that it was no
longer showing the BBC, I'd be annoyed. Because I'm *listening* to the
BBC. The fact that the BBC isn't *visible* to me doesn't mean that I
don't want the content to play. And every time someone gets *clever*
and breaks my usecase, I cry.
Now you might say that we can trust the people given the API to only
use it for the right reasons. But I've been living with the web for a
while, and I hope you have too.
Note that mozilla has proposed a mozAnimation JS API. Are you sure
that the game use case can't just use that? I think this is a perfect
use case for that. If that's the case, then I don't think we need
this, but can instead work on getting that API ready for more public
More information about the whatwg