Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Let's take the Facebook application as an example. Why did they develop an application when the users could just access to their page and do the same? For me that represents more maintenance and more cost because for each feature added to the web application that feature will have to be added to the smartphone application as well.

So why would I want to develop more than once (for each patform iOS, Android, etc) when I could just have one web application? What benefits do I get? The only one that comes to my mind is GPS feature.

EDIT:

My question is more oriented towards business applications that are going to be used only by some members of the company, it's not about selling the application (private use). So contrary to what some answers say about that by developing as a smartphone application it will benefit from more sells because of the "smartphone stores" for me this point is not important because the application is for private use.

By developing the application as a web application it means that it can be accessed through smartphone browser and also in a PC (any capable browser), but developing as a native application would limit this to only some kind of smartphone so we would be limiting the use. On the other hand developing it as a web application means that in order to access the application an Internet connection must be available.

So keeping this in mind how would you convince your boss to write the application for a given smartphone platform (iOS/Android) vs developing it as a web application?

share|improve this question
1  
I am guessing that a complete application gives more control to the developers about how the mobile device will interact with their service. It might also give better UI experiences. –  FrustratedWithFormsDesigner Jan 23 '12 at 21:48
2  
A better UI experience, faster access to FB's service too. –  Omega Jan 23 '12 at 21:52
1  
Digital Rights Management is another one. For example, content streamers like NetFlix use apps to handle this. –  jfrankcarr Jan 23 '12 at 22:55
2  
Here is a Google IO talk about this: youtube.com/watch?v=4f2Zky_YyyQ –  Daniel Fekete Jan 24 '12 at 6:59
    
We are doing both, developing a web app using jquery, and providing a specific mobile interface using jquery mobile, and forwarding the request to appropriate interface. Best of all worlds imho. –  NimChimpsky Feb 23 '12 at 13:04
show 1 more comment

12 Answers

up vote 28 down vote accepted
+50

There are several advantages of creating a native app:

  1. Better control over the UI experience - the mobile web developer would either need to recreate or use frameworks that emulate native UI artifacts
  2. Access to platform APIs that might not be available to web apps - this is currently the biggest advantage for native apps
  3. Potentially lower network usage at runtime - the native app would only need to access the network for data, while the web app might need to completely load at run-time.

As you've noted, developers native apps do have the disadvantage of building and maintaining apps for multiple platforms. This factor might not be a significant disadvantage if the developer is focused on only one platform.

Some discussions in blogs that you might be interested in reading:

share|improve this answer
2  
Re: point 3. With html5 appcache a web app loads its code from a local cache. You can use this even for web apps that are always online. It's a bit painful to implement in a web app, but it's supported pretty well across devices: caniuse.com/#feat=offline-apps –  Joeri Sebrechts Feb 20 '12 at 15:00
add comment

I am going to argue in favour of web-apps.

In the other examples given, they always point to Facebook. A brand that is completely ubiquitous has no need to worry about user buy-in, and can convice platforms to bundle their app.

Not so with startups or relative unknowns. Being surfaced on the app store is far more difficult than on the web via a simple search.

Let's talk about UI. People are rolling out the argument that UI is better on a native app but that is unjustified. A web app can look exactly like a native app. Loading times might be a little slower, and this is relevant to UI, but so is findability, where web apps win.

Native apps are not structured to allow links to their content. So you are preventing users from linking to content in blogs, emails, and social media. How is that usable?

And then commenters point to offline storage. Does the Facebook app work offline?

Of course there will always be business cases for native apps in some circumstances. But unless your payment model benefits from charging for the app, or you need specific functionality like access to camera API, a web app is going to be better.

share|improve this answer
add comment

It depends on your circumstances!

Web applications are currently unable to access many of the phone's features (camera, accelerometer, etc). PhoneGap might suffice; it lets you build a web application, then create device-specific deployable versions. Still, it isn't a perfect replacement for a native application.

On the other hand, you might be able to quickly create a web application that your customers can start using immediately. Or you might not need any of those nifty phone features. If you're trying to be first to market, a web application can be a great way to start gaining customers NOW. It might buy you some breathing room to work on those killer ios and android apps. Even after you do create the native apps, I would be good to allow your other customers to access you via blackberry, windows, and other types of mobiles with browsers.

share|improve this answer
add comment

Web apps are the way I'd recommend going. There are frameworks that can help a lot, like jQuery Mobile. Plus, many of the features others are describing here are available to a web app. Familiarize yourself with a few of these "HTML5" specs:

