Closed jonbell-lot23 closed 2 years ago
I want to add some not-very-fun but sadly important nuance here:
We currently use a slightly different color in the style of Netflix or YouTube to say "this region is fully loaded and ready to go. Click here and everything's gonna work great." But it doesn't. It is often slow.
I don't think this is true? I think right now this is supposed to mean "we have loaded paints for this area so the video should work". Right now, AFAIK, there is no bar that tells the user "this part of the recording is loaded" (though we have discussed adding one when hovering of the new loading UI". If we do that, we should recognize that there will be at least 4 different ways for the timeline to look visually, with a different significance to each one:
1) unloaded 2) loaded/loading, video not ready 3) loaded/loading, video ready 4) loaded/loading, in the "past" (to the left of the current play position)
And I'm sure that could get confusing.
And, it's worth noting, even when we do show the user which parts are loaded, just because the part of the recording where you are currently paused is loaded does not mean "everything is gonna work". Lots of stuff will still wait for indexing to be complete before it works.
I think we talked about the ability to differentiate between index/loaded and ready for playback (maybe connected to the paint regions?) – if we have that ability (I think we said we did?) then I think that's what we should be showing with the timeline progress bar, because that ui is primarily about playback.
Yep, if you see the new 4th bar on the protocol timeline (the bottom blue one), that is what we know about where repaints fall in the replay. That doesn't mean we have the paint data just yet, we would still need to download it, but at least we could start doing that if the user clicked there.
Blah. That's where it went. It used to be turned on via app.features.advancedTimeline
(right?) but that stopped working for me. It's app.features.protocolTimeline
now I guess. That being said, I only see 3 lines 😄
Yeah I introduced a bug in the paints calculation this morning where we would try and make it Infinity%
wide when it was all loaded 😅
It should be fixed now
I wrote a comment but revising it back because it didn't add a lot of new information
This ticket is causing a bit of confusion in my workflow because it's not closed but I'm also waiting on some other focus mode stuff before I do anything else. Sending to next iteration.
Hey @bvaughn and @jcmorrow, I've filed a new ticket for adding a loading indicator onto the playhead when things are not yet loaded: https://github.com/RecordReplay/devtools/issues/6833
It is likely that with that change I'll be able to close out this ticket, but stay tuned.
Update: I put together a design so if we agree with it we can roll it out. (I'll need to cut an icon, stay tuned for that)
I am closing this ticket in favour of other ones. The best way to keep track is on this Discord page: https://www.notion.so/replayio/Loading-buffering-loading-states-design-discussion-2c6b4e0a13f845ddb09221a3a3231631
Background/the problem we're trying to solve
We have made many improvements to our timeline over the last year, and this is the next step forward. These items should be as clear as possible when using our app:
Details: What regions are ready to play quickly
We currently use a slightly different color in the style of Netflix or YouTube to say "this region is fully loaded and ready to go. Click here and everything's gonna work great." But it doesn't. It is often slow.
Proposed fix: we need better messaging here.
Details: Messaging when things are slow/laggy/not ready
It's possible to click into a portion of the timeline and not get a meaningful explanation about what's going wrong.
Proposed fix: we also need better messaging here.
Proposed plan
The design that we'll probably land on
Other considerations
There's more thinking to do around unloaded regions. (See tickets below) Stay tuned for that.
Resources
Ticket: Difficulty using player when parts of recording are unloaded Notion: Josh, Brian, Jon notes