The Uber iOS application (in its most recent version, 2.58) is an application my mom can use. As a car service request, it saves the user the time and energy of calling and waiting for a regular cab (which, from experience, sometimes does not even show up) and does not require the user to have any physical cash at hand. I consider it an example of good design because the user can easily figure out how to request a car and is always informed as to the status of the request and the ride.
Upon opening the application, the user sees three different places to click within the main screen: “Set Pickup Location” (in a black box in the center), a pickup location search bar at the top of the screen (if current location is not already listed), and a sliding car tab at the bottom to pick the type of car (See Uber main screen on the right). In terms of visibility, the black “Set Pickup Location” is clearly the main box of action, but if the user would like to edit the location or car type, those actions are marked in white boxes and editable upon touch. The user also sees the map behind the main boxes, with cars moving around the screen to signify current cars available nearby.
Uber’s high visibility also provides a natural mapping of which touch-screen box or action will connect the user to the appropriate result. For example, when the user clicks the black “Set Pickup Location,” he or she is directed to the next screen, which includes an address at the top (editable upon touch), a pinpoint on the map where he or she is, the last four digits of the credit card number linked to the account (in case it must be changed), a fare estimate tab, a promo code tab, and a black and bold box at the bottom for “Request Uber” (See “Confirmation” screen on the left). Again, the black box signifies the main box of action, and after navigating the first screen the user knows to once again touch the black box to proceed.
As I mentioned earlier, my mom can use the Uber application, and primarily because of its affordances and constraints. In terms of affordances, the touch-screen options on home screen are obvious: the black, bold box is to “set pickup location” and to initiate the car request; the other options, in white and therefore marked separately from the map and main black box, are for editing the car type or address (if map has not already picked up the correct address). While the user can edit the options in white, the car request process does not begin until the user chooses the black box option. And once the user reaches the next screen, or the confirmation screen, again a black box provides a clue to click for completion. No clues will suggest that the uber has been requested if the process has not been fully completed. As for constraints, logically only a few clickable boxes are available on each screen and they are clearly marked. The most important boxes, to move forward in the process, are highlighted in black. Of course, cultural constraints dictate how to navigate and use a touch-screen iPhone, and even further how to browse the available map on the different Uber screens to see where cars are located.
In my opinion, the best aspect of the Uber application’s design is its feedback. When the user touches the black box, the screen moves to a new screen, signaling moving through the car request process After he or she chooses “Request Uber,” the screen loads for a second or two and then gives a notification sound, provides the make and model of the requested car at the bottom, and shows a black car on the map heading towards the given location. The screen also continuously shows and updates estimated minutes to arrival. The user can literally watch the little black car icon turn corners and pull up to the requested pickup location. If Uber driver cancels trip, the application sends out another notification noise and alerts the user; if the car is too far, the application sometimes suggests requesting another Uber to see if a different car is closer. The driver may also call or text to confirm arrival. Unlike a regular cab service, Uber constantly provides feedback as to the rides whereabouts and will let the user know right away if the car is running late or has cancelled.