[mythtv] MythTV Usability Report
f-myth-users at media.mit.edu
f-myth-users at media.mit.edu
Mon Jan 9 04:56:45 UTC 2006
If MythTV had fewer usability issues, it would probably decrease mail
volume on the -users list at least, and also lead to a lot less wasted
time by newbies trying to set it up and/or use it, and less time by
more-experienced users trying to help them.
But improving MythTV usability is currently a giant Catch-22. Why?
(a) The reaction to usability reports is more hostile than not, when
viewed socially. [For an example, see the list of examples below;
each of them is keyed to the items here by letter.]
(b) The reaction to usability reports is more hostile than not, when
viewed technically. [Again, see examples below, etc etc.]
(c) Usability analysis and writing code are typically different skill
sets, but people who complain about usability in MythTV are often
told, "Just code it yourself."
(d) New users are most likely to notice usability problems, but are
least likely to be able to write -any- code, no matter how simple,
because they're still trying to figure out the product---not
diving into a large codebase.
(e) Some developers assume that they're the best-qualified to evaluate
usability, including for brand-new users, but they're the ones
most familiar with the interface and least likely to see where
(f) New users are typically the ones most likely to find things
confusing, but also most likely to be unable to clearly figure out
where the actual problem is; in many cases they don't even know
the right vocabulary yet. [NOTE! This also means that they are
least likely to be able to search list archives for solutions,
because they don't even know what terms to use.]
(g) New users are most likely to use a stable version (e.g., 18.1),
but because it's been so long since a stable version has been
released, are typically ignored because SVN has moved on so much.
(h) Since usability problems are most likely to be noticed and
reported by new users, they're most likely to be in the form of a
feature request, not a patch---after all new users by definition
aren't familiar with the code base (if they ever are; most new
users aren't coders, judging by the list traffic).
(i) Unfortunately, there isn't any way to submit feature requests
unless they -are- accompanied by code. Some developers will
nonetheless accept them (e.g., see my recent conversation with
Chris Petersen about Mythweb), whereas others will simply close
any such Trac ticket with, "feature request without patch attached."
(j) If a long list of usability issues is discussed in one message,
one is told, "Nobody wants to read a long message; break it up."
(k) If the list is broken up into one topic per message, one is told,
"Stop opening so many new threads on the same idea."
(l) If Trac is used to separate each feature request into a trackable
item, they'll all be closed in the guise of, "feature request
without patch attached."
(m) Because of all of the above, people who've offered to help out
with usability issues are typically turned away.
(n) Because those most likely to view usability as a priority are
discouraged from speaking out, and can't make contributions in
trackable fashion, MythTV usability doesn't improve very much.
How can we fix this?
(0) Stop jumping on people who complain about usability.
(1) No, -really-. Stop jumping on people who complain about usability.
Just because they're new is no reason to engage in a hazing ritual.
Just because they're interested in consistency of interface, or
in up-to-date, easy-to-find documentation all in a single place,
or not already hip-deep in code, is no reason to look down on them.
(2) I'm very glad that Daniel Kristjansson has said he's willing to
host usability reports. I will contribute to that project, if I
think that the resulting effort I spend won't simply be thrown
away, ignored, or jeered at. Given my past experience with the
sociology of this project, I will wait for someone -else- to make
the first move, however, and see whether they're time is wasted.
(3) It would be really, really nice if there was a documented way to
submit feature requests. There's been recent list traffic about
this problem (see braedric-mythuser at yahoo.com's thread starter,
over on the -user list just this evening) in which it's
acknowledged that there's currently no way to do this. I'm not
saying "developers must work on any feature request submitted";
who would? I -am- saying that it would be nice for a developer
with time on his or her hands to be able to say, "Is there
anything people are clamoring for that I might be able to knock
off in an afternoon?" I'd suggest some sort of segregated Trac
in which it was stated very prominently, "things here are not
milestones and might never be fixed or closed", but at least it
would let people see if others had suggested the idea, chime in
with ways to do it, etc. Many projects work this way, closing
such features with either "implemented", "can't figure out any
way this could work", or just leaving the request open forever.
MythTV is the -only- project I've seen where one developer will
say, "this doesn't have code with it, so I'm closing it so no
other developers will even consider spending any time on it."
No project I've ever worked on has handled feature requests in
this way, except this one.
(4) Make self-documentation a priority. Note David Abrahams's message
just this evening (over on the -users list) complaining about
inconsistency and opaqueness of keybindings; this is exactly what
I was complaining about in early November---in fact, that very
inconsistency over whether keystrokes were totally ignored or not
cost me a week of work, but I was shouted down (and -at-) for
suggesting that it could be improved. I made the suggestion then
(and I'll make it again now, and to Daniel's website once he sets
it up) that there should be a single key, also bindable to a
remote key, which pops up a list of -every- valid action and
keystroke that can be taken in the current screen. (Yes, the
indirection through LIRC etc is a problem, but I had some ideas
about that in my earlier posts, and I'd be more than happy to lay
out a more-complete design if I thought it wouldn't be a waste of
my time. And it'd be pretty easy for the keyboard case.) Note
that this even screws experienced users! Witness my recent
conversation with Chris Pinkham on Friday (continuing an old
thread) on how to delete things from the job queue, in which
nobody could figure out if the mystery item was even present or
not. (Turns out not; it's in SVN but not 18.1.) So how much of
several people's time was wasted? Compared to the case if I could
have hit "?" and said, "Ah, there's no menu item for deletion here
at all, hence nothing to bind to."
Examples of some of the above points:
(a) The reaction to the most recent report by the original poster, and
to the ones I tried to submit back in early November. The vast
majority of reactions were negative, just by counting positive vs
negative numbers of messages. And whatever you think of -my- tone
when I was submitting such reports, you have to admit that Jono
Bacon's tone (the original poster in -this- thread) was positive
and enthusiastic---but he still got slammed repeatedly. So it's
not (just) the tone, and it's not (just) me.
(b) The reaction to my report that at least one installer would create
a ringbuffer partition too small to hold the ringbuffer, causing
the machine to explode and die (in a hard-to-fix way) if it was
left in LiveTV too long. I had to argue, repeatedly, that we not
punish the user for innocently leaving the UI in a common,
documented, expected mode for too long, against others who claimed
that "nobody should do that anyway" and "that's not what MythTv is
for" (then why's it a major piece of functionality?) and so forth.
All this, for something a couple lines of code could have fixed.
(It's now moot in SVN, since LiveTV works differently, but the
pattern of behavior is consistent across several other issues.)
(c) This sort of macho posturing is all over the place in free and
open-source development, but it's worse in some places than
(e) There's lots of literature in the usability field about this.
It's pretty much taken for granted as dogmatic truth there.
For an example here, note all the resistance when I suggested
that mythtv-setup, by default but overrideable by experts,
automatically assign sequential and unique device numbers,
instead of letting new users shoot themselves in the foot.
(g) What new user is going to run SVN? For one thing, it takes a
large committment to do so having not even tried the product at
all, and for another, it requires monitoring both -dev and -commit
(and maybe -users), all incredibly high-volume, before even
starting to compile anything, much less use it.
More information about the mythtv-dev