Lately, I’ve been thinking about how users’ expectations of an app affect the user experience, especially as it relates to mobile development.
As an example: the native Google Maps iPhone app vs the mobile web Maps app.
Both are fantastic apps in their own right, but why are they both awesome apps? The native app is clearly faster to launch, it handles pinch-zoom fluidly, address and bookmark integration, transitions between views keep my context with nice animations. The mobile web app has none of that. It’s slower, the map loads slower, zoom and pan aren’t as fluid, transitions between views are non-existent. All things being equal, the native app is the clear winner, yet my user experience is overall positive for both apps. Why?
Before either app is even launched, the user expectation for each app is properly set to provide that positive user experience.
When a user fires up maps.google.com in Mobile Safari, they’re blown away with how well it responds to touch input – even pan and zoom! Compared to the other mostly static websites the user visits, this sorta-native-but-not-quite Maps experience is down-right-to-die-for! It’s amazing!
Now as a thought experiment, take that same web Maps app, wrap it in a native Objective-C wrapper, and put it on the App Store. Suddenly the experience is quite different. Compared to the native app, why on hell’s earth would I ever download this? It’s slower than its native counterpart, choppier, no animated transitions, no address book integration, etc. It feels downright amateur next to the real thing. The app hasn’t changed, the user’s expectations of the app have changed – and that changes everything!
When a user downloads – better yet, purchases – a native application, they are expecting a native experience. The user experience of this hybrid app is far less than the web app alone, and it’s all because of user expectations. Users are no longer subconsciously comparing your app to webpages in Mobile Safari, they’re comparing it to Tweetie, Flipboard, or Angry Birds. The stakes have been raised, the expectations have been raised, and the baseline user experience needs to be better.
This isn’t a dig at web or even hybrid apps, far from it, it’s an observation that to provide the best possible user experience, one of the most important decisions to make is where and how to set that baseline user expectation. This user expectation will play a large part in defining the quality of an app’s user experience.
This is true not just of web vs native vs hybrid development, but even the app’s icon and branding quality, website and marketing material, support, email response and cordiality, everything that the user sees before the app is even launched. The user experience of an app – good or bad – can be almost entirely decided before an app’s development has even started.