Configuring a new printer should be easier and have better defaults

Bug #132227 reported by Andrew Jorgensen
2
Affects Status Importance Assigned to Milestone
system-config-printer (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

Binary package hint: system-config-printer

system-config-printer has really bad UI. The gnome-cups-manager, while lacking technically in some ways, was much easier to use and much cleaner. Also a new admin interface is not really justified since anyone needing more advanced control of their printers could use the web admin interface.

Revision history for this message
Tim Waugh (twaugh) wrote :

I'm open to UI improvement suggestions, even if it means an overhaul of the current UI design.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

The user interface of the gnome-cups-manager was really simpler than the one of system-config-printer. Problem is that gnome-cups-manager is not maintained upstream any more, so we would be on our own fixing the numerous bugs and also adding new features. To not need to invent the wheel twice and also to avoid duplicate effort on bug fixing we decided to switch to system-config-printer which is very well upstream-maintained. It also contains the Plug'n'Print feature (automatic print queue setup) which was one of our planned feature additions already on the Ubuntu Developer Summit in November of last year.

Changed in system-config-printer:
status: New → Invalid
Revision history for this message
Andrew Jorgensen (ajorg) wrote :

The design of gnome-cups-manager was really pretty good. In fact I have no specific complaints about it (that it's slow maybe).

One thing I particularly liked about it was that gnome-cups-add would give you first a list of detected printers, then suggest a driver, then suggest a name. system-config-printer asks for a name, then asks for a transport (not detecting any for me), then asks for a driver class, then a model, etc.. In the former the best case is that the user doesn't need to know anything and they've got a good chance of getting a working printer. In the latter the best case is that the user must know the correct answer to all questions and might get a working printer in the end.

There also appears to be no validity checking in s-c-p - I was able to create a printer with no device URI, for instance.

Revision history for this message
Andrew Jorgensen (ajorg) wrote :

I totally disagree with marking this bug as invalid. If I had called the bug "Get rid of system-config-printer and pull gnome-cups-manager back in" I would have marked it invalid myself given Till's statement. But that's not what I'm saying here. I'm in favor of the move to s-c-p but it's UI is much harder to use than g-c-m / g-c-a.

Plug'n'Print should / will work for local printers but doesn't / shouldn't cover network printers, so I don't feel like that point is relevant.

Even Till, who marked it invalid, agreed with the original intent of the bug: that "The user interface of the gnome-cups-manager was really simpler than the one of system-config-printer." It's always bad to take a big step backward in UI like this. See my previous comment for some specific suggestions.

Changed in system-config-printer:
status: Invalid → New
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

I have marked it as a feature request now.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

I think moving the step of entering the printer name should really be after the selection of the auto-detected printer and the selection of the driver. Before, the user does not know which printers are available and often the user gives a name depending on type and model of the printer. It is also much easier to implement a reasonable suggestion for a print queue name if it is asked for the print queue name after having determined the model and driver. So I think the most important UI improvement at all for s-c-p is to move the step of entering the queue name to be the last step of the wizard.

For the waiting time for reading the PPDs and scanning for printers my suggestion is to run these two threads already when opening the main window so that until the user clicks "Add Printer" good part of the work is already done. When having clicked "Add Printer" and PPD reading and printer detection do not have completed, a decent "Please wait" page or pop-up should appear before as first wizard step the list of available printers is shown (here printer detection can in general be done before PPD reading, so that the printer list can be shown while the PPDs are still not finished and can make progress while the user is selecting from the auto-detected printers). The second step will then be the selection of the driver and the third will be entering the queue name.

Changed in system-config-printer:
importance: Undecided → Wishlist
Revision history for this message
Tim Waugh (twaugh) wrote :

I've checked in this change into SVN. It goes like this:

1. Select device
2. Choose a name (one is pre-filled from the MDL field of the Device ID if available)
3. Select driver (pre-selected if Device ID available and match found)

When the application starts, and before 'New' is clicked, a background thread fetches the device list. When clicking 'New', another background thread is started to fetch the PPD list. By the time the user has selected a name, location and description for the printer, the PPD list will most likely have loaded.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

In general this is a great improvement, but the best would be to really ask for the queue name in the end, also after choosing the driver. Then the choice of the detected printer and the driver are together and for the case that the model name was not auto-detected the model name as default queue name can still be used as it can be derived from the manual model choice which the user does.

There is also a bug: The forward button in the queue name step never gets activated. In addition, you should tell the user somehow that he has to wait in cases where the devices are not completely loaded when the user clicks "New Printer" or if the PPDs are not yet completed when the user clicks "Forward" in the queue name step. Currently the tool simply freezes (not even redraw) while it waits for the background thread.

Revision history for this message
Tim Waugh (twaugh) wrote :

Try current SVN.

I couldn't find the 'forward button' bug you described, but anyway the logic has changed again for re-ordering the wizard screens. Please see if you can still get it to happen.

Revision history for this message
Martin Pitt (pitti) wrote :

Tim, that's an awesome improvement, thank you very much!

Till packaged the current svn snapshot, I uploaded it now after a small cleanup:

 system-config-printer (0.7.71+-svn1399-0ubuntu1) gutsy; urgency=low
 .
   [ Till Kamppeter ]
   * New upstream release
      o Subversion snapshot r1399
      o GUI improvements on add-printer wizard
   * debian/patches/66_os_environ.patch: Removed, merged upstream
   * debian/patches/20_support_cups_nonroot.patch: Rediff
 .
   [ Martin Pitt ]
   * Drop 20_support_cups_nonroot.patch. Our cups runs as root now, so this is
     not necessary any more.

I leave the bug open, there still seem to be some smaller issues left here?

Revision history for this message
Martin Pitt (pitti) wrote :

In order to not overload one bug number with several issues, let's dedicate this bug for the 'configure a new printer' workflow. I changed the title accordingly, since "Bad UI" is too generic and does not support searching for bugs very well.

Current s-c-p's workflow is similar to g-c-m's now, so let's consider that fixed. If you still have improvements about new printer configuration, we'll reopen this one. For other bugs (hanging UI, broken buttons etc.) there should be separate bug reports.

Thank you for your report!

Changed in system-config-printer:
status: New → Fix Released
Revision history for this message
Patrice Vetsel (vetsel-patrice) wrote :

@Pitti : nice idea

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Tim, thank you for moving the name input really to the end. Great work.

The "Forward" problem does not occur for me any more. Perhaps it arose from a suggested name which already existed as local print queue. Perhaps you should modify the suggested name when a queue with that name already exists (add a digit or so) and/or also show some text warning in the window if the entered queue name already exists.

In Gutsy we use rev 1399 currently.

Revision history for this message
Tim Waugh (twaugh) wrote :

Ah, that would be it. I've added some code for making the name unique.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

system-config-printer (0.7.71+-svn1406-0ubuntu1) gutsy; urgency=low

  * New upstream release
     o Subversion snapshot r1399
     o Fixes: LP: #131848 LP: #132227
     o Redraw issues fixed and "Please wait" messages added for the device
       scanning and PPD list reading
     o Improved model matching by ignoring "Series" in model names
     o Allow custom test pages
     o Make system-config-printer also working on systems without local
       CUPS daemon
  * debian/patches/04_custom_test_pages.patch,
    debian/patches/20_support_cups_nonroot.patch: Removed, merged upstream.

 -- Till Kamppeter <email address hidden> Wed, 15 Aug 2007 16:06:42 +0100

Revision history for this message
Andrew Jorgensen (ajorg) wrote :

Tim, your changes are a big improvement. Thanks for the quick response too! Ubuntu was right to pick up s-c-p if the main reason was a better upstream maintainer.

Thanks!
Andrew

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.