Friday, August 29, 2008

Pause this!

Try this: start watching video with the youtube video player (or other streaming video player) over a moderately slow internet connection—slow enough that the video playback goes faster than the download.

The video playback will of course catch up to the buffering every few seconds, so there's no more data and playback has to pause. There are at least a couple of reasonable options for the player UI now:
  1. Pause the video, just as if I'd hit the 'pause' button myself. Leave it paused until I hit play again.
  2. If you're not going to leave it paused, then don't change the damned play button to claim that you are. Leave the button alone, and leave it active so I can press it to pause the video for real.
But the youtube player doesn't go for either of those reasonable choices. Instead, it appears to pause the movie, changing the button to the 'paused' state, but doesn't really pause it; when more data comes in, playback resumes. Of course at this point, as a user, what I inevitably want to do is pause it and go do something else until the whole movie comes in so I can just watch it without interruption. But this is now impossible, because the button claims to be paused, so I can't pause it; but it's waiting for data, so I can't unpause it; all I can do is wait until it starts on its own, and then use my ninja-like reflexes to try to pause it myself before it runs out of data and fake-pauses again. This game is not fun.

The pause issue would at least be ameliorated if I could just drag the scrubber back a few seconds, to get a bit of playback time with which to battle the UI. But that's broken too: if I try that, odds are excellent that the playback will freeze for some mysterious network hijinx and I'll have to start all over. Why? The data should already be there. Just play it. Why on earth should that have any effect on the download process?

And finally: why is it that sometimes when the scrubber shows that the movie is buffered ahead of the current play position, it won't play until it buffers even farther? The whole point of the buffer indicator is to show me how many seconds of playback have been downloaded. If they aren't available, then don't show them.

These are rhetorical questions, by the way. There is no good reason for any of these behaviors.

(I pick on youtube only because they're popular. Most, though not quite all, other video players have the same problems.)