A cautionary tale for anyone producing end-user software. Also an amusing and informative read.
http://www.catb.org/~esr/writings/cups-horror.html
-- GT
On Saturday 03 April 2004 15:05, Graham Trott wrote:
A cautionary tale for anyone producing end-user software. Also an amusing and informative read.
http://www.catb.org/~esr/writings/cups-horror.html
-- GT
I have a great personal dislike of articles like this. Instead of bleating, the writer should have had a constructive dialogue with the authors of CUPS. Try doing that with Windows!
Ian
I have to dissagree. I hate writing GUIs, I hate usability and HCI experts telling me oh doing it this way or that way. I often think that a usability expert is someone that couldn't use a fecking toothpick. But the real reason for all this hate is ... that they are fecking right. As the title of a major usability text professes, the inmates (ie geeks and engineers like us) are running the asylum. Come on, many on this list are programmers and how many of you really enjoy thinking about how your user is going to interact with your program vs how parts of your program is going to talk that cool new hardware or use that new cunning technique you've thought up to crack some other technical problem. The truth is that most programmers (except the very strange ones that derive pleasure out of QA) do not like GUIs and this is most obvious in the programmers OS of choice.
Charles
On Saturday 03 April 2004 16:07, IanBell wrote:
On Saturday 03 April 2004 15:05, Graham Trott wrote:
A cautionary tale for anyone producing end-user software. Also an amusing and informative read.
http://www.catb.org/~esr/writings/cups-horror.html
-- GT
I have a great personal dislike of articles like this. Instead of bleating, the writer should have had a constructive dialogue with the authors of CUPS. Try doing that with Windows!
Ian
main@lists.alug.org.uk http://www.alug.org.uk/ http://lists.alug.org.uk/mailman/listinfo/main Unsubscribe? See message headers or the web site above!
On Saturday 03 April 2004 16:46, Charles Garcia-Tobin wrote:
major snippage
The truth is that most programmers (except the very strange ones that derive pleasure out of QA) do not like GUIs and this is most obvious in the programmers OS of choice.
Charles
I am not so sure. There are an awfull lot of programmers out there writing GUI applications and using GUI applications to develop them so I think your statement that most programmers do not like GUIs is not true. It may be true that most programmers do not like developing GUIs but I know of no evidence to support that. I do know that I find developing the GUI the hardest part of developing a application. I also know I much prefer using a GUI than the command line.
I see no connection either with the programmers OS of choice.
Ian
On 2004.04.03 16:07, IanBell wrote:
I have a great personal dislike of articles like this. Instead of bleating, the writer should have had a constructive dialogue with the authors of CUPS. Try doing that with Windows!
Of course it is easier to criticise than to do.
There is another issue though which is that his comments don't just apply to CUPS but to much other free and open source software and maybe he is hoping that, by writing the article, more than one of these projects will take his comments on board.
I do seriously wonder though whether the people with the techical knowlege to write a piece of software can ever put themselves in the shoes of someone who knows nothing about the task that piece of software is intended to do.
Imagine you are the writers of the Berkeley MPEG encoder. Can you ever put yourself in the shoes of someone who doesn't know anything about how an MPEG encoder works and just wants to use one without having to choose any but the most basic settings? What about if you've written GIMP - can you imagine someone who is clueless about what operations are posible on digital images trying to use it?
I suspect if this level of usability is to be achieved someone technical needs to work with someone completely non-technical so the non-technical person can keep pointing out what mere mortals are unlikely to know or care about.
The final issue that needs to be considered is one of motivation. When a new free software project is started what is the motivation behind those concerned? Is it simply a case of being interested in the inner workings of some technique or technology and the desire to explore that? Is it the case of necessity being the mother of invention, i.e. someone writes a program to do something for himself and is simply kind enough to lets other have the use of it? Is it the case of wanting to be recognised as a true craftsmen by doing something really well? Only the last of these can compete with the motivation of increased sales that makes those who write software in the course of a business pay attention to making the software truly user friendly.
Finally we must be careful not to throw the baby out with the bath water. Many pieces of commercial software sacrifice flexibility for ease of operation. How do we make software simple and easy to use in it's default configuration but also flexible for those who know how to make use of the flexibility?
Steve.
On Sunday 04 April 2004 00:34, Steve Fosdick wrote:
On 2004.04.03 16:07, IanBell wrote:
I have a great personal dislike of articles like this. Instead of bleating, the writer should have had a constructive dialogue with the authors of CUPS. Try doing that with Windows!
Of course it is easier to criticise than to do.
There is another issue though which is that his comments don't just apply to CUPS but to much other free and open source software and maybe he is hoping that, by writing the article, more than one of these projects will take his comments on board.
I do seriously wonder though whether the people with the techical knowlege to write a piece of software can ever put themselves in the shoes of someone who knows nothing about the task that piece of software is intended to do.
His comments in general apply to any piece of software. At least with open source you can communicate directly with the author.
Ian
On Sunday 04 April 2004 00:34, Steve Fosdick wrote:
On 2004.04.03 16:07, IanBell wrote:
I have a great personal dislike of articles like this. Instead of bleating, the writer should have had a constructive dialogue with the authors of CUPS. Try doing that with Windows!
Of course it is easier to criticise than to do.
There is another issue though which is that his comments don't just apply to CUPS but to much other free and open source software and maybe he is hoping that, by writing the article, more than one of these projects will take his comments on board.
I do seriously wonder though whether the people with the techical knowlege to write a piece of software can ever put themselves in the shoes of someone who knows nothing about the task that piece of software is intended to do.
In general they can't. That's why software should always be put in the hands of naive users - and the lessons learned - before releasing it on an unsuspecting public. It's depressing when an employer tells me he expects the programmer to do all his own debugging and user testing.
But on the wider comment raised in the article, some time in the early '90s I saw a piece comparing operating systems with office furniture. Take a teak desk, it said. Scratch the surface of a Windows desk and you find chipboard underneath. A Macintosh desk on the other hand is teak all the way to the middle. Under the Linux GUI now is - well certainly not chipboard, but defintiely not teak either. Microsoft have gone some way to catch up with Apple, but Linux GUIs are much younger and have further to go. The Open-Source Horror Story deserves an airing but only as a lesson that we shouldn't be complacent about our claimed superiority; there are plenty who won't see it that way. I like the K desktop; I want to use it and I want it to be at least as good as Windows on all counts. It's already better on many but there are some glaring holes, configuration being an area particularly deserving of a lot more attention.
-- GT
On 2004-04-03 16:07:53 +0100 IanBell ian@redtommo.com wrote:
On Saturday 03 April 2004 15:05, Graham Trott wrote:
I have a great personal dislike of articles like this. Instead of bleating, the writer should have had a constructive dialogue with the authors of CUPS.
You mean to say that ESR prefers grandstanding to constructive dialogue? Well, that's almost as surprising as Norfolk having hilly bits. ;-)
I agree totally. If you find a broken UI, tell the authors. If you know how you think it should be fixed, try to help them do it.
On Sat, Apr 03, 2004 at 03:05:23PM +0100, Graham Trott wrote:
A cautionary tale for anyone producing end-user software. Also an amusing and informative read.
The funny thing is that setting up cups has to be the simplest operation compared to all of the other alternatives. It is certainly one of the best applications I have seen with numerous different types of front end so that you can configure it by hand, via a web interface or via a GUI app similar to how you would configure a printer on Windows (and with a bit of tweaking you set it up on one computer and all the computers on the local network will detect the printers available and automagically set them up for you).
Personally I suspect that esr was taking the wrong approach to this and tackling it with an old unix philosophy, also he was a principle author of fetchmail which isn't easy to configure... IIRC cups is also the default print spooler in Mac OS X (well it was in at least one version I have used) which should say something about it and its capabilites also.
Oh and I personally don't care much for esr since he has some quite nasty extremist racist and homophobic opinions, personally the less we hear from him the better imho.
Adam
On 2004.04.03 16:28, adam@thebowery.co.uk wrote:
Oh and I personally don't care much for esr since he has some quite nasty extremist racist and homophobic opinions, personally the less we hear from him the better imho.
I had not heard this but, much as I diagree with racism and homophobia, he is entitled to his views and, even if you think he is misguided to hold such views, it doesn't mean everything he says is similarly misguided.
Steve.
On Sun, Apr 04, 2004 at 12:34:40AM +0100, Steve Fosdick wrote:
On 2004.04.03 16:28, adam@thebowery.co.uk wrote:
Oh and I personally don't care much for esr since he has some quite nasty extremist racist and homophobic opinions, personally the less we hear from him the better imho.
I had not heard this but, much as I diagree with racism and homophobia, he is entitled to his views and, even if you think he is misguided to hold such views, it doesn't mean everything he says is similarly misguided.
You don't really have to hear it, just read his blog (although it is quite funny when he writes something obviously crackpotted and discriminatory/nasty about a group of people then attempts to say that he meant something else), I forgot to mention that he has a massive (misplaced) ego too. Gwwarr, just read his blog, I don't want to talk about him anymore, he makes me feel angry :)
Anyhow, but my personal opinion of the guy is that almost everything he has been saying in recent years is fairly misguided and I don't care much for his writing anymore. Thats my opinion and I am sticking to it :)
Adam
On 2004-04-03 16:28:12 +0100 adam@thebowery.co.uk wrote:
The funny thing is that setting up cups has to be the simplest operation compared to all of the other alternatives.
Ever tried PDQ or the XPDQ Wizard? As long as you have the correct plug-ins, it's pretty easy. Doesn't do the autodetect bits, though.
On 03-Apr-04 Graham Trott wrote:
A cautionary tale for anyone producing end-user software. Also an amusing and informative read.
The follow-ups on this thread have mostly headed off into irrelevant territory. For instance, whatever I may think about ESR's views on, for example, the right to own and use a gun, if he writes a spendid piece of software (and I'm not offering any views on whether he has or not) then I will be very happy to enjoy using it and give him the credit for writing it. Likewise if he writes a good and well-aimed article.
To come back to the main point of the above URL. This article is good, and very accurately aimed.
First of all, it is the best documentation on CUPS I have seen. In fact, it goes a bit further towards hinting about how you might just possibly get CUPS to work, having once failed, than the official CUPS documentation does, and a lot further than any help the GUI offers. Not that I think it would fully guide me through solving the problems I encountered. Also, it states up-front the one thing most people need to know about CUPS: "You may well not get this to work".
A summary of my own experience. I have two desktop boxes D1 and D2 at home, a laptop L, and an ethernet LAN that all three happily inter-communicate over. L is the machine I mostly sit at, and it also holds the files for much of the work I do since I can then take all this elsewhere if needed.
L is a reincarnation of a previous L (L0) which suffered major brain damage from ECT (in the course of one of those on-off-on-off events in the mains supply which our Anglian electricity so often serves up in the really rural areas; I now have L double-buffered via two Belkin surge suppressors; A and B are on a UPS anyway).
L0 had RedHat 7.1 on it, A has SuSE 5.1, and B has SuSE 7.2: all good sound stuff from some years back and (here is the point) all printing via good old LPD/LPR. Configuring this was no big deal once you sussed out a couple of things, the main one being that you need to edit /etc/printcap in a fairly straightforward way for which the "commented" examples in the file provide good prototypes. The 'man' page for printcap tells you all you need to know.
The physical printer is a PostScript laser on B's parallel port, and duly so specified in B:/etc/printcap, as "lp". On A (and on L0 previously) there is a corresponding "remote printer" entry in /etc/printcap on each machine: very simple to set up and, as ESR hints, if you need to change anything, running "kill -HUP lpd" causes lpd to re-read the printcap file. Also, since the printer itself does PostScript, no need to interpose a filter to convert into other printer languages: a lot of Linux software generates PS by default and if you need to print say a text file then utilities like "enscript" will generate it for you and (by default) send the output to "lpr". So it's a "raw printer". From any one of the three machines, "lpr <PS file>" duly and promptly produced hard copy as intended.
When L0 went gaga from the electricity accident (now just usable as an "archive" machine in text-only mode with a substitute motherboard salvaged from a different model), I bought L.
I also adventurously purchased RedHat 9 thinking that upgrading would be a good idea while I was at it. Installation seemed to work OK, and I blandly accepted the default installation of CUPS. Everything fine until it came to the stage of "setting up the printer". I think I accurately selected the GUI options for the printer, essentially remote networked raw printer queue using UNIX LPR/LPD. Cometh "Print test page". Outcome "header page rejected". Tried "lpr <PS file>" from L: nothing. The job simply sits at L and never gets seen by B.
The only way I can print from L is as follows:
On A (or B), NFS-mount L:/home/ted on say /mnt. In an xterm logged in to A (or B), cd /mnt/whatever. Then "lpr <PS file>". This works.
Literally days of work spent groping through the CUPS documentation on L (both what is available in the CUPS GUI and in the 'man' pages and studying the maze of config files in L:/etc/cups) got me nowhere except confused, annoyed and frustrated. I still cannot use CUPS and have given up hope on it. I suspect that the nub of the problem is that neither A not B is running CUPS -- simply the old-style LPR/LPD system -- and the protocol that CUPS uses does not talk properly to this (or I have failed to find out how to get it to do so). Quite possibly, despite my impression at the time of printer setup, I failed in some way to accurately select the GUI options for "remote networked raw printer queue using UNIX LPR/LPD."
But neither the GUI, nor its documentation, nor the man pages, nor the study of CUPS config files, got it right at the time nor sorted it out subsequently.
At one stage I thought: since I was offered the option to install CUPS and could have chosen not to, let's try uninstalling it and dropping back to old-style LPR/LPD instead (which RH9 says you can install instead). Tried that. Failed. It seems that once CUPS is in there you can't eradicate it, and you can't get LPR/LPD to work.
Eric Raymond's blast against CUPS struck me as totally accurate; it mirrored faithfully so many of the experiences I had suffered.
He uses this experience to justify a polemic against the way that Linux developers seem to be going. I don't think I agree with the extent to which he seesm to generalise the problems exemplified by CUPS to the whole of Linux software development. But in my view he is certainly spot-on about CUPS and, to the extent that similar problems arise in setting up other features of a Linux system, I would completely go along with him to that extent.
His main point, that Linux developers -- and especially those aspiring to provide a "mountain guide" GUI for ascents which may have perilous moments -- MUST pay attention to those tricky passages where some, experienced climbers as well as "tourists", may lose their hold or deviate onto a false route, is well made and perfectly sound, and is a valid warning. For expert guides to turn their back on their charges at critical moments, and allow them to venture unguided into risk from which they cannot recover unaided (and then not provide rescue), is not only unacceptable in terms of developer responsibility but will also quite deservedly create a reputation that Linux is a snakepit which even the moderately experienced computer user should not climb into.
The whole point about CUPS is that, acronymically, it is supposed to be a "Common Unix Printing System", capable of crossing the frontiers between different ways of doing the job and establishing effective security guards at the frontiers (and this means BOTH turning back undesirable intruders AND allowing in legitimate entrants without undue hassle). CUPS may or may not be good at the first (I can't tell), but in my experience it fails at the latter; I'd sooner use a printing system devised by Beverley Hughes.
Best wishes to all, Ted.
-------------------------------------------------------------------- E-Mail: (Ted Harding) Ted.Harding@nessie.mcc.ac.uk Fax-to-email: +44 (0)870 167 1972 Date: 04-Apr-04 Time: 14:40:06 ------------------------------ XFMail ------------------------------
On 04-Apr-2004 Ted Harding wrote:
On 03-Apr-04 Graham Trott wrote:
A cautionary tale for anyone producing end-user software. Also an amusing and informative read.
To come back to the main point of the above URL. This article is good, and very accurately aimed.
I completely agree with Ted Harding and the writer's point of view.
Linux has a very long way to go before it can be used by the masses. A friend of mine, not knowledgeable about computers, brought his computer to me and I installed Mandrake 9.1 on it for him. After he got it back home we discovered that the USB ports were not working. Mandrake finds the root hub but will not detect any attached devices. Until we can get together again, he lives some 50 miles away, he has no way of knowing what might be wrong or how to fix it.
I've been using Linux for some years now and I still have trouble with it sometimes and, yes, it can become very very very frustrating.
Barry Samuels http://www.beenthere-donethat.org.uk The Unofficial Guide to Great Britain
Linux has a very long way to go before it can be used by the masses. A friend of mine, not knowledgeable about computers, brought his computer to me and I installed Mandrake 9.1 on it for him. After he got it back home we discovered that the USB ports were not working. Mandrake finds the root hub but will not detect any attached devices. Until we can get together again, he lives some 50 miles away, he has no way of knowing what might be wrong or how to fix it.
USB never worked for me on 9.1 either. This is probably not the answer that you want but I do suggest that you install 9.2 instead - there are many improvements, USB being one of them.
For example my digital camera and a usb memory stick just show up as icons on the desktop a short time after being inserted.
I think I may have had to remove and reinsert them the first time they were used to sort-of 'kick start' the auto recognition and configuration. No idea why :-)
HTH Syd
On Sun, Apr 04, 2004 at 02:40:06PM +0100, Ted Harding wrote:
To come back to the main point of the above URL. This article is good, and very accurately aimed.
My point was that I thought it was a misguided article because cups is one of the easiest (and well documented) bits of software I have ever used. I have used cups to configure printing on a network of 10 Linux (and a couple of Macs) machines that I have never even seen because I did it remotely and it took me about 2 or 3 hours with one non-techy user on the phone to make sure the printer was turned on and had paper in it. :)
Just because I dislike ESR for other reasons doesn't actually have much bearing on that article for me (and I never mentioned anything about his attitude on guns, the reasons I dislike him are because of his attitude towards groups of people especially (and not limited to) women, black people and gay people and that quite often he claims to speak for all of the linux community (he most certainly doesn't represent me)) I just plain disagree with what he wrote about cups.
that you need to edit /etc/printcap in a fairly straightforward way for which the "commented" examples in the file provide good prototypes. The 'man' page for printcap tells you all you need
I originally moved to using cups because of trouble attempting to use the old /etc/printcap system (mainly because having to tell it which filters to use with non-postscript printers used to give me headaches) :)
Eric Raymond's blast against CUPS struck me as totally accurate; it mirrored faithfully so many of the experiences I had suffered.
It struck me as a wholly inaccurate article, I could not imagine problems with using cups now (although some of the early releases (so back around 2000, were very very ropey I have to admit) it just goes to show how subjective this computing stuff is and the experiences that people have. For example on the same network as I mentioned above it took 3 days of on-site work for the highly skilled (they had about 10 years experience between them in many technologies and did know what they were talking about) Windows people to get their printer working for their 10 machines and people say that using Windows is easier... They also ended up printing to my cups printer system after I had to install Samba for them so they could help their users :)
I seem to find that some jobs are hard to do in Windows also, so again quite often people seem to use the word "difficult" when they can mean "different". I know some things can be harder and non-intuitive in Linux but it works both directions, lots of tasks can be difficult if not possible to achieve in windows, when I first got my DVD burner I had problems getting it working in Linux so tried to get it working in Windows and I never succeceded! If people only wanted everything to be simple and easy they would all use Macs? seeing how that the majority of people use Windows (and most of them can't do things like simple tasks) would suggest that it is "computers" that need to become easier rather than Linux (or Mac or Windows).
I couldn't imagine anyone in my family (apart from perhaps my technically minded brothers) managing to get a printer or driver installed in any OS. I still shudder when I recall going round my freinds house who was playing quake in software mode at 320x240 resolution (when they had a very fast gfx accelerator card) because they hadn't actually installed any drivers for their graphics card (as far as they knew the computer was displaying pictures so it was working and making their gaming experience much better) and on the same day helping them configure dialup networking so they could connect to the internet.
I can think of many other examples of where people have had problems with their computers and many instances where working in a corporate environment that non-technical users have preferred to use a Linux desktop over a Windows desktop because the Linux box is more stable and does what they expect despite them not being of a technical background.
Adam
Graham Trott gt@pobox.com writes:
A cautionary tale for anyone producing end-user software. Also an amusing and informative read.
I'm not a great fan of ESR's but I agree with him on this one; CUPS is something I found particularly painful to set up a while ago, and have avoided touching ever since. I kind of expect printers to cause pain, though...
On Sun, Apr 04, 2004 at 05:51:15PM +0100, Richard Kettlewell wrote:
avoided touching ever since. I kind of expect printers to cause pain, though...
I must say that is a very neat way of summing the things up :) I usually find that by the time you have all the features of your printer working and know how to get great output on the thing it will decide to break and you end up having to purchase a newer model with even more features and capabilities, which of course by the time you have got them all sussed out the printer breaks....
Adam