My question is related to this one, but not exactly the same (I explain why in the Note below).

One of the screens of my iPad app displays a PDF file, and in the top right there is an "Action" bar button item (open box with arrow pointing up).

Initially, the spec called for the ability to print this PDF out, so I wired things up so that the button would trigger the Air Print dialog.

So far, so good.

Now, I need to add the option of sending the PDF file as an e-mail attachment. I could have added a second, dedicated bar button item, but it makes sense to group both actions under the "Share" idea (the icon lends itself to this interpretation). Splitting into two buttons would require explicit icons for "Print" (e.g., a printer) and "E-mail" (e.g., an envelope).

So I decided to show a popover table view with two rows instead, anchored to the bar button item:

  • Print Document...
  • Send by email...

Still, good.

The problem is, What to do when e-mail is not available (i.e., there is no e-mail account registered on the device).

Showing the user the e-mail option and displaying an alert when they select it is awful user experience, so it's out of the question.

The options I came up with are:

  1. Remove the e-mail option and leave the "Print..." option alone. The Cons: Showing a popover menu with only one option feels redundant (requires one extra tap); so perhaps instead...

  2. Fallback to the previous specification, skip the popover menu and launch the print dialog directly. Cons: The interface loses consistency between the "E-mail account available" and the "E-mail account NOT available" cases.

  3. Leave the popover menu and both options in place, but gray the E-mail option out if no account is available (and possibly adding a sub-text suggesting the user to register an account). Cons: Seems verbose / non-smart.

I'm torn between 1. and 3., but 2. does make sense in its own way too...

Note: my question is not a duplicate because both cases (menu having two options and menu having only one option) can happen on the same version of the software (the linked question refers to a spec that calls for one option right now, but which might increase to two or more in the future)

1 Answer 1


Well, this is a classic conditional scenario. Since showing not available options (even if grayed out) isn't good UX, and you only have 2 posible options, I'd simply recommend to display this based on conditions:

If $userMail=true: show $menu
else: show $link

Where $menu is:

  Print Document
  Send by Mail

And $link is just Print Document since now the Share nav item will be useless due to this being just one option (print document)

  • So, drop consistency in favor of straightforwardness, right? Commented Nov 4, 2016 at 3:15
  • I'll do just that. It seems like the least friction for the user. Commented Nov 4, 2016 at 3:21
  • @NicolasMiari, in fact you won't drop consistency since users will only see one version, therefore it will be consistent anyways :)
    – Devin
    Commented Nov 4, 2016 at 15:35
  • Well, they will if the add an e-mail account after using the app for a while. But it's the best option. Commented Nov 4, 2016 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.