This is a really common reason to want users to have a native app, but the question is – do users actually want alerts for this product? And if so, how many? For example news apps – they could sent an alert for every new story but that would be excessive! It’s important to be selective.
If the app overloads on notifications, users have a choice between turning off notifications for that application, or removing it. Removing it takes fewer taps.
This is the only option that isn’t available (at all) in a web-app.
Offline experience natively is really pretty easy. In the browser, much much harder. If offline is important (the biggest place I notice the lack of offline is my RSS reader, which renders it basically unusable on the tube) it usually makes sense to go native, depending on the complexity of your application and how much needs to be reimplemented.
One-off location is obtainable through the browser, but anything that requires more than that, e.g. ongoing location, or location-based alerts, needs to be native.
Uber is a good example of this.
You can upload pictures through the browser (as of iOS 6), but it’s hard to imagine Instagram succeeding quite as much with a webapp. If images are an important part of the experience, the image selection and picture taking experience is much nicer from a native app.
Background audio requires that the app be native (with some limited exceptions), if your app uses a lot of audio, for example museum apps are very audio heavy, a native one will be able to be played in the background with the screen off (screen is a major battery drain), whereas this is not the case with the mobile web.
I prefer native apps – to build, and to use. They are faster, more convenient, better at saving state. But, I only want them for things that I use a lot, or have a short period of high usage – museum or conference apps are good examples of this. I don’t tend to download them unless I’m on wifi.
Heathrow Airport now has a native app. Which I have taken to be a sign that we have reached Peak App – I spend a lot of time at airports, but I can’t fathom wanting such a thing.
There seems to be a knee-jerk reaction sometimes that “going mobile” means “build a native app”, but I don’t think this is true. The mobile web is one option, but I think more broadly, sharing and other social apps are also part of it. People are tasked focused in the use on mobile. By which I mean, they’ll think “I should find somewhere to eat”, or “I need to check my flight time” rather than “I want to explore everything that is going on at this airport”.
Restaurants, for example, as people check reviews, and menus on the go. Personally I rarely go anywhere below an 7.5 rating on Foursquare (exceptions are usually personal recommendations). This is part of how mobile affects the restaurant business, but is the answer for each restaurant to have a native app? No, that is clearly ridiculous (although one chain does have one), the answer is about making sure that information about the restaurant is in the existing apps that users use to discover and decide where to eat.