Mobile applications: Browser based or Native or Hybrid?

In the late 1990s, and also during the initial few years in the last decade, developers (and users as well) were confused. If they needed a solution, say an invoice management system, how did they get it?  Two choices – (1) An installable PC based software or (2) a Web application. (By the way, why don’t we ever call it Web software??? – that’s what it is!). Web applications (AKA Web software) was the unpopular choice for a few reasons – among them, Bandwidth limitations and a general insecurity about how safe using a software on the internet would be.

But as the years passed by, the requirements too changed. When people started working collaboratively, (which was made much easier with the internet and with bandwidth growth) people slowly started moving into web based applications. Web-based Emails are possibly the first web applications we used. Software companies started developing cross-browser compatible web applications. At a point, We stopped application development with Visual Basic and started focusing only on ASP and then ASP.NET. Now Web 2.0 has changed the perspective of ’software’ totally. And Hybrid applications became possible with APIs etc.

Likewise, in Mobile development, there are two ways to create  applications. (1) Mobile browser-based applications – which are websites optimized for Mobile browsers and (2) Installable (or Native) Mobile applications.

They both have advantages and disadvantages.

Why Mobile Browser based applications and why not?

Mobile Brower based applications are slow due to the bandwidth limitations and will eat up your data usage on your phone plan. Also, the user needs to remember the URLs and type it, which every cell phone user knows is just plain  hard. One advantage is that the development cost is low since the developer only needs to consider how to make it compatible with most mobile browsers, and not each type of cell phone. Also, now that many Mobile browsers support HTML and smartphones come with bigger screens to see full sized websites, and users can zoom in and out. We have keyboards too to manage this. But, if you want to browse websites, you can do that in your tiny Netbook, which you always carry with you, right?

So, in short: The advantage of a mobile browser based application is the low development cost, and the disadvantage is the bandwidth limitations and the limitations of Mobile websites, which does not access your Phone’s components like your Address book, Camera, etc.
Mobile Brower based applications are slow due to the bandwidth limitations and will eat up your data usage on your phone plan. Also, the user needs to remember the URLs and type it, which every cell phone user knows is just plain  hard. One advantage is that the development cost is low since the developer only needs to consider how to make it compatible with most mobile browsers, and not each type of cell phone. Also, now that many Mobile browsers support HTML and smartphones come with bigger screens to see full sized websites, and users can zoom in and out. We have keyboards too to manage this. But, if you want to browse websites, you can do that in your tiny Netbook, which you always carry with you, right?

So, in short: The advantage of a mobile browser based application is the low development cost, and the disadvantage is the bandwidth limitations and the limitations of Mobile websites, which does not access your Phone’s components like your Address book, Camera, etc.

Why Native mobile applications and why not?
Native (installable) applications reside in your cell phone, and you  launch it directly from there, with whatever search parameters  are stored within your mobile (Eg. The names of the 50 states in the USA, your favorite locations, daily weather, etc). Except for free text search, all of  the search parameters can be stored in the mobile – OR they can be updated just one time.  The communication between the Data/Web server and the mobile phone could be drastically reduced. An application like a stock portfolio can be created within your Phone and stored. Every day you just need to update the stock prices. You need not download the entire portfolio each day. Also, the application resides on the phone, and can access your phone’s features such as your camera, phone book /contacts, etc.

It has also quickly become clear that another  hidden advantage of native applications is brand loyalty. If a customer installs a mobile application which you supply, he or she will rely on your application and trust it. For Example, I use Viigo for regular information updates (News, weather, etc) but a site called Justdial.com or Google local for local address research. If Justdial comes with a Blackberry solution, they captured me as their user.

The disadvantage is obviously the development cost. No two mobile platforms can share the same mobile application, and there are too many Mobile operating systems (or platforms) existing in the market. If you develop a mobile application to market it widely, you need to develop that in J2ME (for phones that support only Java with no loaded OS), Symbian, Mac iPhone, Android, RIM, WebOS( for Palm pre), LinMo and Windows mobile. Though J2ME (or Java ME) is widely used, it has  severe graphic limitations, and I am sure it won’t be pretty  in my Blackberry Bold! If a developer does not have expertise in more than one technology, then you need to use various mobile developers, and finding them all under one roof would be difficult.

So, in short: The advantage of native mobile applications is quick access and fewer data transaction, and the disadvantage is the cost of development.

Hybrid mobile applications?

No, “Hybrid” applications are not ways of  ‘going Green’ or developing applications to be ‘environment-friendly!’ 🙂

They are Applications that use BOTH browser interfaces and native mobile components. With HTML5 and JavaScripts, now the browsers are becoming capable of accessing a phone’s built-in features like contacts, camera etc. We started developing applications using PhoneGap and I believe solutions like this should, hence the name, fill in this gap.  Platform free mobile solutions are what we need now and the gap between the browser based applications and native mobile applications is getting narrower.

Finally, what would be the disadvantages of  hybrid mobile applications? Two things come to my mind…(1) Application security, and (2) the learning curve for the developers. Mobile developers need to know HTML and Web developers need to know mobile phone APIs. Right? Let us see how these obstacles are overcome.

Proofreading courtesy: Anthony Passeri, NYC Data Systems. USA
  • 3itservices.com

    its requirement of future