[mythtv] Same old mind reading crud.
Michael T. Dean
mtdean at thirdcontact.com
Sat Apr 14 16:28:41 UTC 2007
On 04/14/2007 10:21 AM, Marco Nelissen wrote:
>> For example, if I were recording The Office from 8:30 to 9:00 and CSI
>> and Supernatural from 9:00 to 10:00 and I had a conflict because of a
>> 2-minute start early/end late on each, the /right/ way to fix the
>> conflict is to allow end late on The Office (2 minute end late) and
>> start CSI 2 minutes late (-2 minute start early). The wrong ways
>> (notice the plural) are to a) drop end late from The Office and drop
>> start early from CSI (I miss part of The Office, but don't mind missing
>> part of CSI), b) drop end late from The Office and drop start early from
>> Supernatural (I miss part of The Office /and/ Supernatural--the two I
>> care about), and c) keep end late from The Office and start late on
>> Supernatural (I miss a whole bunch of Supernatural).
>> Now please show me the code for an algorithm that knows this /and/ knows
>> my personal preferences for handling all other possible scheduling overlaps.
>> Could we make these changes automatic based on priority? Sure, if we
>> want to encode some meaning into priority that's /far/ more complex for
>> the user to understand than simply, "Tell Myth to start the one you care
>> least about late..." As a matter of fact, I spend a lot of time in
>> Myth's code (and figuring out how Myth works), and I /know/ I would be
>> confused by a priority-based approach (which, incidentally, would be
>> completely broken--after I spent so much time getting my priorities
>> straight--when some network decides to change the timeslot for a show).
> I don't see how how a priority-based approach (i.e. "I care more about
> THIS show than about THAT show") is confusing.
> In the example you gave, your priorities would be (1) The Office,
> (2) Supernatural, (3) CSI (you said you cared about about The Office
> and Supernatural). So what would would/should happen is that it would
> start recording The Office early and finish late. It would also start
> recording Supernatural 2 minutes early and end 2 minutes late on your
> second tuner. CSI, being the least important show, would start 2 minutes
> late and end 2 minutes late. If I'm not mistaken, this is exactly what
> you described as being "the /right/ way".
So, are you going to create the "How to schedule your recordings for
Myth" matrix and post it where people can print it off for use when
The right way is the way I decide to resolve this specific conflict.
With three shows, it's a "tractable" problem. When you start to include
other shows, it becomes a mess. So, When you realize that My Name is
Earl comes on before The Office and Grey's Anatomy comes on after The
Office and one of my local independent stations airs Scrubs reruns
before and during The Office (and Scrubs is actually more important to
me than The Office, but the Scrubs reruns aren't). And then there are
the shows in the 10:00pm timeslot...
7:00-7:30 - According to Jim (reruns)
7:30-8:00 - According to Jim (reruns)
8:00-8:30 - My Name is Earl
8:00-8:30 - Scrubs (reruns)
8:30-9:00 - The Office
8:30-9:00 - Scrubs (reruns)
9:00-10:00 - CSI
9:00-10:00 - Grey's Anatomy
9:00-10:00 - Supernatural
9:00-9:30 - 30 Rock
9:30-10:00 - Scrubs (new)
10:00-11:00 - Shark
10:00-11:00 - Secrets of the Dead]
10:00-10:30 - The King of Queens (reruns)
OK. It's getting more complex... I need to ensure that Scrubs has a
/very/ high priority. But, I need to ensure that the Scrubs reruns
don't prevent my recording The Office when they overlap, so I'll need
two differently-prioritize Scrubs recordings. Oh, but those Scrubs
reruns are shown on Wed night, too, and I'd rather get them than Bones,
which is followed by According to Jim (new episodes) that are important
to me and Criminal Minds where I don't mind missing a few minutes at the
beginning, which is followed by Lost, CSI: NY, and Medium. OK, so the
priority of my Scrubs reruns must be greater than the priority of Bones
and Criminal Minds and Criminal Minds must be higher than Bones but
Criminal Minds must be less than Lost and CSI: NY but what about
Medium? I don't care if I miss time in Criminal Minds or Medium, but...
Which means that my prioritization must be done while factoring in
schedule--which is bound to change very frequently throughout the
season. In truth, prioritization is /supposed/ to be independent of the
schedules. The, er, recording schedules are supposed to be based on the
schedules. So, perhaps we could have a way to specify on a
per-scheduled-recording rule basis that this show--which is followed by
stuff of which I don't care if I miss a few minutes--should record for
an extra 2 minutes... But, what if the schedules change? Well, I'll
notice it when I do my fortnightly schedule review and see a conflict.
My point is that it's impossible for Myth to always do what you want it
to do unless you tell it what you want it to do. If you try to take the
"proactive" approach--I'll define what should be done in every possible
situation--you have to provide too much information (and it becomes very
complex for the user). (When I'm asked by a survey to prioiritize the
"six most important ..." I generally put the first two in order and then
just put numbers in the others. I personally don't believe humans can
do absolute prioritization well at all--however, they do very well at
relative prioiritization. I know /I/ couldn't provide an absolute
priority for each of my 77 recording rules.) If, instead, you provide a
"look up to 2 weeks out in your schedule and react to the conflicts"
approach, the user simply has to specify what to do in the few
situations where there's an issue. And, with 52 weeks in a year, that's
26 times a user would need to take 2 minutes to verify his schedule
throughout the year (although I typically do it at least once a week).
That's not so difficult.
The best way to see the issues is to write the code to do this and post
it so others can critique it. (Everyone thinks they all want the same
things, but they actually want different things.) I will promise that I
won't write this code (even if you change my mind as to the feasibility
of some approach--because I don't need it), and I'm relatively certain I
could name a few Myth devs who won't write it, so until someone else
writes the code, it's probably not worth the discussion.
More information about the mythtv-dev