At the Web App Masters Tour in Seattle, Josh Clark tackled the ongoing debate between native and Web-based applications by discussing the advantages and disadvantages of each choice and introducing some new ideas. Here are my notes from his Mobile Apps: Native or Web-Based? presentation:
- First of all, it’s safe to assume your audience has some kind of phone. 82% of US adults have cell phones. 37% use it for Web. 35% use it for apps. 35% in the US are smartphones. Worldwide marketshare (according to Gartner) has Symbian at 41%, Blackberry 18%, Android 17%, iPhone 14%
- But it’s not all about numbers. Android & iPhone have momentum but not overall marketshare. They may not be the winners of the future and marketshare can change fast. There’s too much innovation and change right now.
- Just a few yeas ago there was only two games in town: Nokia Symbian & Windows Mobile. Now have 10 mobile operating systems to consider. That’s a lot to maintain and manage. As a result, people are worried about keeping up with mobile.
- And for good reason. Google Maps, for example, has over 100 builds that need to be maintained. Anyone who tries to build a separate app for all mobile platforms is entering pain. Craft a plan to get rid of your fear and manage your pain.
- There are factors beyond marketshare that can influence where you put development effort.
Platform Cultures
- Not all native platforms are the same. It’s not just a technical question. Each has its own personality that influences people’s expectations.
- Blackberry has 40% of global enterprise market. Far more email & texting but much lower browser (changing as Webkit is rolled out). Very text driven usage.
- Third of worldwide mobile Web traffic comes from iOS despite only having half that in market share. iPhone marketing targets people, family, connection, and software for media usage. Apple’s philosopher king ensures consistency & quality but occasional clashes on what is allowed occur.
- Android is tools & technology. A way to be more awesome. But being on the bleeding edge is going to be a bit rough. So the Android experience is not polished. Android skews younger, because it is cheaper. Google acts as the sheperd of the geek flock. Uses an open source platform that can be adjusted by carriers and hardware vendors. So there’s lots of divergence and competing interests.
- Windows Phone 7 is trying to bring Windows back to mobile. Highly customizable. Personal connection like Apple but personalize-able like Android. Microsoft has infighting, strategy tax, and a new platform.
- Platforms and their personalities set the expectations people bring to the table. These are very personal devices. They feel different. It changes the way people get attached to their devices. Personal nature of devices means more than one culture can thrive.
What about the Web?
- Platforms are risky places to put your business.
- This is exactly the problem the Web is supposed to solve. To overcome platforms.
- But with less than 3 years of app stores –there is already an entrenched app culture. When people want a quick hit/lookup, they go to the Web. When they have a recurring use, they turn to an app.
- Web’s Weak Spots: touch gestures are harder to on the Web. Swipes are ok. But more complex touch gestures are not evenly supported. The Javascript libraries that try to resolve this are quite heavy. Graphic tools on the Web are not as fast as they could be. And these is less access to device hardware.
- If you can do it with the Web –do it with the Web. It’s faster, cheaper, and easier. The user experience gap is going to close but not all the way. Native will always have a user experience edge.
- But the most crucial aspect of user experience –is that anyone can have an experience at all. A mobile Web site is the cost of entry for universal access. We want our content to flow between devices. The Web is the common element across devices.
- There is no struggle between mobile Web and native apps. You ultimately need both.
Doing Both
- Form has to meet function. Design must manage context of device & place. Build once and run everywhere is a bit of a pipe dream. You need context –not just a stylesheet for a mobile device.
- Core functions should be the same but the hierarchy might be different. What makes your app mobile? Three different mindsets: micro-tasking, local, and bored.
- Web and native is not as clean as you might think. Hybrid apps can integrate Web applications with native functionality. Hybrid apps still use slower and less capable Web technologies. They address findability, payment, and common code base issues but not all issues.
- Think Flagship apps: create a mobile Web experience. Then create a flagship app on one or two platforms. Align with the mobile cultures & populations that match your demographics.
- Core content should be consistent across all apps but you don’t need use the same design.
- There’s no real fight between Web and native –you need both. We’re just at the tip of device fragmentation. Step back, and ask –what is tying this service together.
- Start with thinking about your interface as an API: a smart back-end that encompasses what you do. Different front-ends can then be plugged into your core APIs
- Fear not: this seems scary and chaotic. But don’t be intimidated. This is going to continue coming faster and more furious. Be expansive –let your imagination roam. We are inventing the future- go make something awesome.