More and more features are being made available through JavaScript on more recent mobile browsers, so I've found the reasons for a native app to be less and less compelling.

The main reason I can still think you'd want to make a native app is that it's possibly easier to monetize it through the various platforms' app stores.

share|improve this answer
add comment

Considering your constraints (private business application, for usage by some members of the company), I say you have two main approaches to convince your boss to develop a mobile application vs web application:

1) A mobile version could be more suitable for your case, given the possibility to do some work offline, GPS capabilities to know your location, ability to work from home, public transports or anywhere (people carry their smartphone much more often than their laptop). I know this goes in line with many of the comments already put here, but without knowing the actual business application you are talking about, it pretty much comes down to this: either a mobile version has the potential to be much more practical to use, in order to counterbalance the fact that you are spending resources on a more restricted platform, or it does not.

2) Is the company any interested in future mobile developments? If yes, then by developing an internal mobile application you give the employees more experience, get them to try new technologies, and another tool gets added to the company with the potential to generate revenue. All in the relative "safe" environment of a simple, but useful internal application, that will be used by some people within the company, which will also provide their comments and feedback.

So to summarize: you have to demonstrate that a mobile version will generate more revenue, either in short term, by making the employees that will use the application more efficient and flexible, or in longer terms, by giving employees a new/broader knowledge that has possibilities for the future (or possibly, both). It will also depend on how good is the company at the moment, how much money they are making, and how much experienced people do you have available that could develop it in an acceptable time.

Hope it helps :). I know it is all very subjective, but it is hard to provide more reasons without some concrete application/domain.

share|improve this answer
add comment

Biggest benefit of Smartphone application verses web based application is offline functionality. Depending on how the app is written you can still get work done regardless of web connection.

If a Smartphone app needs to report events to a web service, it can always queue them up, then sync the next time the app has access to the web.

There have been many times I've needed information when web was not available. The apps that shine are those that don't rely on the web.

share|improve this answer
add comment

I'm going to expand on Chris's excellent answer by mentioning another important aspect from the businessman's point of view. Market Appeal. Think about it for a moment. You've just acquired your latest trendy gadget (smart phone, tablet, whatever), and you want to fill it with lots of interesting apps and gadgets which appeal to you. You're an avid social media user, but you don't like how slow the browser on you phone renders the pages, or you are getting really geeky and looking into issues such as battery monitoring etc. You wan't to use your facebook, or google without needing the browser, and you don't like how small the links are on the screen which cause you to keep bringing up the wrong pages. Would you rather have an application purposely built for your device, or keep using your phones browser?

Big companies like facebook and Google know there user demographic very well, and they know the appeal and hype that are likely to be generated around the release of apps for mobile devices. They create purpose built apps because they can afford to do so, and because it will result in a viral hype that will be worth more to the company than the money actually invested in creating these apps.

From a technical point of view, you also need to consider usability. Web pages work well in an environment where a user has fine control over where the pointer is positioned. when you are clicking on hyperlinks, you don't want to click on the wrong one, because it wastes your time. I've lost count of the number of times I found myself swearing at my bank for not providing a nice and easy to use app for my phone and leaving me to use a web interface. The paradigms not gel well between a touch interface, and a web page. This may be because the web hasn't yet caught up to the new generation of touch devices that have become available over the last 5 years. It might also be because the technical obstacles are quite large. Whatever the reason it becomes clear in your first 5 minutes that allow you to swipe, touch, and access menus without losing valuable screen real estate, you will instantly be happier with a dedicated app than with a web interface.

This situation may possibly change as developers become more adept at implementing clever HTML5 interfaces, but for now it makes a lot of sense to duplicate your GUI efforts to a certain degree, or risk potentially alienating a part of your target demographic.

share|improve this answer
add comment

Downloading on a mobile device consumes battery power. A web app has to download both presentation code (HTML5,CSS,JavaScript,etc.) as well as the content that the user wants to see. A native app only needs to down the user's desired content, thus being faster and more conservative of the users data allotment and battery life.

A native app may also require less layers of interpretive software, and use the native UI controls more directly, thus providing a more responsive user experience. New UI features are often added directly to the native OS before they are made available (if ever) to the web browser.

Native apps have been reviewed by Apple, and are thus regarded as safer than web site URLs by some users. Many users are also used to discovering apps and spending money shopping in the devices App store. Thus, many users are biased towards native apps, possibly for the above reasons in general, even if none apply to your particular web site.

share|improve this answer
    
