Beta: New and Improved On Later

Any channel that you have set to Hidden on your Channels DVR Server will not have their airings indexed, which therefor won't show in On Later. If you have recently hid these channels, their airings are still in the index until the next indexing (in the morning of the following day). You can force this by using the Re-Download entire guide option in the Guide Database section of settings.

Thank you for your feedback.

Thanks for the feedback.
This persistence of cached state is a disease that's threatening the entire SW world! Apple handles SW caches TERRIBLY (a particularly awful case is anything to do with HomeKit automation) and the rest of the developer community is going along with this.

I know it's hard, but it's really not acceptable to maintain cached state after an invalidation event. It just makes the UI feel utterly incomprehensible to the user. "I changed these settings! Why does the program not change what it is showing me???"

What's so strange is that older frameworks like MacApp and PowerPlant made the linkages to force these sorts of updates the central feature of the framework, but this discipline and everything that came with it seems to have been forgotten in the macOS/NS era. Maybe it's a consequence of web design -- it was hard/impossible to do this properly for web pages, and that giving up then permeated everything else?

Anyway, like I said, thanks, and hopefully eventually the UI aspects of this are fixed.

It is not "cached". The guide is downloaded, indexed, and stored on the drive. Most people don't have channels they can't receive well enabled from the start, so this probably isn't a common problem. Maybe the guide could re-download and re-index every time user disables a channel, but that could make things slow and unresponsive. I certainly wouldn't like this. You should probably set your HDHR up correctly from the beginning with the channels you receive/want and then you don't have to worry about it for future guide indexing.

That's what a cache IS! A cache is retention of state (of ANY form) rather than regenerating values as required from ground truth.

There are many ways to balance UI responsivity concerns with cache updating. These include, for example,

  • modifying the display of the data (change the background color or whatever)
  • provide a temporary "update now" button the user might press after they have finished channel editing
  • restarting a timer every time a new channel edit occurs, and letting that timer (say 15 seconds) expire before forcing a presentation update.

As for "You should probably set your HDHR up correctly from the beginning with the channels you receive/want", thanks for the advice. I'll get right to my time machine and make sure I do this correctly as of a year or so ago. There is nothing more helpful than advice that has practical consequences...

Actually, it does half of this. When a channel is added, the new guide data is usually downloaded right after it becomes known to the DVR. The discrepancy is when a channel is disabled/removed; in that situation the data remains in the database until it is updated the following morning. For most situations, this would only involve a 6–18 hour lag time; and if you are impatient, the system does expose the option to force update your guide immediately.

The difference is probably that if you're adding a channel, you want its guide and data immediately so you can make use of it right away. Conversely, if you're removing/disabling a channel, the guide data is generally hidden then and will be purged upon the next scheduled update, saving resources.

1 Like

Maybe. But I usually think of a cache as an identical copy of an item, stored (usually in RAM or an SSD) in a way that allows much faster future retrieval of the same thing. But this is not an identical copy. It is the ONLY version of the indexed data, stored once on the drive. But @racameron seems to think it wouldn't be that big a deal to re-retrieve the underlying gracenote guide and recompute the indexes when channels are disabled, for the purpose of quick changes to the new On-Later features. So maybe devs would do something like this.

Ground truth is the value that exists in gracenote.
The local record is a cached value of that ground truth.
The view displayed is a cached value of the view constructed from that local record.

Presumably we agree that

  • what is displayed (showing channels that the user has removed)
  • is not what should be displayed.
    So we agree there is a bug.

OK, next, why is the bug occurring? Because it's considered too expensive to reconstruct on demand the view that should be displayed on every display occurrence.
Now if you want to call this something other than a cached view, and if you want to describe the problem as something other a (lack of) a cache invalidation protocol, well you can invent your own special purpose terms. But it's unclear what the point of that is, given that ever SW (or for that matter HW) engineer in the world understands the problem immediately in terms of a cache that is being operated without an invalidation protocol.

I don't blame the engineers. The web sucks in many ways, and this is one of them.
The basic problem they have is that if I open one web window, where I modify the channel line up, and have a second web window open showing the On Later display, it is not completely trivial to connect these two so that a change in one immediately (or which a delay) triggers a change in what is seen in the other window. It's not impossible, but it does mean that a robust design that was working well (database backend serving up static HTML) has to be modified to also serve up JS.

But an-easy'ish solution to this is the old Windows solution -- add an F5 key to the On Later page. Yes, it seems an admission of defeat to have an F5 key, but it's a lot better than the alternative of simply displaying stale data. Sometimes you admit defeat, admit the UI is not perfect, add a simple workaround, and move on...

No, that's not what I said. If you're going to reference my posts, please be accurate. I said the guide is updated immediately for new channels, and removals are handled upon the next scheduled update.

If you don't want to wait, you can manually force a re-download.

Can we keep the comments on topic, ya'll can argue semantics of caching in a separate thread.

Settings > Guide Database > Maintenance > Re-download Entire Guide

There's your F5.

1 Like

Sure but half the job is discoverability.

The problem is not that the UI does not (one way or another) eventually fix itself. The problem is that for the user who does not know what to expect, it feels like the system is broken. There is no indication anywhere in the UI that "yes we know the On Later we are displaying you is incorrect, here's how you fix that".

That's my point -- a button ON THE ON-LATER PAGE makes it clear that the UI is expected to be in a transitional state, and how to fix it. Doing nothing and providing a solution that is non intuitive to practically every user is not the equivalent of that.

Dude, this is a beta feature. We know all of this. The old On Later sat shipped in a half ass state for years without us touching it. We knew it was terrible and not helpful, and now we're finally in a spot to make it better. Is it perfect yet? No. We work on things iteratively.

Your feedback has been heard, and your outrageous tone isn't helpful on this thread.

8 Likes

Sorry Jon, my outrage is not directed at you; it's directed at this mindset that "no-one should ever criticize any aspect of software; it's perfect the way it is".

I was happy to leave things at my initial reply to you, but I was not happy at the stream of responses after that telling me that I should not complain about the UI because it was basically adequate and what more should one want than adequate.

I've read this thread and exactly no one was telling you that. The problem seems to be your need to be right.

6 Likes

It’s a beautiful morning! Wonder what’s on TV? If my DVR only had a way to check… wait. :grinning:

I’m guessing you don’t want to publish the enhancements you have in the pipeline for obvious reasons, but is there anything you can share about stuff on the horizon?

This IS us sharing what’s on the horizon :joy:

3 Likes

Fair enough. I appreciate all you’re doing.

2 Likes

Was hoping for the super secret gantt chart. Thought I’d try. However, I could be satisfied with another epic nerd battle like above. That made my day.

2 Likes

I really like what you did letting us Fine Tune and select things like Preferred Movie Genres. Helps me to filter down Movies I might want to record.

Is there any way to remove the Genres displaying that I didn't select as Preferred?
I already know what the other Genres are that I didn't Prefer, so I don't need them showing up under Movies or TV Shows.

2 Likes