[mythtv] Strange scheduler bug

Bruce Markey bjm at lvcm.com
Tue Mar 9 21:59:15 EST 2004

J. Donavan Stanley wrote:
> Bruce Markey wrote:
>> It is not required. I'd suggest an option flag that the user can
>> choose if they want to 'forget' things that are auto-expired or
>> not. Some people may believe that if something didn't capture their
>> interest the first time then there is no reason to keep recording
>> it. Others may think that if if they didn't see it it will still
>> be new to them the next time.
> It obviously caught their interest.  This isn't Tivo with "suggestions".

Huh? That didn't parse. The best I can make of it is that you
interpreted "interest" as in interested to add a record rule.
What I meant was that there is a record rule but the user
wasn't "interested" in the episode to the point of accessing
it in whatever way triggers a watched flag by the time it

>> What you are suggesting is that the system could do a better job
>> if it determined that the user has watched something. I believe
>> this is problematic in several ways and is not really useful.
>> In general, the system can determine if a user watched part of
>> a show but if it hasn't been deleted, it can not determine if
>> the user still wants to watch more of that show.
> A simple slider "Mark a show as watched if I've seen X% of it" gives the 
> user full control.  A "Mark this show as unwatched" solves the problem 
> of being past the threshold of "watched" but not finished with it yet.

That misses the point entirely. The assumption is that the
system can determine for the user that they must no longer want
to have this show that they didn't delete. This assumption is
incorrect. The rule to set this unneeded and confusing flag is

>> Someone could also skip to the end to see that it recorded all
>> the way through or may jump through to see if there are segments
>> or guests worth watching before deciding to delete it or keep it
>> to watch later.
> See above.

See above.
>> Checking if there is a bookmark or storing the highest keyframe
>> accesses or timing when playback was entered and exited or counting
>> how many keyframes where accessed or checking to see if the last
>> minute has been accessed or any other method doesn't tell the system
>> how the user feels about the show. If a user watched then deleted
>> a show, there is no ambiguity. If the user accessed a show but
>> didn't delete it, there is probably a reason. 
> And if a user recorded a show there's probably a reason as well.

Exactly, so why should the system impose any different behavior
hinging on an algorithm for how much the file has been accessed?
That would not be any sort of clear indication of the user's
intent and should have no bearing on the auto-expire decision.

> It may not be typical for behavior for 
> *you* but you can't fall into the trap of "I think like this therefore 
> so does everyone else".

Oh, the irony. That's exactly my point. All that is needed is
a flag for whether to include or exclude things in oldrecorded
when they auto-expire so the user could decide for themselves
what makes sense. I was posting in favor of the user having the
choice rather than having a behavior imposed on them.

You saw fit to reply to my posts saying "We'd need a "watched"
flag for that to work well..." Well, no. There is no need for a
"watched" flag in order to have an option for the user to decide
if they want auto-expire to include things in oldrecorded. 
Therefore, your response to my post was, in fact, incorrect.

You went on to purpose that the system detect and decide for
the user that they've watched enough of the show to not only
decide if it should be allowed to re-record but also impact
the order for things that get expired. I don't believe there is
any algorithm that could possibly infer what the user's intent
is and therefore make the right choice for everyone. I believe
many of your assumptions are incorrect and I believe that
imposing this would just be adding bloat to MythTV. I don't
know who you are and don't care. I do care that MythTV is the
best DVR possible and I am opposed to seeing it bogged down
with useless complexity.

>> If I've watched more than five minutes of something but haven't 
>> deleted it then I
>> either haven't finished watching it yet or I have finished and
>> may want to watch parts of it again. Of course, you can/should
>> uncheck auto-expire for things to keep so I think the unfinished
>> show is the more relevant case.
> Agreed there, if you REALLY don't want it auto deleted uncheck the box.  
> But then that's not what this discussion is all about.

Well, it is related in that there is a mechanism where the
user can clearly indicate her intentions. What concerns me is
the belief that if the user doesn't clearly indicate their
intentions then the system should use a formula to decide
what those intentions must be.
>> Now, you are suggesting 'forget' for something that was not
>> watched so that it will re-record but don't re-record things
>> that were marked as being watched. However, if I hadn't finished
>> a show and therefore hadn't deleted it, that would be marked as
>> "watched". If auto-expire deleted it, I'd want to be darn sure
>> that it DID re-record so I could watch the rest of it. And that
>> Discovery show on Borneo that sat there for 3 months, I'm never
>> going to watch it even if it does comes on again.
> Then either 1) Allow it to record any show. 2) Set your recorded 
> threshold high enough that that doesn't happen 3) mark the show as 
> unwatched or 4) uncheck the auto delete box for it.  The general idea of 
> the recorded flag was to make the OPs idea a little better (i.e. don't 
> rerecord stuff I've already seen but feel free to record things that get 
> auto deleted before I get around to them).  After that the thought 
> occurred to me that we might be able to leverage it to allow us to keep 
> unwatched recordings around as long as possible.

But I don't think you can make the determination of watched or
unwatched or what watched but undeleted means to each user. If
you could, it is unclear which should be kept longer.
>> Of course, I'd actually delete the show about Borneo but the point
>> is that there is no clear cut way for the system to determine if
>> it believes the user has finished watching something and there is
>> no clear cut correct behavior even if it could.
> Of course the question then becomes why did you record it in the first 
> place?

Because it was an episode in a science series that usually covers
more interesting subjects than botany in Borneo.

However, your response just seems pointlessly argumentative.
If you assume that people can only record what they actually
watch or have to watch everything they record or even should
delete unwatched things before they expire, then there is no
need for auto-expire and it's behavior. So, to answer your
question, I said that I'd recorded it so that I'd have an
example to use ;-).

> While it's true there's always the possibility that something could be 
> marked as watched when the user isn't finished with it.  It's simply NOT 
> as problematic as you're making it out to be.

In fact, it's not a problem at all. Just don't try to infer
why a user left something in the recorded list. The user knows,
the computer doesn't. If the user wants to keep something they
can uncheck auto-expire. If they're done with something and
want to delete it they can delete it. If the user does neither
of these things and the system has to delete something, it can
delete the oldest file.

> Then again, I don't see a 
> need for re-recording expired shows on a regular basis either.

Right, and I can see valid reasons either way which is why I
suggested that this should be an option.

>> If that sounds like a good idea,
>> No, not really ;-)
> You've not presented any compelling reason for why it's not, other than 
> the fact that you personally don't like it.

Bloat. More complexity for no tangible benefit but more user
confusion. You haven't presented any compelling reason that
this is necessary and haven't acknowledged that your assumptions
may be backwards.

>>> recording history for auto-expired programs if they haven't been
>>> watched" setting and then make the auto-expire code check that setting
>>> whenever it expires something.  Making a note on my TODO list about it
>>> anyway just in case. :)
>>  I could add an option to "remove
>> Either add a flag for "Allow re-recording shows that have been
>> auto-expired" or the inverse of forgetting by default and a flag
>> for "Do not re-record shows that have been auto-expired". Each
>> user can then decide for themselves based on their habits without
>> imposing the system's assumptions about how the user behaves.
> And yet one simple flag

The flag is simple, the logic is broken ;-).

> It not been a  a big enough issue for me to bother...

Agreed. It's a border case where the user could have made their
intentions known but they didn't. There is no burning issue
here that demands a solution.

--  bjm

More information about the mythtv-dev mailing list