Web Versus Native – Asking the Wrong Questions

There’s been a lot of talk lately about web apps versus native. It’s not that the question has ever gone away, but just over the past couple of weeks it seems like it’s been called out a bit more in blog posts. There was a Pew Internet report that covered some of the pros/cons of going web or native. Darryl Taft, one of my favorite press guys, did a writeup earlier this month on the landscape of web versus native and some of the companies involved in blending those two worlds. And then today I saw news about Mojito, a hybrid client-server solution from Yahoo, which is part of a wider initiative called Cocktails with the aim of “making web applications feel native“. And that got me thinking about the problems that people are trying to solve when it comes to web apps on mobile devices.

Web apps are in a tough spot when it comes to native, but they’re getting better. As I see it, one of the main problems with web apps is that they aren’t currently better. They’re cheaper, they’re faster (to write), and they allow you to target more platforms, but they’re not better. What’s even worse is that you could argue there are only 2 platforms for mobile that matter right now, Android and iOS. But it was the exact same situation back in 2003/2004 when the web really started coming into its own as an app platform and taking away from traditional native apps on the desktop. The one problem is that back then the web apps were better. They didn’t look as fancy and they didn’t run quite as fast, but there were few things that people needed to do that the web couldn’t do. I remember talking about AIR and mentioning things like drag and drop, file system access, and file type associations. Those were nice, but people didn’t really need them. What made web apps better for end users was the fact that they ran everywhere, were lightweight, always up-to-date and moved with the user so when they switched between the library, school, work, and home, their stuff went with them.

But fast forward to today. We never leave our mobile devices. They’re always with us. Sometimes we change contexts from our mobile device to a desktop/laptop/tablet (think email) but ultimately one of the things that made web apps so great, that they moved with the user, has been completely negated by smartphones. And increasingly, what web apps can’t do is much more important than what web apps couldn’t do 5 years ago. All of the sensors; GPS, Accelerometer, Camera, not to mention the data on the phone, things like contacts, that can be used to make things on the device so much more personal and completely change the experience. Some of the basic ones are available to web apps, and the specs are in place to get more, but there’s still a significant disconnect between what can be done with native apps on the device and what can be done on the mobile web.

To me that’s the biggest worry for the web on mobile devices right now. Sure, performance isn’t ideal, but as the browsers get better and devices get more powerful, that one will fix itself. The technology is there in the form of Canvas, SVG, great JS frameworks, faster JS performance. So the core interactive features work on these devices (with some performance caveats). But the benefits of the web are in many ways nullified by smartphones today. The web needs to come up with something that makes it better once again. And the deck is really, really stacked against it. Think of the distribution model of apps and in-app purchases. I think you could argue that those aren’t great for customers as much as they are great for content creators. Mobile apps are easier to monetize, easier to track, and easier to manage than the web right now. And on one hand, that’s fantastic. Finally designers and developers can directly make money off of their creations. But it’s coming at the expense of the web.

