• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Nested sheets
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nested sheets


  • Subject: Re: Nested sheets
  • From: "M. Uli Kusterer" <email@hidden>
  • Date: Wed, 30 Mar 2005 14:44:29 +0200

At 5:47 Uhr -0500 30.03.2005, Bill Cheeseman wrote:
An example: My app is a single-window, non-document-based utility, so most
dialogs are appropriately implemented as sheets on the single window. The
primary sheet is a standard open file sheet used to select a file for
import. The user chooses a file to import and clicks the primary sheet's
default button. Sometimes (but not always), the chosen file contains an item
that conflicts with an item already imported into the utility, and I need to
present a small secondary dialog or sheet to ask the user whether to replace
the existing item. If the user chooses not to replace the existing item, the
secondary dialog or sheet is dismissed and the import is canceled, but the
primary sheet remains open so the user can choose another file to import (or
cancel the primary sheet). If the user chooses to prefer the new item, the
import is carried out and both the secondary sheet or dialog and the primary
sheet are dismissed.

Your use of a sheet here is wrong. Use drag & drop to let the users add files to your list and there's no problem with showing the second sheet, because there's no first sheet to begin with.


Stacking sheets (or modal dialogs) is bad because it forces the programmer's order on the user. While you are showing the sheet, the user can not do anything else. People just keep doing it because it is easier to program. You can have the sheet to make it easier for people who won't or can't use drag & drop, but I'd just say in the case of an error you close the open sheet and bring up the error sheet afterwards.

We programmers are much more used to nested designs as the average user, because it's a skill we need to have to get our work done. Most other people are much more comfortable with sequential processes, and ideally want them in the sequence they're thinking of right now. So, the less your GUI requires a particular order, the more it gets out of the way. And getting out of the way is what every user interface should do, so the user can focus on the job they actually want to do.

And even if your app is an image conversion tool, what your app does isn't what the user wants to do. The user doesn't want to convert images, she wants to get their web site published, and conversion is just a little sub-task she does while already thinking about the spelling mistakes in need of fixing on the next page.

The Cocoa documentation on sheets says that Cocoa is not designed to support
nested sheets. This is a poor reason to adopt the HIG's absolute rule
prohibiting nested sheets -- especially since it isn't true.

It is true. Since Apple's HIG says nested sheets are bad, Apple haven't designed Cocoa to handle them, and moreover, they haven't tested it to make sure that even works. And judging from the problems some people had with sheets on windows that have a drawer, I wouldn't be at all surprised if you would end up with odd behavior in the case of two sheets as well. "You're on your own, Jim."


Don't do nested sheets. They may even be technically possible, and it may seem like you're actually improving the UI, but you're thinking like a programmer, not like a user. Fix the problem at its core (which is the use of one main window and oodles of sheets popping out of it -- why not use a few floating panels or auxiliary windows?). Nesting sheets is simply fixing one symptom.

Years of Human Interface research have shown that nested dialogs (and, by extension, sheets) make it harder for your users. Don't go against that unless you've got at least as much research to back you up.
--
Cheers,
M. Uli Kusterer
------------------------------------------------------------
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden
  • Follow-Ups:
    • Re: Nested sheets
      • From: Bill Cheeseman <email@hidden>
References: 
 >Nested sheets (From: Bill Cheeseman <email@hidden>)

  • Prev by Date: Re: Creating a Cocoa Help Book
  • Next by Date: "ghost" knobs on sliders?
  • Previous by thread: Nested sheets
  • Next by thread: Re: Nested sheets
  • Index(es):
    • Date
    • Thread