MOBILE

Programming the iPhone User : UX Anti-Patterns - Spin Zone, The Bouncer

10/7/2012 9:52:17 PM

1. Spin Zone

At some point in the development lifecycle of an iPhone application, a developer must decide how to handle support for rotation of the device. The basics of rotation support are very simple, though each view in each application has different, often complicated, considerations. How will interface elements scale? How will typography react? How should content react when the rectangle defining its boundaries changes dimensions and orientation?

Some developers choose to ignore rotation events, keeping the orientation of their application pinned to the screen and non-reactive to changes in the device. They always have the option to enhance the application at a later date, should users request rotation support. Other developers implement full rotation support, with rich animation and intuitive layout responses that keep their application usable from any angle. Both of these options contribute to a reliable user experience.

The spin zone anti-pattern occurs when an application implements rotation support in an ad-hoc fashion. For example, perhaps the application supports rotation only in one direction—90 degrees clockwise but not counterclockwise. Another example of the anti-pattern is arbitrarily—from the point of view of the user—supporting rotation for different screens. Worse still is requiring rotation for some screens, but not others.

The reasons that partial rotation support is damaging to the user experience aren’t mysterious. If a user has to constantly check whether each screen supports rotation, it brings the device to the forefront and makes the hardware the center of attention, taking users out of the otherwise immersive experience. Users should not be forced to use a “try and see” approach to constantly test support for capabilities in an application.

2. The Bouncer

The App Store contains many great applications that act as clients for web applications. For example, there are several excellent applications for interacting with social services like Twitter or publishing content to blogs.

A requirement for most Cocoa Touch web application clients is to provide authentication credentials, such as a username and password, for an account on the remote web service with which the mobile application interacts.

The bouncer anti-pattern occurs when the Cocoa Touch application requires authentication credentials for operation, but doesn’t offer the option for creating those credentials inside the application. Instead, the application opens Safari and forces registration through a web page, or worse, offers no option for registration at all.

There are cases in which registration from a mobile application makes little sense. For example, an application that allows you to check the balance in your savings account or retirement fund would require that the accounts already exist at the financial institution. The WordPress application requires external authentication using a WordPress-powered blog hosted on the Web. Because of this externality, creating an account using only the iPhone application would be impossible. Rather than simply blocking access for new users, the WordPress application allows access to information about the application and about WordPress. Figure 1 shows the WordPress application.

Figure 1. The initial screen for new users of the WordPress application


Most web applications are technically capable of allowing registration from any HTTP compatible client, including Cocoa Touch applications. The ability to register from an application may be limited by the terms of service. If policy prevents registration, applications should state as much and offer details on acceptable registration processes or sites.

The LinkedIn and Facebook applications are good examples of applications that implement the bouncer anti-pattern. Figure 2 shows the LinkedIn and Facebook applications after launch. Each application assumes that the user is familiar with the purpose of the application and either has or knows how to attain credentials to use the application.

Figure 2. The welcome screens for the LinkedIn and Facebook applications


An excellent example of an application that avoids the bouncer pattern is Foursquare. The authors of Foursquare developed the application with usability in mind and avoided the bouncer pattern in a simple, clean manner. Figure 3 shows the welcome screen for the application.

Figure 3. The welcome screen for the Foursquare application

Other  
 
Most View
The Most Wanted Products That We Cannot Wait! – November 2012
Galaxy S4 - Make Your Life Richer, Simpler, And More Fun (Part 3)
Windows 8 : Managing Windows Update (part 4) - Viewing update history, Rolling back updates
Windows 8 : Monitoring, optimizing, and troubleshooting system health and performance (part 4) - Configuring and analyzing event logs
Hardware And Software For All Your Business Needs – July 2013 (Part 2) : BenQ VM2430, Evoluent Vertical Mouse 4, HP LaserJet Pro 200 Color Printer M251nw
PC Hardware Buyer's Guide - Silent Graphics Card (Part 3) : Sapphire Radeon HP 7750 Ultimate, Zotac GeForce GT 640 Zone Edition, Club3D Radeon HD 7750 RoyalQueen
Windows Server 2008 and Windows Vista : Creating Custom ADMX and ADML Files (part 1) - ADMX Schema , ADMX File Structure , ADML File Structure
ARM vs x86
Panasonic Lumix GH3 – The Fastest Touchscreen-Camera (Part 1)
Sony Vaio T11 Hands On - Now You’re Talking About ‘Ultranets’
Top 10
Windows 8 : Monitoring, optimizing, and troubleshooting system health and performance (part 5) - Monitoring system resources by using Performance Monitor
Windows 8 : Monitoring, optimizing, and troubleshooting system health and performance (part 4) - Configuring and analyzing event logs
Windows 8 : Monitoring, optimizing, and troubleshooting system health and performance (part 3) - Using Windows Action Center
Windows 8 : Monitoring, optimizing, and troubleshooting system health and performance (part 2) - App history, Startup, Services
Windows 8 : Monitoring, optimizing, and troubleshooting system health and performance (part 1) - Processes, Performance
Sharepoint 2013 : List and library essentials - Creating and deleting lists
Sharepoint 2013 : List and library essentials - Using your apps
Sharepoint 2013 : Developing Applications Using Office Services - What’s New in Access Services
Sharepoint 2013 : Developing Applications Using Office Services - The New Machine Translation Services
Sharepoint 2013 : Developing Applications Using Office Services - Word Automation Services and the New PowerPoint Automation Services