I think Facebook is an instructive example here. They tried for a long time to make their native app (for Android, anyway) just a wrapper over the mobile web client, but they could never get the performance all the way there. They went native and have seen great results. They resisted as long as they could but eventually the products had to diverge.
I'd say 80% of developers who choose native do so for performance, and 20% do it because the app store and home screen placement is better for branding and content discovery than just sticking up your website on a server somewhere.
I think there's room for some sort of hybrid product but I'm not sure what it would look like. Maybe a mobile browser with super-aggressive caching (like not even a HEAD request for JS and CSS) and the ability to improve performance for the foreground page to the point where it's near-native. I'd use that for the mobile websites that I use less frequently, and continue to download the native apps for the things I use every day.
Facebook comes up a lot in these discussions and it's important to provide some context. Facebook's HTML5-first strategy pre-dated the launch of the original iPhone. In the first native mobile app they were simply rendering the mobile facebook site in a UIWebView. There are so many better ways to do HTML5 and HTML5/native hybrid apps these days. Check out the Basecamp app, for instance. It's every bit as good as Facebook's mobile app but it makes heavy use of HTML5.
This demo from sencha touch has always seemed dubious to me. I remember having coded extremely basic mobile web app with this framework and having had layency issues from almost day one.
My guess is that what they are doing with their framework to get to this result is pretty far from a normal use.
This was the main critique of the original article - that Apple and Google are blocking the open mobile web in order for native apps to thrive.
Both Android and iOS are built around promoting apps. The web is a second class citizen.
But if the systems were actually optimized for open web, then content producers could build 1 web-app, that could have important logic and graphic stored offline in an app container, while still being just as functional via direct web access.
This could work great for 90% of all the apps that are basically just glorified websites.
Also - 'the mobile web' did not exist before the iPhone popped up. Now you have a blazing-fast mobile webkit used in Android, iOS and on more recent Blackberries, and have a quite decent mobile IE on windows phone. Each generation of mobile OS, the mobile browser performance improves massively, adding more and more features with every generation. But somehow they are blocking 'the open mobile web'?
Also - a browser is not the only 'web application'. You already have mail, RSS readers, calendar apps, twitter clients, ... in whatever form, webapp, native desktop app or mobile apps - they all exist. They're all using 'the open web'. I think inter-operability is more important than "it has to be html5". The open web is in my opinion: open API's and data format. And that is exactly what we have, a large amount of mobile apps are just a native more intelligent client for some web API or content for which a website is also available. Twitter, Facebook, Reddit apps, Kickstarter, ... all have 'native' apps - does that mean it's less open than using a web-browser? No - it's just optimized for mobile use, something that is very hard to do with pure html5. REST/JSON api's have taken over the open web. Native or web-apps are just front-ends for these api's - that's the direction it's moving in.
I don't see the problem really, web-browsing still is one of the killer apps of a mobile device - tablet or phone, and that's something neither Google, Apple, Microsoft, or any other large corporation will ever limit. Yes some apps are rejected for whatever reason, but there is competition to choose from if one of iOS, Android, Windows Phone, Firefox OS or Mobile Ubuntu makes choices in their rejections that conflict with your personal beliefs.
I don't think that's a fair critique, at least not about Google. They are pushing JS with V8 as far as anyone besides maybe Mozilla. They also have made cross-platform Chrome/Android/iOS toolchains and in general promoted the use of apps based on web technologies. It's pretty clear that Google wants web apps to be awesome also, it's just hard.
I guess, but they really are just directing traffic to a an app rather than a browser. A subtle difference to sum, but when you take into consideration that that app would have probably been downloaded through their store, it keeps people in the same loop.
I wish firefoxos and available hardware could have the word-of-mouth momentum for friends and family installation that the browser had. I would do this, but alas, its much more difficult to install on a family member's phone than the browser was on their pc.
FWIW, Dave Fetterman, the Facebook's former head of dev relations who helped create the Facebook developer platform (developer.facebook.com), later led mobile at Facebook and was the one who made the call to go HTML5 and then made the call to switch over to native is back working on high performance HTML5 at famo.us as VP of Engineering.
There is still a future for for pure web apps that feel great. The framework will be released on Wednesday night.
Sure, native apps have better performance on mobile. But the same thing is true on desktop, yet the web somehow stays popular on desktop. That suggests that the behavior of platform owners (Apple and Google) is the real reason for the popularity of apps on mobile, and performance is just a distraction.
We've also been pushing for web app models as developers as a collective quite hard. Not so much with the mobile side of things (all got dollared eyes maybe?) We will likely see a push back into the web side of things once mobile browsers become less painful to use and more powerful in what they can do.
In other words, "decline of the mobile web", yea right. (don't forget half the article was about how we're spending more and more time in mobile web over desktop web.)
As lugg said, it took a long time for web apps to rival native apps in functionality, and there are still a lot of places where they don't (large files, graphics, etc). In ~3-5 years the class of web apps that are lightning fast on desktop now will be fast on mobile.
>and there are still a lot of places where they don't
This would be better phrased as "and there are still only a few places where they do". Google Docs, for example, is great for basic collaborative editing (as long as you don't mind the NSA reading it), but has a UI that it a total pain (especially the world's worst keyboard shortcuts, e.g. having ctrl-enter and shift-enter reversed, and completely lacks advanced features.
I think that sync vs not syncing tends to be cyclical.
We all started using Gmail because synchronising to a mail server is annoying and PCs where slow. Ten years later machines have a fast internet connection, 1TB HDD as standard and, maybe an SSD. When you have to wait 10 seconds just to view an attachment syncing makes a lot of sense. But generating a thumbnail of that same PDF would be much better handled pre-emptively in the cloud.
The problem is believing that one approach is better for every function of an app. Few user machines will ever have a guaranteed large amount of bandwidth. This is just as true on desktop machines as mobile, but less acknowledged.
The article is discussing a very different thing. It's not web vs native on technology alone, but on which platform users are spending their time (in a browser or in an app). There is a growing number of apps being built with web technologies for the app stores, and that will only grow as the tools get better there (disclaimer, I am very much invested in that space).
> Facebook is an instructive example here. They tried for a long time to make their native app (for Android, anyway) just a wrapper over the mobile web client, but they could never get the performance all the way there. They went native and have seen great results.
Except that anyone who actually uses the Facebook apps knows that the performance is horrible in the native apps– jerky scrolling, lots of on-demand loading requiring you to wait for multiple RTTs on every click, etc. I would be hesitant use Facebook as an argument for anything other than the need to place UI performance on equal priority with marketing.
Facebook's mobile website doesn't want permissions to access camera, mic, location, and SMS. That's why I use that and not their stupid app, especially since it lets me switch between other sites as I like as well.
It seems 'mobile apps' are like Flash was in the 90's, basically a way to take full control over the UX to achieve some particular goal. Given the preponderance of such apps it seems as if home screens are due for a make over that looks more like iPod music libraries than 'desktop.' Basically something which supports dozens if not hundreds of apps on a device.
The entirety of current web design practice is taking full control over the UX. Gone are the days when you sent a GET and got an html document back, the most interactive element of which was a textarea box.
Agreed. This is also going to be its undoing. While I don't anticipate a sudden consumer rebellion against provider lock-in (not least since the market can remain irrational longer than you, qua the vendor of a better alternative, can remain solvent), I do think there is going to be a great clearing-out.
Rendering on the client side is fast, especially on the newer high end devices like the S4 & the IPhone5. It will only continue to get faster.
The biggest issues are bandwidth/asset file sizes & using heavy-weight frameworks. They bog down the UX on mobile devices.
On my current project, I'm using browserify, Backbone, jQuery, & compiled Handlebars. The same codebase supports rendering on the web server, rendering on the web client, mobile web, & apps using PhoneGap. Things seem to be performing well, even on the S2.
Note: there are strange performance issues with the S4 stock browser.
Rendering on the client side is not even possible with the vast majority of handheld devices in use around the world. The biggest issues are, as they have always been, the fact that commercial interests have triumphed over any kind of inclusive standard practice.
Please understand I'm not passing judgment on the matter -- but I would like to highlight the relatively elite status of people with quad-core telephones.
I think Flash was created in the 90s to make up for the lack of interface possibilities on the web. In contrast, mobile apps are created to both enhance the user experience and focus the user on a smaller functional set. Flash and, later, Silverlight, were often (but not always) used to bring a Windows/Desktop-like experience to the web. Mobile apps are different and that might be why they are more sticky, at the moment, than Flash apps ever were. That is, they're a response to simplicity where Flash never was.
On your home screens idea - I think you could make the home screen over and it won't change the fact that most people use a handful of apps regularly (every day), another handful less frequently (once a week to once a month) and then a large pool of apps that never get looked at again.
"I think Flash was created in the 90s to make up for the lack of interface possibilities on the web. In contrast, mobile apps are created to both enhance the user experience and focus the user on a smaller functional set."
Do you somehow think Flash people didn't believe Flash was being used to "enhance the user experience"?
Time spent is a very tricky measure, and OP is making the mistake of taking it too seriously. Games, social/chat, video, especially porn always take more time than anything else, and mobile apps are enjoying their time...
It feels that Desktop apps are sorely neglected. Spotify for example feels really ancient, a weird UI for such a popular product. I only assume the mobile versions are more logical and easier to use. I wouldn't want to immitate the desktop versions. So I read your comment as somethnig like the immitation of Apple's cover flow. And yes in that way I agree.
Do you think it's the lack of standardisation of menuing/navigation/paging in web pages/sites that isn't helping matters?
Yes, you are, along with most users here. But it's not stopping companies from wanting to control UX entirely though a mobile application. One of the reasons for this is that in general, mobile webpage performance is complete ass. A thorough but by-no-means complete diagnosis of the problem can be found here: http://sealedabstract.com/rants/why-mobile-web-apps-are-slow...
Nagging me to install the app before I've even seen the site is a sure way to get me to leave and never return.
If you simply must toss up one of those uber-annoying "Please install our app! PLEAAAAAAAAASE!" popovers, at least do me the courtesy of letting me look at a couple of pages on the site first. How am I supposed to know that I want your app when I haven't even seen your site?
Otherwise my answer is going to be not just "no" but "HELL, NO!"
The only app I installed on the Blackberry (my brief foray into smartphones...), was the independent app (newspaper), and I preferred accessing news through that than the website. A very simple interface that let me get to news quickly. I could even download the news up front over WIFI and then read it on the train without a data connection.
But then I don't want to have to download an app for every news outet. So you start thinking perhaps there should be a general news app and so on. One general app feels a little more managable.
No, most users are like you and wonder why every bank, florist, fast food chain, ISP has an app (that generally doesn’t do what you’d expect it to do). Even tailored Analytics solutions have apps. However, creating an app is not decided by those users directly: it’s a small and simple project by HN standards, one that most middle-to-large company has felt compelled to attempt to look cool, but it remains too difficult for most users who’d prefer synergies.
That's why I have (and alas, need) 15 airline apps, but actually would prefer to have only two that could handle everything much better: Kayak and Apple’s Passbook.
Indeed. But you could probably break these pages into app categories -- "things I read (flipboard, reader apps), things I look at (flickr, instagram), things I watch (youtube), etc."
I personally love apps that are stupid simple and stupid straightforward. You know, like melon ballers: they do precisely one thing, but they do it so incredibly well, you don't understand how you got along without one before.
I think I have more apps on my phone than I ever visited sites with it.
If I want to navigate on the web, I'll use a desktop. Only if I can't, and in that order, I'll try a laptop, tablet, or phone. The interface gets worse the more portable the device is, and at the phone extreme my usage is quite restricted to small apps, with few, to-the-point functionality or simple games.
That and the apparent insecurity, or my own personal lack of understanding of application security that puts me off of even owning something like an Android device. For now I'm more comfortable with web pages.
It's difficult enough managing bookmarks. I'd feel hemmed in with apps on a smartphone, if I had to order icons, select and install applications. I don't think I could be bothered.
Having said that it has pretty much always been about the software. If I was compelled enough, I'd take the rough with the smooth.
In my opinion mobile web is yet to arrive, we have just gotten HTML5 standards finalized only about an year ago.
While native has had roughly seven years lead when it comes to providing quality online experience, web apps can beat native easily. And no it's not that web apps or web development or talent for mobile web development is limited or is the bottleneck.
The bottleneck is usually the vendors and support of standards in the existing breed of mobile browsers that destroy the web experience.
For example, Apple introduced this shitty non-standard swipe gesture feature on iPhone Safari/iOS7 that breaks so many things:
The "HTML5 will catch up" argument is a common fallacy. It assumes native apps are standing still, when in fact they are moving rapidly forward. If anything, the gap continues to grow. The web isn't even in their cross-hairs, there's just so much effort for each native platform to keep surging ahead of the others.
If you think Android and iOS are "done", consider where they are headed and you can see they are barely getting started. Consider input such as speed, physical gestures, breathing, brain activity. All manner of form factors. Integration with the "real world" such as Nest and Square. Wearables, cars, home appliances ...
Whatever early-stage web APIs exist for these things are vastly, tragically, fragmented across the various HTML5 runtimes.
The "other web", that of HTTP and REST and JSON and cloud services, is a freaking wonder of engineering and a giant productivity boost to developers of any client. But the UI side of the web is continuing to trail for now. Competition among tablets and mobiles will help native apps as much as it will help the web.
I think what will happen is what happened on the desktop. There was a time when every application you wanted on the desktop had to be installed natively. This was because of the following reasons: web didn't exist yet, web existed but the tools sucked, web existed but networks were slow. Over time the networks got fast enough and the tools got good enough that the vast majority of applications could be built as a website. There are still cases where building a desktop application makes sense such as when performance is critical, but those cases are in the minority now. Building a website also has the distinct advantage that you only need to build it once and it works everywhere (mostly).
When it comes to mobile, I think we are in the "web exists and the tools are almost good enough but the networks suck" phase. When the mobile networks get fast enough, I suspect most applications will just be websites. Of course there will always be some applications that are built for native because of performance or they have some fancy touch-based interaction.
People said the same about terminal-based applications when windows came along. It just takes some imagination Do you really think Instagram and Twitter will be running on the same form factors and look+feel the same in 10 years?
Twitter and Instagram as photo-heavy apps could eventually support 3D models of the world, drone photography, wearables etc (Twitter already has a Glass app).
Same for their notifications - all sorts are possible on watches, speech, car dashboards.
And that's just assuming they stand still functionally.
As for CRUD apps, there's loads of innovation happening. Look at Amazon's new Dash device as one of many examples that change the interaction style from clicking on a web page to speech + real-world scanning. I'm guessing it's not powered by HTML5.
I see no reason why it wouldn't catch up. What makes a good UI on a native app? Fast responses and clean animations? Fancy transparency and 3D effects, perhaps. There's no reason a web browser couldn't do these things. Web UIs may always be slower than native but with fast enough processors it will eventually reach a point where you just wont notice the difference.
Nope, it has not. Remember, web apps were first on iPhone, before native third party apps. And that's not to mention "common" web.
Also, the roots of HTML5 go back to 2004 when whatwg was formed.
> when it comes to providing quality online experience,
> web apps can beat native easily.
You have no idea what you are talking about. Anyone speaking this: please, find a time and get familiar with native SDKs. You absolutely have no clue how far far far behind web tech for apps is. Just do not forget that being capable to do something does not imply that this capability if pleasant to work with, performant enough, or at all useable.
I lost my hope that web-tech-for-mobile will ever go past "which mvc framework to use" stage.
1. Pleasant to work with,
2. Performant enough,
3. Butter smooth usability
... with HTML5 and decent browser support (and significant effort of front-end developers no doubt) without having to download an app on your mobile. Native SDKs are important, I agree with you, but future isn't in them.
It really depends on what you want to do. If all you're interested in is presenting a static(-ish) web page with some "extra" interaction, then sure.
If you want to do anything that harnesses the hardware or computing capability of the device, or anything more complicated the most basic HTML-based UI, then native apps are the way to go. This is independent of whether we're talking about mobile or desktop.
Access to various hardware devices like the camera, speakers, sensors and the like are "basic" on mobile devices but for which there isn't any real way to access from HTML5 in a way that is useful or complete. It could be done, but then one runs into the performance/efficiency (in both development and end-user experience) issue again.
I'm of the view this is a lot of fuss about nothing. Big deal if people prefer apps over the "open" web. The reality is a large number of people use the likes of MSN and Yahoo as web home pages, and unless you were linked to from them they were unlikely to find you. The app launcher situation is an improvement over that.
The big problem is that dipping your toes into something via a website (assuming you don't hit an auth wall) is easier than finding then downloading an app.
Besides, a lot of these "web" apps are just things like Facebook or G+ which are no more open to scraping or any of the other supposed benefits of an open web than your average iOS or Android mobile clients are. The web has morphed into an unholy mix of the worst qualities of everything else.
It's not a scrapeability problem; it's a freedom problem. The article mentions this. Why should the app stores decide what can and cannot be on our phones, and why should they add a 30% tax on everything that is published on mobile? There are a lot of claims that the tech industry is disrupting the big music and books businesses, for the benefit of consumers, but these new players are acting like the middlemen they are replacing.
The web reduces the distance between content consumers and producers, cutting out the middleman. It's not a perfect solution. Standards are greatly influenced by commercial interests. But it's better than a locked-down app store oligopoly.
>Why should the app stores decide what can and cannot be on our phones
This is not a freedom problem. You have the freedom to buy an Android device, and you have the freedom to install any apk you want without ever even opening the Google app store. Moreover, Google even allows 3rd party app stores on their devices.
And of course these new players are acting as middlemen, but you are forgetting the fundamental difference, and this is what has changed the game. Anybody can publish their app, virtually for free. There are no gatekeepers, who decide what gets published and what doesn't, anymore.
There are no gatekeepers, who decide what gets published
and what doesn't, anymore.
Apple routinely rejects applications to their App store. Have you not read any of the numerous stories where app devs get denied?
This is not a freedom problem. You have the freedom to
buy an Android device, and you have the freedom to install
any apk you want without ever even opening the Google app
The freedom to do something like "install any app via .apk" may exist, but it is still a "freedom problem" when there's a large barrier to installing an .apk on your device. I'm speculating of course, but real world anecdotes would lead me to believe that a very small % of the population even knows what an APK is.
>Apple routinely rejects applications to their App store. Have you not read any of the numerous stories where app devs get denied?
Yes, I am aware. And yes, you are right. But the gatekeeping on the app stores has nothing to do with the music, movie or even book industry. Could they be more lenient? Yes, but you can't denied that the game has indeed changed.
>I'm speculating of course, but real world anecdotes would lead me to believe that a very small % of the population even knows what an APK is.
I would say that you are right again. And you are also right, maybe this is a debate about freedom, but personally, I don't consider having to go to settings, security and checking a box, a large barrier to freedom. If you actually seek freedom, it's only a few (acceptable) steps away.
Sure, you have the freedom to install any apps you want.
However, if I am starting a business, and most people don't know how to exercise that freedom to install an app from somewhere else, I am not going to get very far in my business if this is what is required for my end users to use my program. Therefore, I am not going to invest time in developing anything that requires that sort of installation, making it practically the same as not being able to do that at all.
Disagree. First of all, Google's practices aren't the norm, and might not remain the norm. Second of all, merely making and supporting your app multiple times for different platforms using their different visual / interaction idioms is a large economic effect. Even with cross-platform mobile frameworks, unless you decide not to test / support platforms other than your main one.
Standards are good because they bridge this gap. C runs on everything, e-mail runs on everything, the web runs on everything. Mobile web, for the most part, runs on everything.
edit: For the record, I do think that the mobile web standards need more work, but they're quite good at this point, and adoption is much better than 2 years ago. I'd like to see open standards for push notifications, for example (apparently there is some work done: http://www.w3.org/TR/push-api/).
i dont get why its considered hard to install an apk.. u download it and run it..and android will say u need to tick some box to install this and u do.. and then it installs.. people download and install windows software all the time, it works almost the same...
Apple and Google gets to act as middle men because their app store provides value to the end user.
Users are free to use the mobile browser on their phones but most of the time native apps are a better experience. And guess who develops the framework and tools to create these value-adding native apps.
But there's not an anti-trust situation with app stores: Apple, Microsoft and Google all maintain their own app stores. No, they don't let anyone else operate an app store on their mobile platform, but other companies are free to create their own mobile platforms if they don't like that. Apple and Google aren't doing anything illegal to stop other mobile platforms from existing; it's just that users really don't want another platform right now.
>But there's not an anti-trust situation with app stores
I am not saying that there are current or even future anti-trust issues with app stores. I was simply using that analogy to illustrate that the "free market" can move in a direction that is less free to an extent that is negative for consumers. This can happen because consumers are free to choose.
In other words, that anti-trust laws exist and have been employed to combat this is simply offered as evidence that the great-grandparent post above overlooks the fact that the free market can lead to reduced choice for consumers.
For any existng online platform that's already established itself on the web, you're probably seeing 50%+ of your traffic coming from Google and a big chunk of that will be mobile. Some of your userbase may be loyal enough to your brand to want to install your app but the rest will be lost if you don't have a decent mobile web presence.
Security could become a big factor in web vs native. For example, I don't trust the facebook native app. I've used both the web and native versions and the native version is smoother and better. But I don't trust facebook. There's a lot of personal information on mobile phones these days and I don't want facebook accessing that data. For me, using the web version is much safer.
And random apps on the app store from unknown developers? I trust those even less. I may install one if the list of permissions is very restricted and reasonable. But I don't like spending time looking at the permissions and trying to figure out if it's ok.
Another example is banking apps. I remember there was news a while ago that many banking apps were not handling passwords properly. If I use the web, I can see the SSL lock icon, inspect the certificate, and know that it's properly handled. I can't do that for a native app.
I also wish they'd have included a better breakdown than two annual data points. The 6% change is approximately a 10 minute differential which may be significant but may not be at all depending on historical data and the finer trends.
People are spending more time on mobile vs desktop:
And more of their mobile time using apps, not the web:
This is a worrisome trend for the web. Mobile is the future. What wins mobile, wins the Internet. Right now, apps are winning and the web is losing.
Moreover, there are signs that it will only get worse. Ask any web company and they will tell you that they value app users more than web users. This is why you see so many popups and banners on mobile websites that try to get you to download apps. It is also why so many mobile websites are broken. Resources are going to app development over web development. As the mobile web UX further deteriorates, the momentum toward apps will only increase.
The likely end state is the web becomes a niche product used for things like 1) trying a service before you download the app, 2) consuming long tail content (e.g. link to a niche blog from Twitter or Facebook feed).
This will hurt long-term innovation from a number of reasons:
1) Apps have a rich-get-richer dynamic that favors the status quo over new innovations. Popular apps get home screen placement, get used more, get ranked higher in app stores, make more money, can pay more for distribution, etc. The end state will probably be like cable TV – a few dominant channels/apps that sit on users’ home screens and everything else relegated to lower tiers or irrelevance.
2) Apps are heavily controlled by the dominant app stores owners, Apple and Google. Google and Apple control what apps are allowed to exist, how apps are built, what apps get promoted, and charge a 30% tax on revenues.
Most worrisome: they reject entire classes of apps without stated reasons or allowing for recourse (e.g. Apple has rejected all apps related to Bitcoin). The open architecture of the web led to an incredible era of experimentation. Many startups are controversial when they are first founded. What if AOL or some other central gatekeeper had controlled the web, and developers had to ask permission to create Google, Youtube, eBay, Paypal, Wikipedia, Twitter, Facebook, etc. Sadly, this is where we’re headed on mobile.
While performance is often cited as the main reason for having a native app, I think that one of the biggest reasons to prefer native apps is usability. More concretely I can see the following:
- A web app/site is often an app within an app. This means that what usually works as an interface to this device is no longer true, or rather different. The gestures are different, how the app is treating them is different and so on.
- On the performance side the web apps suffer from UI delivery problem - the site must deliver both the app it self and the data for which you use this app. A native app have to work with the data only, and its not restricted to be always connected with the web.
- Another reason is that although the same on the surface mobile is actually shifting our usage patterns. Our usage is far less consistent, more spaced out, under more conditions and with smaller screens. The native apps work well here because their components are thought out to work under these conditions and of course tested for this.
- Finally because of the usage patterns we see some native apps more versed to cover specific use cases. This differs from the mobile web which just have everything the normal web has, but tested to work on mobile.
Some of this points of course can be tackled by html5 wrapped web apps. But this approach comes with own set of limitations and problems - we are compromising on both openness and performance sides. So while I want the mobile web to work, for now I think that native apps are winning.
Your browser can cache a web app to be used offline. Plenty of Chrome apps are packaged this way. Firefox also has an option to do this, and Firefox OS can work without an internet connection. An HTML5 app is just source code obtained from a website that's run through a VM, and may or may not connect to a back-end (usually does though).
The problem isn't the web, it's how many web developers choose to use it. If you want to really know how powerful the web is, check out many of the WebGL demos and game demos out there...
Maybe it's because you don't typically see an "app" that is just completely unusable on your device.
When the vast majority of simple websites (not even applications) have terrible experiences on mobile web browsers, is it really any surprise that users prefer using an app that at least puts effort into being usable?
HN and at least 80% of the linked articles I read on my commute have terrible mobile interfaces.
I really don't see the "performance" argument. It's unlikely anything you build natively is going to compete with a browser's raw HTML/CSS performance. That's something they do incredibly well. And really, that's all a static blog needs to be. I don't need your comments. I don't need your ads. I don't need your HTTPS. I don't need your massively broken up application that requires a GET for every asset on the page (and the 20+ JS files you've decided not to package together, none of which is needed). I don't need your parallax effects, your hover/click listeners, your scroll events, your damn lightboxes, or your image rotators.
At the end of the day, I don't use the mobile web very much. It's not because mobile web sucks. It's because nearly everything on the mobile web sucks.
The web was originally a means to collaboratively publish helpful documentation stacks and research papers. It was and still is rooted in "document objects", not apps and certainly not monetization. To recoup the costs of authoring these help files, we have to rent out real estate in the margins.
Apps predated this model in more or less the same form we currently find them, with monetization inherent in the distribution model.
If native apps are dominating web pages in some medium e.g. portables and wearables, maybe that means the audience of that medium isn't inclined to create links or author documents, so isn't well served by the web model there. Specialized apps will tend to serve their specific needs better, especially if they can be monetized easily.
There will always be a place for the web, and for the dedicated app. "Web apps" were and are a bit of a hack, although often a very useful one. Creativity can be channeled into all of these media, and the barriers to entry are lowering for all of them. It's a great time to be online. As long as IP remains ubiquitous, I imagine there will always be a market outside of the AOLs, Apple Stores, Google Stores etc.
The problem is that the large majority of people, even the youth of today, are incredibly un-tech savvy. Unless your website or game is packaged into a simple app you just can't rely on people to visit it or even find it in the first place.
Yes, that's exactly the problem. Kids that are born in the 90ies and younger see computer "gadgets" as given. They don't try to play around with it and discover its functionality. They just play casual games on smartphones and video consoles. They hate computer science classes in school, etc. And as a result they are incredibly un-tech savvy. But it's also the elder generation (60+) that just bought their first computer device (smartphones/tablets).
I think this article is about web sites, but if you're a game developer, it feels like google and apple are actively trying to kill off the web option, or at least don't care about it. It's easy to find complaints about how audio is terrible in HTML5 on mobile devices, but its been that way for years. I still don't think you can play two sounds simultaneously on mobile safari (eg: background music and a sound effect).
Reality is that the mobile web experience currently is worse than native mobile apps. No matter how much you want "open", or how much faster your latest web-mobile framework is, right now people still prefer the app experience. That might change, but i suspect it will take some time.
5" or larger iphone may change US iphone users attitude on app vs web decision..On my tablet and 6" phablet I avoid apps as much as I can.. Since I disagree with you I'm curious of your smartphone size..
I want the mobile web to succeed as much as the next guy here, i am just talking about the general smartphone using population. But even for me, things like twitter/facebook/youtube are just a better experience in app form.
I sometimes wonder why is anyone surprised that a programmable hypertext medium has a worse UX than an OS-native general-purpose interactive UI stack when you try to implement general-purpose interactive apps?
The Web also bears the burden of having grown up in the desktop keyboard and mouse environment. It's going to be at least as hard to touchify the Web as it is to touchify Windows.
I fully appreciate the problem with not interoperable application and the large benefits of a fully URIed web; however, making progress in usability requires a flexibility that this scheme doesn’t match, hence the success not just of mobile apps, but Ajax before them -- success that occasionally went back to its origin and reassigned URI throughout (thank you GMail).
However, one thing is not true in what he says:
> Apps have a rich-get-richer dynamic
Yes, indeed, but so do websites; portalisation, or more simply the shear number of sites people visit spontaneously is not less than the number of apps they use regularly: three to five versus a dozen. There is a problem at the lower end of that spectrum: while the sites big enough overall to make an be maintained it are actually more common than apps that can do the same, users tend to spend an almost exclusive share their time in said ten-to-fifteen apps, and that challenges discoverability, i.e. the renewal of that class. That’s where the issue is, not in how many apps cover 80% of usage, or how many first letters people type before their browser auto-complete the rest.
(On that, I wonder how much the lack of success of Readability has to do with starting with the same letter as Reddit)
I think this is the price we pay for hewing to the party line of only permitting non-breaking incremental changes on the Web.
Would this still be the case if Web development wasn't a broken matrix of browser and OS versions powered by a language which people are constantly trying to paper over with abstractions? (Seriously, it's like a person you'd only have sex with as long as you'd put a paper bag over their head.)
That's the price to pay for having an open platform indeed. Several players, and none of them control the platform.
But that's the whole point of the web. If it was broken into 2 platforms, each fully controlled by a company, we would see quicker innovation. But then we'd have all the drawbacks of apps, so what's the point?
"This is why you see so many popups and banners on mobile websites
that try to get you to download apps. It is also why so many mobile
websites are broken."
Huh, is that surprising? They break their mobile sites and expect people to still use them more than apps? This is self fulfulling: if you make a sucky website, people will NOT use it. Make a wonderful mobile site and people will not care about your apps.
Also, as someone pointed out in the comments of the article, if you count video games in the "time spent in apps", then really it's the gaming consoles and devices that are losing out, not mobile websites, so the discrepancy between web and apps is overstated.
As always, look at the data for your own website/service before deciding which path to take.
Which is easier to code: a mobile app or a mobile website? The tools are much better for the mobile app and it is much easier to do cool stuff. Plus the testing time is much quicker. Path of least resistance and biggest wow.
We recently rewrote our mobile website to be a much more modern experience ( http://m.trulia.com ). Our ability to easily deploy and test ideas while behaving almost exactly like our iOS / Android apps is quite powerful. It's also added a lot to the value of a web visitor, which is important given the SEO nature of our content.
In general, I agree with the sentiment that the mobile web is only now getting it's feet under it. My main concern is that Apple/Google prefer app improvements over improving their browsers.
I just went to m.trulia.com on firefox on android on HTC One 4GLTE and got sent to the "Download our free app" (in orange button). When I clicked on Continue to mobile Site at the top (green), The site was dirt slow loading photos of a bunch of homes.
(granted, my network sucks where I am... but that's the point: bad network)
Discovery, usage, and feedback are all more polished in native apps rather than on mobile web. Mobile web is the wild west in terms of experience and more of a stepping stone until you get frustrated enough to download the app or ditch that service altogether if they don't have a native app. Mobile web has lost many of its benefits due to some very distinct reasons.
Lack a stable Internet connection? Native wins
Home screen apps vs Bookmarks in browser? Native wins
HTML5 offline storage should let a mobile-oriented site store a fair bit of data offline, to avoid having to go out and fetch everything anew all the time. It's just that few web developers design that way b/c we've all been spoiled by desktop users' broadband connections.
> Home screen apps vs Bookmarks in browser? Native wins
My Galaxy S3 lets me set bookmarks for sites on the home screen (and anywhere else in the launcher I would wish to).
> Ease of discovery? Native wins
Slogging through ten million clones in an app store counts as easy discovery? OK.
> Ideal user experience? Native wins
I'm not sure about that. We heard the same noise during the 2000s about how users were going to prefer "rich client" apps to in-browser apps, because the rich client apps would be able to respect their platform's native look and feel. And then it turned out that "I can access it from anywhere without installing anything" was something they cared about a lot more.
Those are all very fair points. Although devs and tech consumers may be able to accomplish these things, the typical consumer doesn't understand or care about these things. Dixon's article was focusing more on the end user side of things and it's very clear what the demand is.
I built a mobile web app that leveraged html 5 app cache so you could use it offline, and used metadata so that when put on the home screen it had a proper icon and when launched there was no browser chrome (on ios). It worked fine, and yet the guy who took over development ended up wrapping it. It made it easier to sell.
Open your phone and take note of the apps it has installed on it. How many of those apps are basics CRUD wrappers? Phones will only continue to get faster but these types of apps will stop pushing the envelope at some point. There's only so many fancy transparent swiping swooshing crap you can add to an app before you start to detract from the experience. At some point, mobile web apps will be just as performing as most native apps (we may already be there) at which point people will start to balk at the ridiculousness of having to write 3+ versions of the same damn CRUD app
As an app developer, I like this trend. More time on mobile and more time in apps. Both good things for me.
That being said, I think the more time in apps vs mobile web might be a bit misleading. How many apps out there have webviews taking you to the web for various reasons? I can only imagine this time is counted as app time for the graph in the article, but it's really web time for all intents and purposes.
And frankly, I think that this is a much better user experience in a lot of ways. the facebook native app is much better than the web version is and even really could be (at least at this point). Much of what happens in that app though is clicking on websites to random articles around the web, and that is done in a webview inside the app. I like the app over the website, and i definitely don't want it to kick me out to safari while I'm in the app. This is a good ux, but I think it skews the data in this article. How many other apps have similar functionality?
All that being said, I strongly prefer the experience of native apps over the web, but I'm only interested in using the app if it's something I'm going to use all the time. If I need your site 1 time ever, I'm not wasting time downloading the app. If I use it every day, I absolutely would rather have an app. For everyone saying "Hell no I don't want your app", I suspect the above is actually true for a significant majority of people. 1 time use people don't want app. Repeated use people do want app.
I think OP is living in a bubble. I don't use more than a few apps everyday, and I do almost 90% of my online reading in my desktop. I spend 8 hours a day in front of a computer at work. The only time I have to poke around with my smartphone is after work, and a hour of that is spent in a subway with no online connection.
I mean, I guess if you have FU money, don't work for the man, and travel to wherever you want with WiFi, sure, you probably spend more time poking with apps than you do in a desktop.
While I'd love to see web replace native apps, I don't see that happening in the near future. With the kind of innovation happening in the mobile space (iBeacon, Android Wear, Background Fetch etc.) it's probably impossible for the web to keep up.
But there is certainly a bubble in the app space which will bust sooner or later. Not sure what will be the next big thing though. Web does not seem like a candidate.
We are missing important metrics here. Mobile is getting more short intervals of usage. We are connecting more often throughout our day were we otherwise would not access a desktop. We need to consider the baseline of usage historically to project a more accurate vector of platform use. Are we just using the internet more in general? My bet is yes. This data is basically incomplete.
The web may or may not be in decline, but why worry about it? Clients that consume services (be it web browsers, or apps or whatever) have always been in a state of flux. The web was hot, now apps are, then something else will be, then something else after that, ad infinitum. It sucks for developers, but then again things have always kinda sucked for developers.
The key issue is that mobile apps tend to be task oriented. A lot of web companies (like FB) are not transitioning into app studios by breaking down a monolithic site into set of mobile apps that deliver a single feature/accomplish a single task.
If the open web were to be redefined along those lines, I dont see why users wont use that.
Agree in general. This is worrisome. However, (1) is most probably exaggerated. On mobile, you have an unbelievably broad selection, this will never become an oligopoly. But big players will get bigger. Anyway, Firefox OS may become a promising alternative, althought it comes with some of the same downsides.
"Web applications on the desktop are way ahead of where they used to be. In a few years, it'll be the same for mobile web apps... they'll catch up to the native performance."
But this always seems to overlook another question...
"Where will native desktop and mobile apps be in a few years?"
I have no doubt that mobile web apps will catch up to the performance of CURRENT native apps. However, I absolutely doubt they'll be up to par with the native standard of their time. Web apps progress, but so do native. Worse of all (best of all?) it puts users into the habit and comfort of native and makes the standard for web increase.
when you will be able to integrate web into mobile OS then we will be talking. Mobile just in a browser window is unexciting and cumbersome. Mobile Internet, I wouldn't call it so much the web but more like integrated experience can bring so much more to the mobile platform. but it would take another Apple with Steve Jobs to implement it(IMO). Basically it is unploughed field and investment need is of investment of epic proportion of research and monetary kind. The whole look and feel of mobile OSes has to change.
Mobile Internet is kind of boring when it is contrained to just one of little boxes on the screen, if mobile has access to OS services that would another thing.
One thing that I'm surprised hasn't been mentioned are app updates. Updating apps is a pain for the user and a bottleneck for devs. This alone seems like a compelling reason to choose mobile web over native.
Good: It might stop the rot of websites turning their whole site into a mobile version with fat-finger buttons and massive text, if websites become the means of interacting for people with real computers again.
Bad: Apps are a far bigger security risk, and prevent casual interaction (i.e. following a link onto something, then going somewhere else) - having an app means you're in a selfcontained site and are kept there until you close the app and open another.
There is a point here that many websites don't need an app, but have them as part of a fad.
However, on the flip side as wearable tech becomes more and more prevalent (think Google Glass, but also things like Jawbone), it make a lot of sense that more and more of our internet usage goes via these interfaces which are inherently non-web.
I've coded for google glass, and I don't think our internet usage will go via wearable things -- at least not ones like glass.
Information displayed needs to be understandable at a glance and relevant to the very here and now. Usable real estate is extremely limited in glass and interaction is limited to voice, simple gestures against the right frame, and GPS/accelerometer. So doing interaction with any amount of complexity gets frustrating and annoying very quickly.
I don't see why we have to put our users through the web, just because its easy for us to develop or deliver for it.
Consumers have taken to apps like never before. Asking them to regress is stupidity. Take the simplest case of loss of internet connection. Browsers and browser apps continue to be terrible when your million dollar "UX" is replaced with an irresponsible "Page cannot be displayed" and no concept of offline experience.
Fuck browsers and mobile web. Please let's not go back.
On my desktop it takes me five seconds to use. On my Android HTC One it takes me maybe five minutes to use.
If someone made an equivalent Android app, or a functional mobile web site of course I'd use it. Actually - I'm an Android programmer and could do it myself, but am busy with other things at the moment to do it singlehandedly.
That is just one web site. Many web sites I use are designed for the desktop, and work horribly on smartphones. No wonder people go running for apps when the functionality pops up in one.
They can use location information. And gyroscope and accelerometer.
The issue is that apps are diverting attention - otherwise mobile browsers might have implemented push notifications for pages by now. Firefox OS does it, and Safari on desktop has notifications. It's close, but no-one is shouting at the manufacturers to push it over the line.
Flowdock has a great web site that works great on mobile. Their Android app used to be a stinking POS. They then rewrote it to replace the Web View with native to get a different POS. If browsers just supported notifications I could use their web site rather than their app POS.
Companies care about user engagement, and that is driven by two major things: transactional notifications, and easy access. Apps provide both, while the web is a second class citizen on mobiles. Consider that web apps still cannot send In-App Notifications and can’t perform In-App Purchases. So, even if I do create a kick-ass web app, I would have to rely on — wait for it — SMS to deliver notifications to my users. I would have to rely on people manually typing in numbers in order to invite people, so viral spreading won’t be so great either. In short, even if we wanted to create a mobile web app instead — and we do — the ecosystem will select for the native apps in the long run.
And Apple, at least, is keeping things that way on purpose. Consider this dig at Google by the master himself, Steve Jobs — a few years ago:
He was saying “for some reason” but really the reasons for choosing apps over web are enabled largely by these platforms themselves. Because they are more locked-down, they won’t allow too much integration, and it’s harder to get web apps to catch on.
That said, three years ago I really became passionate about the problem of decentralizing the consumer internet again. We can see with git and other tools how distributed workflows are better in many ways than centralized ones. The internet was originally designed to be decentralized, with no single point of failure, but there’s a strong tendency for services to crop up and use network effects to amass lots of users. VC firms have a thesis to invest in such companies. While this is true, the future is in distributed computing, like WordPress for blogs or Git for version control.
Shameless plug: Qbix (my company) has been hard at work the last 3 years building an open, web-based platform that takes advantage of PhoneGap (Cordova) and emerging containers like MacGap and now WinJS! Write once, deploy anywhere, as a social app with contacts / roles / permissions / notifications / etc. working across all devices and integrated. So developers can focus on building the app and get best practices for virality and engagement (without annoying people) out of the box.
I wrote about this problem here (http://serv.github.io/blog/2014/02/20/unfortunate-state-of-m...). Mobile Web sucks because there's an incentive problem. No one really has strong incentive to make mobile web better. Performance issues are largely an effect of this root incentive problem. (edited from "cause" to "effect")
- Users have a strong preconceived notion that websites on mobile just suck compared to native apps.
- Management allocates less financial and developer resources into mobile web because users prefer native app strongly.
- Developers time and effort are stretched thin for web because management focus more on native app teams.
The mobile web will continue to lag behind native app for a while.
Your assessment seems to suggest this is a perception issue. But even the best mobile websites really are second-tier to solid (not even top tier) native apps. And as smartphones become more and more sophisticated sensor platforms, this will become even more problematic.
And as smartphones become more and more sophisticated sensor platforms, this will become even more problematic.
Not if mobile browsers keep up with these more sophisticated platforms. The problem (as the OP outlined) is that there are decreasing incentives people like Apple to keep improving their mobile browser. They hold the keys, and they want apps.
I agree that this is a significant factor in the problem, but it is far from the only one.
If you look at the Chrome APIs (that is the stuff Chrome apps get access to) there is neat stuff, and they are attacking it slowly enough that what APIs they produce are sane, and this is clearly what they see as the future. The problem is the world moves faster than that, and just as the web people are beginning to even grok mobile they're going to be smacked around the head by an absolute explosion of tiny devices.
"But existing hardware acceleration on mobile web isn't that bad."
Mobile users are extremely demanding, in my experience. They DEFINITELY notice the difference between web & native interfaces. When mobile is accounting for huge %s of traffic and revenue, its a hard sell to settle for good-enough for philosophical issues. Particularly when the competition isn't.
>But even the best mobile websites really are second-tier to solid (not even top tier) native apps.
This goes back to his original point , no one really has strong incentive to make mobile web performance better. The two primary gatekeepers (apple, google) are benefiting hugely from their app stores in terms of profit and pushing their agenda.
As a developer working in the "mobile web" sphere, the first notion is completely on point. In terms of usability, native will always overpower non-native avenues, creating smoother user experiences and a lot more "flash" in the UI tier that non-technical users associate with quality.
As Joe-user, would you use a severely underpowered web app or a smooth as butter with fancy transitions native one?
As long as that is the case, the "mobile web" as the main method of creating applications will always lag behind.
Another reason is that the OS itself has an incentive to push apps because they make so much money off them.
I hate the "walled garden" environment that's developed around mobile apps. That said, I think native apps are superior in some cases. You can use them offline, they typically get better performance, and they are top-level, right on your home screen, rather than having to go through a browser and search for them. There are some mild other advantages like being able to have alerts and other interactions with your OS, or getting rid of the browser UI clutter entirely.
I must be in the minority, but I don't have a problem with full-desktop sites on my mobile. In fact, my browser settings have "Request Desktop Site" as the default.
And, as mobile screen sizes and 4G availability increase, it seems that it would be less of a problem running full-site versions on mobiles going forward.
Maybe more of this issue will resolve as Apple moves to larger screen sizes, but I have always had the impression that mobile-sites were a stop-gap until higher-bandwidth and larger screens became the norm. Reminds me of the short-lived WAP standard before smartphones became de rigueur.