Thursday, January 18, 2007

Don't hate the users.

So far, all of the problems I’ve had have been the fault of systems that a software distribution should take care of, not a user. For example, almost nobody should even have to know that UDEV exists, much less debug it because it misuses PAM. PAM, of course is another system that no user should know exists. Yet I had to figure that out, along with endless other Linux deep arcanities.

I’ve been blocked by the "issues" with systems before I could even begin to install and set up mythtv, mysql, and the various players and codecs. One there, I initially thought that getting the apps working was easy, but then I smashed into previously unseen low level bugs. When I worked around some of those, then I could start slogging through advanced settings such as dual screen, codec selection, audio sharing, a remote database, and that super exotic feature “Analog TV”.
But the truly worst part of all this is the absolutely abysmal usability of all these components. It does not matter how low-level a system is, there is no excuse for forcing someone to

1) Randomly try variations of ‘man -k whatever’ to try and find the docs for what was just installed
2) Search all mounted filesystems for something that looks like it MAY be the correct configuration file for a component
3) Hand edit it without documentation
4) Search all mounted filesystems for something that looks like it MAY be the executable for a service.
5) Search through the files and sub-dirs or /usr/var to find the results of the restart attempt
6) Re-edit the configuration file by trial and error because the service’s error messages contain no diagnostic information about WHATS WRONG with the configuration file.

These could and should be mitigated by a brief message that prints out after installation ( and gets mailed to admin ) saying where to start, or at least where the README is!

No comments: