A menu bar extra exposes app-specific functionality via an icon that appears in the menu bar when your app is running, even when it’s not the frontmost app. Menu bar extras are on the same side of the menu bar as the clock—the side opposite where your app’s menus reside. If there’s not enough room to display all app menus, the system hides menu bar extras to make room for app menus. Similarly, if there are too many menu bar extras, the system may hide some to avoid crowding app menus.

Use a template image to represent your menu bar extra. A template image discards color information and uses a mask to produce the appearance you see onscreen. Template images automatically adapt to the user’s appearance settings, so they look good on both dark and light menu bars, and when your menu bar extra is selected.

In general, display a menu, not a popover, when the user clicks your menu bar extra. Unless the app functionality you want to expose is too complex for a menu, you should avoid presenting it in a popover. See Popovers.

Let people decide whether to enable your menu bar extra. Users, not apps, should choose when a menu bar extra is added to the menu bar. Typically, this is done by changing a setting in an app’s preferences window. To ensure discoverability, however, consider informing people about the feature during setup and giving them the option of enabling it.

Don’t rely on the presence of menu bar extras. The system hides and shows menu bar extras regularly, and you can’t be sure which other menu bar extras users have chosen to display.

Consider exposing app-specific functionality in other ways too. For example, you can provide a Dock menu that appears when the user Control-clicks your app’s Dock icon. The user can hide your menu bar extra, but a Dock menu is aways available when your app is running. See Dock Menus.