insidegui / WWDC

The unofficial WWDC app for macOS
https://wwdc.io
BSD 2-Clause "Simplified" License
8.62k stars 780 forks source link

Now Playing: Represent currently playing video, without displaying it under erroneous filters #289

Open bcmn opened 7 years ago

bcmn commented 7 years ago

Currently when enabling filters while a video is playing, the currently playing video is forced into the table view to ensure it remains on screen at all times, even if you explicitly enable filters that should exclude it -- this looks particularly egregious in cases where it is forced into the wrong year, or when it appears under downloaded or favourited, lacking a flag that all other cells in the table view have.

If we feel the currently selected video should remain on screen at all times it might be worth considering a "Now Playing" pane in the main window, which could also give us the chance to evaluate whether we would want to use this location to add some of the interactions that are only displayed when the playing video has the focus of the right-hand panel, & is not playing in PiP -- for example, performing any seeking operations (start, end, back/forward 15s) or volume controls.

bcmn commented 6 years ago

In the now-closed issue above, one of the sub-suggestions seemed to be simply the ability to play a queue of items back to back. The nature of this behaviour seems well-suited to this issue, as otherwise we would likely end up rethinking this UX twice over.

Implementation-wise, there are queueing systems in AVFoundation. I wonder if they offer KVO events that would allow us to address the obvious issues around "What session is selected after the player moves to the next queue item?"

insidegui commented 6 years ago

The queue aspect of playlists is exactly the one I worry about the most 😅

I don't know, it sounds too complex to implement for very little benefit. We're talking about sessions of about an hour in duration, who watches several of them non-stop? Is it really that hard to find, select and play the next session you want to watch?

insidegui commented 6 years ago

After this year's WWDC, I did end up watching a few sessions in sequence, this is what I would do:

1 - Favorite the sessions I wanted to watch 2 - Filter by year=2018, favorites and unwatched 3 - When the current session ended, choose the one I wanted to watch next and click play

For me, the only thing that would change in this workflow with queueing would be the fact that I don't have to manually select the next session and click play. BTW, I often changed my mind about which session I wanted to watch next based on recommendations given during the current one.

bcmn commented 6 years ago

After this year's WWDC, I did end up watching a few sessions in sequence, this is what I would do:

1 - Favorite the sessions I wanted to watch 2 - Filter by year=2018, favorites and unwatched 3 - When the current session ended, choose the one I wanted to watch next and click play

Yeah, my workflow is the same. I can't say I necessarily share the need for it, I just thought it was telling that the issue above was willing to forego all the sharing stuff that seems valuable to get this functionality.