Ever heard of caching? Most css, html5, .js files are downloaded just once and can remain cached for months. Every time a WebApp is patched or upgraded the whole thing needs downloading again which probably consumes more resources than a browser refresh. –  James Anderson Jan 24 '12 at 4:32
add comment

Two main reasons.

You can scoop up some money from the AppStore, many apps out there could easily have been developed as plain WebSites but its harder to make money that way. Even a free app can generate income from advertising.

You can put an "In Your Face" icon on the users "home" screen. So much better than a web page bookmark hidden three or four finger pokes from the user's home screen.

Technically the only reason for preferring an App to a Web Page is if you require a reasonable amount of data to be stored locally on the device, or, the app can actually function stand-alone without a network connection.

share|improve this answer
    
Under iOS, web apps can potentially be designed to be run offline after being downloaded ("clipped"). –  hotpaw2 Jan 24 '12 at 3:02
add comment

Probably the most important reason is mind share. What almost every internet company wants is for your mind to be tuned in to their product. And one way to build mind share is to make access to the content as easy as possible. How do the two delivery mechanisms compare?

Mobile Web Application:

  1. User Thinks "I want to go to Facebook"
  2. User clicks on "Internet"
  3. User clicks address bar
  4. User types "facebook.com"

Native App:

  1. User looks at applications installed, and sees Facebook!
  2. User clicks Facebook!

Not only is it easier for a user to use an application, but every time they look at their applications they will see Facebook just one click away. They don't even have to think "I want to go to Facebook".

That is how you build mind share.

share|improve this answer
1  
I think on most platforms you can pin a link to a web page/ web app to the home screen. Cicking this link would therefore be just as much effort as clicking a native app's icon (if the user knows how to pin links to the home screen that is). –  PersonalNexus Jan 24 '12 at 5:51
3  
@PersonalNexus Although true, this again requires relatively more sophistication and intent form the user. I had to explore a bit before I found that functionality (on my Android). –  Chris Pitman Jan 24 '12 at 15:00
1  
doesn't your example, facebook, proof the opposite. they had "mindshare" before smart phones were ubiquitious. –  NimChimpsky Feb 23 '12 at 13:02
    
@NimChimpsky On the desktop, but on mobile Facebook is completely pushed by applications, whether it is an aggregator that comes preloaded or the actual Facebook application. I'm not saying that this is the onl way to build mind share, simply one of the most effective ways for smart phones. –  Chris Pitman Feb 23 '12 at 13:42
add comment

From a technical point of view, there are possible restrictions on what a web app can do, verses a installed app. One great example of this is the fact you can't upload using the <input type="file"> with an iPhone.

The benefits are the same as having to build an app for different desktop operating systems, in that there aren't many, which is why the world of web applications got so much traction in the first place. Unfortunately the current state of mobile browsers means that we are stuck with installed apps for the moment.

As mentioned in Ryathal's answer there are business reasons for doing it, such as free marketing and buzz around your new cool app.

share|improve this answer
add comment

Smart phones are different from normal PCs. The screen size and touchscreen make traditional webpages much more difficult to use. By creating an app for phones a better experience can be delivered to the user.

Creating an app also allows for more information to be gathered on number of active users, and information about users. This provides ways to better target advertising and more ways to advertise (I can't remember if there are adds in the FB app, but I assume there must be). An App is also really cheap advertising for a company like Facebook, a couple months of developer time is nothing compared to a guarantee that millions of people see your app in the app store.

Most data that has been released about smartphone apps has shown that most people are extremely willing to download almost anything from an app store as well, compared to downloading things from the internet to their PC, so creating an app is an effective advertising strategy and revenue generator.

share|improve this answer
2  
The screen size and touchscreen make traditional webpages much more difficult to use. By creating an app for phones a better experience can be delivered to the user. What about the trade-offs and benefits between a mobile-device-optimized website versus a mobile app? I agree with your assessment of website versus mobile app, but what's your take on mobile-optimized websites designed for Android, iPhone, and other devices? –  Thomas Owens Jan 23 '12 at 22:05
    
@ThomasOwens - And you have to consider tablet vs. smartphone as well. Few things annoy my wife more when she's using her Android tablet than being forced into a dumbed down mobile site. –  jfrankcarr Jan 23 '12 at 22:37
    
@jfrankcarr Another valid point. Although I would suspect a tablet is more like a phone than a computer, being touch-based instead of keyboard/mouse-based. There are differences with the larger screen, though. –  Thomas Owens Jan 23 '12 at 22:39
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.