Status
This is a draft, work-in-progress analysis derived from the “Closing the Gap with Native” Headlight task force.
Introduction
To compare the various existing mobile apps development approaches, two main perspectives can be taken:
- from the end-user perspective: how well the said development approach will make it possible to provide the best possible user experience;
- from the content and service provider perspective: how well the said development approach will optimize their costs and benefits.
This document proposes a model to analyze a give mobile app development approach from the end-user experience perspective. To that end, it identifies the various high level tasks a user will be confronted when interacting with a given application, starting from the time she tries to install it.
See also:
- Application of this framework to Web apps compared to native apps
- Framework to compare mobile apps development approaches from a provider perspective
A Framework for User Experience comparison of Mobile Apps
In a world of many competing applications, service and content providers need to offer a user experience that reduces as much as possible the friction of using their applications. User experience considerations are particularly important on mobile devices since their hardware and network characteristics often exacerbate the difficulties that users face.
The parameters that influence the quality of the user experience for mobile apps include:
- Getting the app, Running the app, Using the app
- world contains apps Device contains apps App contains views View contains content
- Ease of discovery and acquisition
Before a user can use any app, she needs to know the app exists, how to get it, and she needs to actually get it.
This encompasses the following operations:
- Searching an app
- Reaching an app from physical artifacts (ads, paper magazines, TV screen, product labels)
- Reaching an app from on-line interactions (social networks, on-line reviews, etc.)
- Paying for an app
- Downloading an app
- Authorizing an app for special privileges
- Ease of finding on device and launching
Once acquired, the user should have easy access the application when she needs it; the shortest and simplest the task, the less time she will be ready to wait to start accomplishing it. For instance, looking up the weather or the time should be near instantaneous, while a slightly longer wait before starting to play a game might be acceptable.
This encompasses the following operations:
- Locating the app launcher
- Starting the app
- Waiting for the app to be ready to use
- Intuitiveness and ease of understanding
When using a new or rarely used application, the user needs to find her way easily to accomplish her task at hand; the more the app user interface resembles other apps she is used to and re-uses the same interaction patterns, the less effort she will need to feel at home.
This encompasses the following operations:
- Adopting familiar user interfaces
- Adopting familiar user interaction patterns
- Guiding the user
- Smoothness and responsiveness
Any glitch and slowness of the user interface creates a barrier to the accomplishment of the task the user started the app for.
This encompasses the following operations:
- Navigating through views provided by the app (e.g. different sections of a news app)
- Interacting within a given view of the app (e.g. content of a specific section of a news app)
- Obtaining content from the network
- Pushing content to the network
- Adaptability to user access requirements
Depending on her physical conditions (temporary or permanent) and on her environment (e.g. luminosity), the user may want to adapt the user interface to her particular needs (e.g. changing contrast, zooming).
This encompasses the following operations:
- Making the user interface flexible to different user requirements
- Integrating with the accessibility services on the device
- Sensitivity to context
The user installs some applications for their ability to help her in a given context: at a given location, a given time, or when a given event occurs.
This encompasses the following operations:
- Determining the context in which the user is
- Notifying the user of a context-relevant information
- Personalization and privacy
-
Some applications benefit from gaining knowledge about the user (e.g. her contacts, her calendar) to adapt what they provide her.
The user on the other hand is often wary of sharing more of her private information than she is aware of.
This encompasses the following operations:
- Gaining access to private data
- Protecting user privacy
- Immersivity and focus
On mobile device smaller screens, any part of the UI that distracts the user from her task is problematic. If the user needs focused attention on the app, interactions from or with other apps should be reduce-able to a minimum.
This encompasses the following operations:
- Managing the whole screen space
- Separating UI from other apps
- Ease of returning to once launched
Some apps (e.g. social apps) attract the user’s attention frequently and the user expects to be able to re-access them easily.
This encompasses the following operations:
- Finding quickly the list of already launched apps
- Waiting for the app to be re-activated
- Getting the app back in the state it was left
- Ease of obtaining additional features
Once a user starts using an app, she may want to obtain additional features the app provides as add-ons.
This encompasses the following operations:
- Paying for an add-on
- Downloading the add-on
- Authorizing the add-on for special privileges
- Ease of maintaining
Once a user has acquired an app, she will want to keep it up to date. She may also want to retrieve some or all of the data that the app is creating and managing, either to share it, transfer it, or back it up. When she no longer needs the app or if she needs to recover space for others apps on the device, she will want to remove it. She may also want to reset whatever configuration or data a given app has stored on her device.
This encompasses the following operations:
- Updating an app
- Retrieving locally stored app data
- Removing an app
- Purging an app configuration and stored data
- Ease of cross devices usage
Users have increasingly to manage multiple devices of various shapes, manufacturers and capabilities; a user is likely to want to find the apps she likes on as many of these devices as possible, and in some cases to have an app takes advantages of several devices at once (e.g. for second screen scenarios).
This encompasses the following operations:
- Locating a compatible version of the app on the various devices
- Acquiring (possibly with payment) the app on these devices
- Getting the content / configuration of the app synchronized across devices
- Making the app work on several devices at the same time
The critical factors that need to be optimized for a given app depend on the type of expected interactions. These factors are influenced by the service and content providers investment, but also (and sometimes primarily) by the chosen platform and its associated development approach.