[mythtv-users] Mythtv .19 live watching
Michael T. Dean
mtdean at thirdcontact.com
Thu Jul 13 19:40:26 UTC 2006
On 07/13/06 14:25, chris at cpr.homelinux.net wrote:
>On Thu, Jul 13, 2006 at 03:49:57AM -0400, Michael T. Dean wrote:
>
>
>>>AFAIAC, the live TV buffer is not a "recording" until the user
>>>manually chooses to make it one.
>>> If you run out of
>>>storage before the user selects "record" then that's *the user's
>>>problem* for not selecting "record" earlier.
>>>
>>>
>>I thought we were designing it to meet user expectations... Sounds like
>>the user who pushed TOGGLERECORD too late expected it would still work.
>>
>It's an unreasonable expectation.
>
...
To you. Recording without deleting when short on space is an
unreasonable expectation to me.
>>The fact that it's never a problem if:
>> a) You don't leave LiveTV running on a channel with a program that's
>>extremely long.
>> b) You have enough space available for the longest program in your
>>listings.
>>
>>
>Auto-expire would never happen if people always had enough disk
>space left. The point is that it happens and it should be dealt
>with in a rational way, not a lazy way. As I mentioned before,
>there could have been enough disk space when you started the
>recording but other programs have created large files since then.
>
Which is why Myth allows the user to specify the amount of space
reserved for other programs...
Extra Disk Space (in Gigabytes)
Extra disk space you want on the recording file system beyond what
MythTV requires. This is useful if you use the recording file system for
data other than MythTV recordings.
>> c) You explicitly tell Myth to insert a break (with a channel change
>>during a commercial or by exiting and re-entering LiveTV or ...)
>>or
>> d) You never use LiveTV ;)
>>
>>
>My choice (currently) is "d", but that has less to do with the
>current bad design and more to do with the fact that I prefer to
>time-shift the shows I know I want and don't have a lot of interest
>in pausing live TV. For me the issue may be a latent defect rather
>than an active one, but it still represents a risk to my recordings.
>
>
It's not a risk to my recordings. I have enough space to handle any
LiveTV recording (and my system doesn't record LiveTV when no one is
watching it, anyway).
>>means (to me) that writing a lot of code for this fringe case is not
>>worthwhile. Thus, I won't write any code for it. :) If someone else
>>wants to write the code, please feel free to do so.
>>
>>
>One of the things about design decisions is that when you do things
>the right way then later features become easier and easier to add,
>whereas when you do things the lazy way you paint yourself into a
>corner and things get harder and harder until eventually you have
>to refactor the code because progress becomes impossible. This
>isn't about working around the "fringe case". It's about the fact
>that the design decision here is just plain wrong because it
>creates so many fringes in the first place. Getting the design
>right means you spend less time worrying about fringe cases
>(because there are fewer of them) and have a more sensible platform
>for later work.
>
>As far as writing code goes - if I had gobs of spare time I would
>fork the project completely because the recording buffer is not the
>only place where design has taken a back seat to expediency. The
>GUI is still an abomination.
>
Interesting how the guy preaching about how lazy the MythTV developers
are doesn't have time to fix any problems. I guess you're just saying
your time is more valuable than Isaac's, et. al, and they should get
right on fixing this problem for you.
Perhaps you should look up the guy who re-implemented MythTV in just a
few lines of Perl code. Even if he completely missed the boat (and
created an abomination as bad as MythTV), there's a lot less code to fix.
> The mythtv-setup program shouldn't
>even exist, or should at least be text-based so that the back-end
>can be installed on a machine with no X11 and no monitor.
>
>
Not going to make a comment about the importance of 150MiB (installed
size of X and less than 10 minutes of a recording at 2000kbps or
5min at 4000kbps or 2.5min at 6000kbps) to a backend. Not going to comment on
the backend's not needing a monitor (or even needing to run an X
server). Not going to comment on the fact that Qt3 makes installation
of X mandatory, anyway, and that Myth requires Qt3.
>You should read Eric Raymond's commentary on the CUPS system
>entitled "The Luxury of Ignorance: An Open-Source Horror Story"
><http://www.catb.org/~esr/writings/cups-horror.html>. Most of his
>observations are so spot-on he could have been writing about
>MythTV. Robert Cringely has made similar comments about the
>success of Apple as well.
>
>
I have. And, while I generally respect ESR's opinions, I feel that
essay is just plain wrong. He talks about the usability of CUPS based
on the GUI configuration tools provided by Fedora Core (not by CUPS). I
might as well say that Linux is poorly designed because I used "Bob's
Bad Linux" and found it difficult to configure it. (Every distro is so
different that they might as well be considered different operating
systems. I cannot use any of the distros effectively, but I know a bit
about GNU/Linux--I have never been unable to configure my GNU/Linux
systems to do something I wanted them to do and they do a lot for me.)
Now, if he properly attributed the blame to Red Hat, I might take it
more seriously, but even then, IMHO, the FC configuration tools (or any
other distro-specific config/GUI tools) are not a good indicator of the
way open-source design generally works (for various reasons I won't go
into here), and, regardless, he's confusing responsibilities (but that's
a whole different story).
>>Wouldn't breaking up a LiveTV recording usurp the user's authority? If
>>the user decides to save the show (hits TOGGLERECORD) after the break,
>>then he/she is only saving the part after the break. So, if there's
>>code to move all parts from LiveTV (assuming previous parts haven't
>>autoexpired, already) then the user ends up with more than one file for
>>the one recording.
>>
>>
>The decisions about what to do when the user chooses to record a
>show belong in the "what should I do when the user selects record?"
>category, not the "how much valuable data should I delete on spec
>just in case the user selects record later on?" category.
>
And that's where the distinction comes in. MythTV currently assumes
that the currently-recording LiveTV show (which, by all reasonable
assumptions, someone is watching) is more valuable than some old
previously recorded show. If you haven't yet watched the old
recording--which you (the user) explicitly marked as eligible to
autoexpire (thereby giving Myth permission to delete it)--who's to say
you will.
If you don't want the show to autoexpire, don't mark it eligible to
autoexpire. Once you watch it, then mark it to allow autoexpire.
>>In my mind, the user's entering LiveTV is explicitly giving Myth
>>permission to record the current program on the current channel.
>>
>>
>And I respectfully disagree. In fact, didn't 0.18 cancel live TV
>if a scheduled recording was about to start (unless you explicitly
>told it to continue)? There was an assumption that live TV was a
>lower priority than the scheduled recordings, and that priority has
>now apparently been inverted.
>
>
No. There hasn't been a change in assumptions. The assumption is that
what's on LiveTV now (a show that someone is watching) is more important
than some old /previously-recorded/ program that the user may or may not
have gotten around to watching. IMHO, that's a perfectly valid assumption.
>Maybe the question of whether live TV is a higher or lower priority
>than the scheduled recordings should be settled by explicitly
>assigning it a recording priority and then comparing it to the
>scheduled events. Furthermore, if the auto-expire was done on the
>basis of the recording priority instead of just age
>
Hmmm. You mean like creating a setting:
Auto Expire Method
- Oldest Show First
- Lowest Priority First
- Weighted Time/Priority Combination
Method used to determine which recorded shows to delete first. LiveTV
recordings will always expire before normal recordings.
> then live TV
>could delete last night's "Simpsons" (which will be on five more
>times in the next three days) while leaving last week's "House"
>even though both are able to be expired.
>
>
If only that setting existed in frontend settings in the General section
on the page "General (Basic)"...
>When you think about it, a show's priority is a good indicator of
>whether or not it should be allowed to auto-expire, and can also be used
>as a hint for the "reschedule higher priorities" option. Both of those
>options could be eliminated entirely if the priorities were tiered. For
>example:
> > 100 don't expire; don't reschedule for lower priority
> 50 to 99 don't expire
> 1 to 49 expire last; mark for re-record
> 0 live TV buffer
> -1 to -49 expire when required; mark for re-record
> -50 to -99 expire first; can't bump higher priority; don't re-record
> < -100 don't record (immediately moved to "previously viewed")
>This would mean retaining the priority even after the show had been
>recorded. The toggle for whether or not to flag a show for
>auto-expire would simply change the stored priority value. Expiry
>would be done by priority value, and dates would only be used when
>two or more shows with the same priority made it to the bottom of the
>priority list.
>
>
Encoding additional meaning into priority? Yeah. That's intuitive.
From ESR's essay that you quoted, "Rule 1 of writing software for
nontechnical users is this: if they have to read documentation to use it
you designed it wrong."
Anyway, you don't have to convince me. I /will not/ write any code for
this case. Perhaps your arguments were enough to convince one of the
devs or another user to write some code.
Mike
More information about the mythtv-users
mailing list