In order for web apps to thrive again the web community needs to start thinking about how mobile web apps can be better and more useful to customers than native apps. I have no doubt that it’s going to happen. How many times have you said to yourself “I don’t want your app, I just want to see the content” while browsing around the web on a mobile browser? So the sentiment from users is there, but for now the web just doesn’t provide enough value for users to get beyond the inflection point. So I’m hoping the conversation starts to move away from web apps not being fast enough, or “feeling native enough” to one of how web apps can be better than native from a user perspective. It’s going to be a fun conversation to watch unfold.

  • Shawn Blais

    Very interesting post. The other area where Web Apps can offer advantage, is the “buy once” paradigm, so I can switch devices without have to re-purchase everything. I can see that being very compelling from a user standpoint.

  • http://twitter.com/mlapasa Mark Lapasa

    Once you commit to mobile web, aside from the benefits, you will always be one step behind. Your app will always be limited to the lowest common denominator of capabilities while the native counterparts thrive at the bleeding edge. Asking the mobile web to be better than native is asking for the impossible. If there was an answer to this not-so-age-old question, this would no longer be a topic of discussion. Each of these tools do a wonderful job for the use cases they are applicable to but when you try to use the tool outside of it’s expected function, it does it half-assed.

    I’ve approached mobile native vs. web as something along the lines of desktop web vs desktop Flash. Flash was a premium user experience that not all developers of the internet are well versed at delivering. I would like to say the same about Android and iOS native developers in that it’s not nearly as accessible as say HTML5/JS but it delivers a corresponding premium experience as you describe in your post.

  • http://blog.digitalbackcountry.com Ryan Stewart

    But that’s the thing, I don’t believe that “better” implies more API access or faster performance than native. Because you’re absolutely right, the web won’t ever be able to compete on those fronts. What I mean by “better” is that the trade-offs developer’s make for the web outweigh the core benefits of native access. That’s why I used 2003/2004 as an example. The web wasn’t faster or more feature-rich than native apps, but a lot of people saw it as better because of what it could do. With smart phones we’re in a tough spot because they took away some of those advantages.

    So when I say the web needs to be better I don’t mean that it needs to surpass the features of native development. Just that it needs to be better than native at what it’s good at to make the development decision tilt more in favor of web apps when targeting mobile devices. 

  • http://blog.digitalbackcountry.com Ryan Stewart

    I love that point. And it’s one of the things I like about how Android works, you get updates from the cloud, it (in theory) syncs your apps. But the flow isn’t perfect and I’m at the point of update fatigue because I feel like my phone is always telling me I have 9 updates to apps I need to make.

  • http://www.gourmandise.com.au/contents/en-us/d212_wine_gift.html Wine Gift Delivery

    Nice & useful information you shared with us about mobile Apps.Really now a days this type of question asked by users.

  • http://www.gourmandise.com.au/contents/en-us/d212_wine_gift.html Wine Gift Delivery

    Nice & useful information you shared with us about mobile Apps.Really now a days this type of question asked by users.

  • Anonymous

    Great discussion Ryan. Here’s my initial thoughts. There are reasons right now that you are *forced* to create a native application. If you want access to the accelerometer, the camera, etc., you have to use a native application. However, those reasons are transitory, and should be outdated within a about a year I think.

    Everything else is about weighing options. Web apps are cheaper to build and easier to maintain – which, in and of themselves would be incredibly compelling reasons to go with this option assuming the reasons above don’t factor in. However, the monetization (which you mention) and what I’ll call “real estate” issues often outweighs these. Monetization is not impossible via web apps but it is more difficult right now. The “real estate” issue is that if you download my app, I have a dedicated spot on your device. Adding a web app to your favorites is not equivalent. It kind of reminds me of subscribing to a magazine, by downloading an app, you’ve indicated this product/service is of importance to you. There isn’t currently an equivalent for web apps (things like the Chrome store have not solved this and aren’t really relevant on devices anyway).

  • jt

    Part of the strength behind the argument being made in this article depends on discounting the biggest strengths that web apps have as noted in this sentence, “They’re cheaper, they’re faster (to write), and they allow you to target more platforms, but they’re not better.”  Once these benefits are removed then native apps are definitely “better”.  However, I don’t see how you can fairly make a comparison between web and native without taking this into account.  These have always been pros that web apps have had over native apps.  And they are as true today as they have been in the past.

    Let’s face it, from a business stand point low cost, speed and ubiquity have always been formulas for success.  And for monetization and tracking, I see to technological impediment for doing so successfully through web based technologies.

    It is true, however, that there are device specific features that, if not completely unavailable, then very difficult to leverage through web apps.  In these cases it is completely justifiable to use native apps over web based ones.

    I think the most objective conclusion one can reach regarding the current state of things is that deciding to build a web app versus a native app depends entirely on your business needs as they pertain to your product(app) and ROI.  But making a comparison that discounts one side’s strengths is hardly a balanced one.

  • jt

    Part of the strength behind the argument being made in this article depends on discounting the biggest strengths that web apps have as noted in this sentence, “They’re cheaper, they’re faster (to write), and they allow you to target more platforms, but they’re not better.”  Once these benefits are removed then native apps are definitely “better”.  However, I don’t see how you can fairly make a comparison between web and native without taking this into account.  These have always been pros that web apps have had over native apps.  And they are as true today as they have been in the past.

    Let’s face it, from a business stand point low cost, speed and ubiquity have always been formulas for success.  And for monetization and tracking, I see to technological impediment for doing so successfully through web based technologies.

    It is true, however, that there are device specific features that, if not completely unavailable, then very difficult to leverage through web apps.  In these cases it is completely justifiable to use native apps over web based ones.

    I think the most objective conclusion one can reach regarding the current state of things is that deciding to build a web app versus a native app depends entirely on your business needs as they pertain to your product(app) and ROI.  But making a comparison that discounts one side’s strengths is hardly a balanced one.