Bullhorns

UIKit offers a lot of flexibility in the way an application notifies users of events, errors, or state changes such as losing Internet connectivity. The most obvious is a class called UIAlertView, which displays a pop-up box that shows the alert message along with one or more buttons that must be clicked to dismiss the box. Alerts are modal, which means they are presented on top of the current view, often blocking all interaction with the current application and stealing the focus of a user.

Another type of modal alert is an action sheet, invoked with the UIActionSheet class. An action sheet is similar to an alert box in its effect, but it has a different look. Action sheets can contain many buttons and shouldn’t display text. Designers use action sheets primarily to let users confirm an action. For example, the Mail application uses action sheets to confirm the deletion of an email.

The bullhorn anti-pattern is the overuse of alerts that require users to make choices or otherwise manually dismiss the alert. In other words, the pattern causes disruptive notices that shouldn’t merit such brute-force methods.

Examples of user interaction that probably don’t require taking control of the interface and monopolizing user attention are:

  • Switching from Wi-Fi to 3G or 2G service, or losing connectivity.

  • Touching an illegal square in a chess game.

  • The end of a turn or round in a game.

  • A form submission failing due to a typo.

  • A successful post to a web service.

  • Any successful operation. ...

Get Programming the iPhone User Experience now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.