The PIT
Röster från ITM-koncernen.

What to choose - a native app or a web app?

March 19, 2010 17:19 by David Woxberg

 

Ita Grossman and David Woxberg from ITM Mobile held a lecture about native apps and mobile web apps in Kista Mobile Showcase on March 19 2010. Östen Mäkitalo was in the audience.
PHOTO: Ita Grossman


The fundamental problem of mobile development is called device fragmentation. As one lecturer has put it, “Fragmentation is the inability to ‘write once and run anywhere’.“ 

In a nutshell, device fragmentation means that the mobile market is very disintegrated. And this fact makes it impossible to develop a single mobile application that runs on every mobile phone that exists. Let me give you a few examples:

There are many different companies who create cell phones: Nokia, HTC, Sony Ericsson.

And so on, and so on.

In turn, the companies who create cell phones create different models that differ from each other in many ways. Some phones have touch interfaces but others do not. Some phones have large screens but others do not. Some cell phones are well suited for social media services but others are not.

And so on, and so on.

It is not only the hardware specs that differ between different mobile phones. Another thing that differs is the operating system, or software, that the different cell phones use. Phones from Nokia run on Symbian, phones from HTC run on Windows Mobile and Android.

And so on, and so on.

There are also large differences when it comes to support for virtual machines. Most of the cell phones today allow users to install applications that have been built in Java Micro Edition. But this is impossible on some of the newest and most powerful cell phones, including the iPhone.

I could go on and on about this, but everything can be summed up in one sentence: There are no standards, and since there are no standards, it is impossible develop a mobile app that works everywhere. If I write a Symbian app, it won't work on the iPhone. If i write a Windows mobile app, it won't work on Android. If I write an application in Java Micro Edition, it will work on my K800, but not on the iPhone.

If you want your app to work on both iPhone and a Sony Ericsson cell phone, you need to develop one version for the iPhone and one version for the Sony Ericsson cell phone.

So what to do? Well, you can either wait patiently for the manufacturers to create a standard platform for creating mobile applications. Or, you can make the best out of the situation. At ITmaskinen, we have chosen to do the latter. There are a few alternatives that work reasonably well.

Native applications

The first alternative is to build a native application for a specific phone, or platform, such as the iPhone or Android. A native application is a program which is installed on the phone, similar to Word and Excel on the desktop.

By building your program for a specific phone, such as the iPhone, you don’t have to spend endless amounts of time recoding your app for other phones. You can also optimize the experience for those who use the phone or platform, instead of delivering a half-decent experience to a larger audience.

You should choose this approach if your application requires access to specific hardware functionality, such as Bluetooth access. It is generally harder to access hardware functionality if you choose not to create a native application, even though there are exceptions.

Native applications are also preferable if you want to create advanced games or applications that rely heavily on 3D functionality.

You should also use this approach if you don’t want your application to be dependent on Internet access in order to work. A native application can be built to function at any time, regardless of whether the user has 3G service or access to a wireless Internet connection.

By choosing this approach, you can offer your application for sale or for free on one of the many mobile application stores, such as Windows Marketplace for Mobile and the App Store.

Of course, once you have built an application for a specific platform, such as the iPhone, it can be recoded to work on other platforms. But if you are going to create multiple apps to support multiple platforms, you also multiply your costs. It is possible to do it, but it is expensive.

Mobile web sites

Let’s look at the second option. If it is important for you to reach as many mobile phones as possible for a relatively low cost – despite the hurdles and obstacles – there is only one workable platform: the browser. Despite device fragmentation, the vast majority of mobile phones do have a web browser. This is your window of opportunity.

By creating a mobile web site, you increase your reach.

It is also important to note that some mobile web browsers are really powerful. For example, the iPhone and Android support HTML5 and CSS3 which makes it possible to create animation, advanced user interfaces and lots of other neat things.

For example, it is possible to build an iPhone optimized web site which looks and behaves just like a real application. These types of web sites are called web apps, but they are essentially web sites.

The downside of building a mobile web application is that device fragmentation applies to browsers as well. Different browsers on different cell phones support different things. Some browsers support flash but others don’t. Some browsers support HTML5 but others don’t - and so on, and so on.

Another downside is that the user needs to have Internet access in order to use a mobile web site. Granted, it is possible to circumvent this by using local database storage, but this only works on some cell phones (such as the iPhone).

Wrapped mobile web sites

There is a third alternative that combines the power of native apps with the reach of the mobile web sites. We call this “Wrapped mobile web sites”. This means that you create a native application that contains an internal web browser. The web browser, in turn, opens up a mobile web site. The application is basically a wrapper for the mobile web site.

The benefits of this approach are many.

First of all, you can distribute your application through various mobile application stores. Second of all, it is easy to recode wrapped mobile web sites. Most of the work goes into creating the mobile web site. And this web site can be coded in such a way that it is supported by a wide range of browsers from scratch. So the only thing you need to do in order to port the application is to create new wrapper applications for new platforms.

The same web site can be wrapped in an iPhone application and an Android application. Same site, different wrappers.

This is the most cost-effective way we know when it comes to creating multiple applications with the same content. In addition, the mobile web site can be accessed by cell phone users who have not installed your application. It is more convenient to access it through an application but it is completely possible to surf to the mobile web site.

What to choose?

We have outlined three alternatives for you. So what should you choose?

1) Choose a native application if you have tough software and hardware requirements. If your solution needs to have advanced 3D graphics or advanced hardware access, such as Bluetooth support, or if you need it to work without an Internet connection, choose a native application for a specific device, such as the iPhone.

2) Choose a web application if you want your solution to be accessible on as many mobile platforms as possible to as low a cost as possible.

3) Choose a wrapped mobile web site if you want your solution to be accessible on as many mobile platforms as possible – and if you are willing to spend more money than would be required to create a mobile web site without wrapper applications.

MINT

MINT is a brand new service which we’re launching next week on Microsoft’s tech conference - TechDays 2010.

MINT is a web-based mobile service which makes it easier for event visitors to connect with each other.

The purpose of MINT is to make it easier for the users to expand their networks and create new business opportunities. This service is a suitable tool for attendees, exhibitors and organizers. The users get access to MINT through personal e-mails and SMS messages. MINT contains a series of functions that make it easier for the users to engage, meet new people and find their way around large meetings.

The functions include:

• Auto match. The user creates a profile by providing personal information. Afterwards, the profile is compared with other profiles in order to find people who share the user’s interests. When this process is complete, the user can view a list which contains names of like-minded people. The user can send and receive messages and also add like-minded people to his or her personal contact list.

• Personal agenda. The user can populate his or her personal agenda with seminars that he or she plans to visit.

• Maps. The user can look at maps to find his or her way around the event.

MINT is specifically made for modern phones with touch interfaces, such as Android and iPhone. It also works on other phones, but it is primarily suited for modern phones. We chose to create MINT as a mobile web site because it was important for us to make it available for several mobile phones at the same time. The easiest and fastest way to do this was to create a mobile web site. We chose not to create wrapper applications for MINT because of the time it would take to maintain and upgrade the wrapper applications. We plan on upgrading MINT with new functionality in the future.

We believe strongly in this service and we look forward to launching it next week. 


Tags:
Categories:
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed