One Year Later - CUPS Admin Still Lacking?
DopeyDad asks: "OK, it was close to a year ago (Eric's site says July 2004, but I'd swear the original rant came earlier last year) that Eric Raymond's tirade on the unfriendly status of configuring the CUPS printing system on Linux was published. Well, I've been struggling with setting up a new laptop and getting it to talk to my print server, using Fedora Core 3, and nothing seems to have changed -- the admin items for adding a printer are exactly as Eric described them back then -- unclear, confusing, and no where near as friendly as their Win* equivalents. Definitely not something I'd expect my Aunt Ethel to be able to figure out. What's going on here? Granted, FC3 is ready to be replaced, but I don't see any CUPS updates for it. Is work being done with CUPS to address Eric's original complaints, or has this issue fallen off the radar?" For those who are still frustrated with the CUPS GUI, how would you improve it?
By using Mac OS X's interface to CUPS.
:P
If I remember correctly, the problem ESR was having was with the RedHat GUI. The only "CUPS GUI" is really the web interface on port 631. Every other "real" GUI is made by some other vendor/project e.g RedHat, KDE, Gnome, etc... (OpenOffice?). I have my own complaints about the CUPS web interface, but they're nothing major. I've always just tweaked the cupsd.conf file and added the printer (s)in the web interface. No major biggy there. This all just a storm in a teacup.
Open source programmers work on what is sexy. CUPS isn't sexy. You want someone to do that kind of work, you have to pay them, which is why oos will never have the same polish as commercial OSs (polish doesn't mean themes and icons guys).
One of the problems with FLOSS is that it tends to be written by hackers (which is also one of its biggest benefits, but I digress)...
Hackers want lots of options. They want to be able to configure FIFO settings for serial printers and flow controls, and all the technical nitty gritty.
Grandma doesn't know what the hell a flow control is. All she wants to do is a print a picture the grandkids sent her.
The biggest barrier to FLOSS usability is often overwhelming the user with too many options. A good GUI presents the most basic options you need to accomplish a task, and hides the rest where Grandma won't find it, but where someone who wants to change some deep, dark setting has the option of doing so.
IMHO, Mac OS X Gets It Right. Their configuration dialogs are quite simple, but you can always get under the hood if you need to. That sort of ease of use is what makes OS X a Unix that Grandma can use.
And if it takes messing about with obscure settings to get things to work, then the back end needs to be refined until the system works.
Complexity is at odds with usability, and in general FLOSS tends to be balanced more towards the former than the latter.
If Fedora doesn't make it easy to set up a printer, then it's Fedora's fault. The whole purpose of a distribution is to sort things like this out.
It would be the same if there was a partition-eating bug in the Linux kernel. If Fedora destroys your data, it's Fedora's fault, even if the bug is in the Linux kernel.
In my case, I use KDE, and have had no problems setting up printers. If Fedora doesn't use KDE and doesn't supply suitable tools that do the same thing as KDE's printer manager, then it's a major shortcoming of Fedora. Not "Linux".
My experience with setting up CUPS is the exact opposite. I agree that it has not improved over the past year, but it *IS* remarkably simple to set up a printer with CUPS. I got it on my second try, back a bit over a year ago, and have reconfigured cups maybe 10 times since then, without any trouble.
What's so hard about clicking on "Manage Printers" and then "Add Printer"?
Among my recent linux converts, they described CUPS as being relatively hastle free, and superior to the oft-broken process under Windows.
I've always heard a lot of bad things about CUPS, but have only had occaision to use it over the past year or so. Maybe I've just been lucky, or CUPS is a whole lot easier to mess with on Gentoo, but I've never had any problems with it.
I hate to say it but this is one area windows has it all over Linux. On a windows machine I can setup a printer in under 10 seconds. On my Linux box I still have yet to make it work.
In windows setting up a printer is as easy as \\servername\ printersharename
On the server adding that printer to be available to clients is just a matter of knowing what port, or IP its on (which configures a "port" when you provide the IP during setup). This again is a minor job.
I've tried, several times to get CUPS working and ave found it the stupidest sub system in all of UNIX. There has got to be a better way, but I haven't found it yet, has anyone else?
I have been able to get everything I have ever needed working in Linux in the past simply bu reading the man pages and how-to's but neither seems to have the answers for CUPS.
My printer in my house is on a printer server box. Configuring printing should be trivial. Privide a printer type and an IP and GO.
Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
So nobody is allowed to complain that something is lacking? They have to fix it themselves?
Isn't the idea that the community can do what people can't, or won't do for themselves.
Some people don't have time to do what would have to be done.
Comparisons to Windows are beyond the point: the fact is, the CUPS interface undeniably sucks, that is the point of this article.
So there.
____
Printers are, generally, a bit of a pain in the ass. There are way too many proprietary drivers and driver styles, and I really don't see the need for it.
Why can't these manufacturers define a standardized, extensible interface format for their printers and end this madness once and for all?
Free Software: Like love, it grows best when given away.
CUPS autodetects your printer, but then asks you how your printer is connected? (locally,cups,jetdirect etc.).
It *knows* i have no jetdirect or network printer, that the printer is connected on lp0 and it correctly detects the model.
Why it needs to ask me how the printer is connected is beyond me. This can only confuse new users.
VStrider.
You ask an application to print something. At most, you should have to specify which printer. The system should have figured out by itself everything it needs to know about directly attached printers. Anything on the local network that offers printing should have already been recognized. Faraway printers may have to be specified in some way, but even there, you'd expect a directory system or search engine to do the heavy lifting. There should be no need for explicit "system administration".
That's how it should work. Yes, it's not easy to do it that way. Yes, there are some older printers that can't be automatically identified via their electrical interface. Yes, sometimes the system may have to find and download some format conversion program.
Amen to that. I'm partial to the KDEPrint system, and wish that it was half as easy to configure network printers in Windows as it is through the nice KDE GUI.
For those who didn't catch that, let me repeat it: in my experience, it's much easier to configure printers (particular network servers) in KDE than it is in Windows. As far as I'm concerned, this particular problem is well solved.
Dewey, what part of this looks like authorities should be involved?
The point is, the average user shouldn't need to read a BOOK to set up a printer
----(o)----
Good!, Let me put that in another words:
A Guide For GNU/Linux Users
1. Save up $500.
2. Forget about your freedom and Buy a Mac.
3. Live as a slave of a company that sells proprietary software and hardware.
WTF am I doing replying to an AC at 5 A.M on a Friday night?
"So nobody is allowed to complain that something is lacking? They have to fix it themselves?"
Of course not. ESR raised alot of issues and even got some positive response from the CUPS developers. Good for him.
But the Ask Slashdot submitter shouldn't expect developers to fall all over themselves just because ESR says so.
Beauty is in the eye of the beerholder.
I wouldn't call it easy. The last time I tried to figure out, I had to contact the IT department, who told me that a remote printer with an lpd queue has to be configured by choosing the local printer option. How is calling a remote printer a local printer intuitive or easy?
This line of thinking is only acccurate in a theoretical sense. Unfortunately, it assumes that all people are roughly equal in competence with regard to a given task. One of the most important parts of getting a job done is arranging to have it done by someone who can do the job. No amount of enthusiasm or hard work is going to allow (say) a ditch digger to write an improved print manager interface until he's invested some minimum amount of time learning all the basic precursor stuff. Perhaps this is why MS spokesholes compare FOSS to communism. The quaint notion that all work is somehow of equal value whether it's done by a master or a novice sounds like something Karl Marx would say.
If a job's not worth doing, it's not worth doing right.
when was the last time you successfully used threads in perl-gtk2?
right.
I think we really need to use a standardized package installation method, and that all developers who want to be taken seriously use it. There's a couple out there, and perhaps one will eventually become the standard. Even looking at, say, apt: If a user ones software they should:
A) Not have to find all of the varied repositories for different kinds of software on their own; it should come with a huge trusted repository list, and potentially update that list on its own if the user requests it.
B) Not be stuck by physical dependancies. If a compiled version is not available that matches your setup, it should automatically download either a source version and compile it (and get the necessary libraries), or a standalone version.
C) If there is an error in the install of a package (regardless of the method the installation is attempting), it should try a lesser version of the same package.
Windows has a big advantage on Linux when it comes to installation because we have so many versions of the same libraries floating around. We need to fix this.
We're all familiar with the tragedy of being you.
Everyone is screaming "just use Yast", "use the webinterface" or "system-config-printer isn't that bad". That's not the point. Here's the scenario:
The user plugs in a printer. There is no step two. If there was no printer before, the printer is now the default. There is no need to tell the machine about it this, no GUI popping up, no config programs to run. If there was a previous default printer the user can right-click its icon representation in some control center to make it the default, otherwise it is just a choice in the print preview dialog.
Stop bitching that CUPS is good enough. Informing us that tool X does what you want it to do is of no worth whatsoever. That is simply taking the easy road. Open Source can, and will given enough time, do better. By failing to see the problems you are just hurting Open Source by your zealotry.
Whether some other operating system does it in some other way is completely irrelevant. The nature of Open Source is to iteratively approach a perfect state. There is no part too small or insignificant, or grand and important, that we can not improve it. Every single wording of every label is open to refinement, every padding issue of every widget open to tweaking to perfection. And when the system plain sucks we rip it out and do it again. The only constant factor in Open Source is change and improvement, 365 days a year 24 hours a day. The shop never closes, on Christmas day there is a million CVS checkins around the globe. That is what Open Source is all about. I put very real code where my mouth is, if your contribution to Open Source consists of "well, it works for me", SHUT THE FUCK UP, in your shortsightedness you hurt Open Source and I as a developer will rather have 5 guys pointing out flaws than you promoting the status quo.
It's like deja vu all over again.
No, actually, he doesn't. He doesn't talk about Windows at all in fact! He talks about open source always going for the better. So why'o'why shouldn't we have a better implementation and printingsystem than Windows?
Do you mean we should wait until Windows gets this (or any other) feature and then implement it by copying the exact same behaviour? -- Well, you can do that - but I actually think it's a good thing getting cups better than any other printingsystem! And also doing that first.
With opinions like that floating around, no wonder people say that FOSS is only copying properitary software.
Anyone else have any ideas?
Even though Eric Raymond was talking about the RedHat CUPS tool, I'll bite (YHBT, etc etc.)
The webadmin tool (http://localhost:631) is not well thought out. You start off logged out, but there is no little 'logged in / logged out' indicator like 99.9% of commercial websites have. [tt]However, in the CUPS team's favor, most OSS drops the ball on providing useful user feedback like a login status indicator (see the many Wiki's out there that suffer from this.) But then, I write software for a living, so the software I write has to work or I don't get paid.[/tt]
Furethermore, replacing or adding to the clickable'Administration' label in the webmin interface should be a clickable 'login' and/or 'logout' label. Right now, you must know to click on 'Administration' to force CUPS to prompt for a login. A lot of stuff requiring user login will simply fail. The messages on failing are unhelpful and poorly written. If any actual GUI modeling had been done, the CUPS team would have a more usable design. CUPS needs to put some text telling you that 'you need to be logged in' with a login link on the 'can't do that' error page IF not being logged in is the problem.
"You cannot have a General Will unless you have shared experiences. You cannot be fair to people you don't know."