Oy. While it’s fun to see the phrase HTML5 make its way into mainstream headlines, it’s off-putting to see it fuel the fire in a conflict that isn’t really a conflict in the first place. The New York Times heralds that HTML5 Is Breathing New Life Into the Web, noting that the web is “slipping” versus native apps but is “poised for a comeback”:
THE rivalry between the worlds of the Web and native applications, analysts say, is set to play out over the next couple of years. There are strong advocates in each camp, even within companies. Google, for example, straddles the two worlds, with its Android team as well as its developers of HTML5 technology.
Sundar Pichai, vice president for product management for Google’s Chrome browser, is betting on the triumph of HTML5. “In the mobile world, the dominant model is native apps,” Mr. Pichai concedes, but he adds that the real competition is just beginning. “As these ecosystems evolve,” he says, “I think the incredible advantages of the Web will prevail.”
Now I’m hardly above making hay from this purported death match. As part of the Web App Masters Tour, I’m giving a talk titled “Cage Match: Mobile Web vs Native Apps.” (Luke Wroblewski shared his generously detailed notes from my talk.) But my dirty little secret—spoiler alert!—is that I don’t really think it’s a matchup at all. Providing a great experience almost certainly means that you’ll do both. We’re all in this together, friends.
Build a mobile web app or website
Creating a mobile website is table stakes, basic cost of entry, and every company and service should have one. Your website should be viewable on any device, and since more and more people are using their phones as primary browsers, that means your website or app should be awesome on those devices too. The web buys you universal access to every device, no matter what type of phone people use. It’s a no-brainer that you should build for the web. The web is the hub for everything. There’s a growing expectation that our content will follow us seamlessly from device to device. Whether you access that content in a traditional browser or a native app, you’re almost certainly accessing it via the web. Building a web app simply puts your app in its natural habitat. Everyone should do it.
But here’s the thing. We have an app culture right now. In user interviews, I find time and again that people say they use the web primarily for quick lookups, while they use apps for doing. For tasks, games, or recurring activities, people instinctively turn to an app store. And there are good reasons for that. First, it’s certainly convenient: marketing, operating systems, and even the hardware nudges people toward plugging into app stores, where payment is also a breeze. And by and large, native apps tend to deliver better experiences, too. Don’t get me wrong: you can do amazing things with HTML5, CSS3, and JavaScript. (Aside: HTML5 and CSS3 are mature on mobile, where all the major platforms use cutting-edge browsers. If you’ve been holding back on learning the new stuff, waste no more time. Get on it.) But while the web is closing the gap—and quickly—for interface slickness and user experience, I believe native apps will always have an edge in that department. They’ll always hold greater potential for a better, sharper experience that fits in better with the overall operating system.
Build flagship apps
It’s not a matter of either-or, however. Do both. Build a mobile web app for everyone but consider flagship native apps to reward your best customers. Choose the platform that fits the personality and demographics of your best companies, and build an app that sings for them. For the foreseeable future, I believe the best way forward is a common-denominator mobile website—with graceful degradation so that a majority of mobile users are served—paired with one or three audience-appropriate native apps.
Fact is, we all use both. According to Comscore, 37 percent of mobile users browse the web, and 35 percent use downloaded apps. Presumably those are basically the same people, since about 35 percent of mobile users have smartphones. So it’s not that one is winning over the other in terms of usage; we use both.
Making the Mobile Web Better
Still, there are many ways that web apps could provide better experience, and nearly all of those rely on the OS makers to start treating web apps on equal footing with native apps. Trapping web apps in the browser doesn’t help, while native apps get first-class placement on home screens. The distributed nature of web apps means that you can’t find them in app stores, where people are trained to look for apps. And payment remains a problem for web apps. These are all areas where platform vendors should help make all of our lives better—as both developers and users. As a community, we need to press for this.
But let’s not shoot ourselves in the foot by getting tangled up in this “web vs native” thing. Our future is going to be one of many, many thin clients talking to smart web services. Some of those clients will be accessed via HTML, others via native code. I love the “one web” ideal but I also believe in the very real value (despite its high cost of entry) in crafting carefully tailored and high-performance interfaces for specific devices and operating systems.
As makers, we have to make rooms in our hearts, budgets, and schedules for both. Let’s call off the death-match hoax, grab a beer, and then go make some awesome together.