When it comes to smartphone application development one of the first questions you need to ask is how your going to code it – as a native app or HTML web-app.
This article will summarise the options giving a preview of what they can offer you.
Smartphone Native App
Native apps are designed platform specific and therefore require you to know their native coding – such as Objective-C and Cocoa Touch.
Benefits:
- Available offline
- Fast response when operating the user interface
- Richer user experience, e.g. animation and presentation
- Access to local hardware, such as camera, accelerometer
- A sense of ownership – users get to select, install and see an icon for your app on their phone
- Performance – the overhead of running HTML and javascript can make the experience sluggy
Limitations:
- Requires an understanding of the native coding – this skill-set may not be available in house and could be difficult to find locally
- Future development of the app will also be limited by the skill-set you have available to work with the native coding
- A different app will need to be developed for each platform – a costly and time consuming task
- Costs – there are costs associated with adding your app to a mobile market. For example the Apple Market is around $USD 99 a year, and the android is $USD 25 (one off membership, unlimited apps).
Smartphone Web App / Mobile enabled website
Also know as ‘mobile web’ or ‘mobile enabled websites’ these are websites specifically designed for mobile use.
They usually offer the same information and services as an existing website (although sometimes limited by the screen size) but most importantly have been optimised for small screen devices and finger touch operation (for example using large buttons and clickable areas).
For most businesses the huge advantage with this option is you can take an existing website – complete with the coding, design and infrastructure and reshape it for the additional purpose of targeting mobile phone users.
Benefits:
- Works cross-platform on all smartphones
- Easy to roll-out new versions – just upgrade the source code on your infrastructure
- Can be developed using HTML and JavaScript – which is both easy to learn and a common skill-set
- Can ran on existing infrastructure (such as an existing website)
- Cost – no need to publicise on an app market
Limitations:
- Requires an Internet connection – users are unable to install and access your information or services offline
- Only accessible by visit a website – the user does not get an icon installed to their phone
Smartphone Hybrid App – the best of both worlds?
Recent advances in mobile phone development has allowed for a hybrid of a native app and web app.
For example, PhoneGap which allows you to build an app in HTML and then ‘port’ it to multiple phone platforms. In addition to this there are frameworks available to simplify the development of the graphical user interface, such as iUI, XUI, Sencha Touch and JQuery Mobile.
Benefits:
- Works cross-platform on all smartphones
- A sense of ownership – users get to select, install and see an icon for your app on their phone
- Developed using HTML and JavaScript – which is both easy to learn and a common skill-set
- Like a native app, can be available offline or stream content from the Internet when available
Limitations:
- Not suited to complicated applications, such as games – although advances are being made with HTML5 which may make this a thing of the past!
- Performance can be an issue depending on coding. For example when launching a PhoneGap app there is a delay of a few seconds before it is displayed on the screen. This can be worked around by adding a ‘loading’ spashscreen.
- Costs – there are costs associated with adding your app to a mobile market. For example the Apple Market is around $USD 99 a year, and the android is $USD 25 (one off membership, unlimited apps).
Still not convinced? See http://phonegap.com/apps for examples of what has been done using PhoneGap.
Conclusion
Before making the decision the value for the user must be made clear. You may even require a combination of the solutions, such as developing a native app and offering a mobile enabled view of your existing website.
In addition to this you will need to consider
- Total cost of ownership – including ongoing maintenance, future upgrades and ‘app store’ fees
- Skill set availability – do you have the skills available in house
- Development time – if you need to make the app available cross-platform it may take longer to make an native app
The technology behind hybrid apps is very exciting, allowing people with knowledge of simple HTML and javascript to create mobile apps cross-platform.
For the purposes of most businesses my favourite solution is two-part, a combination of a hybrid app built using PhoneGap and HTML5 in addition to mobile-enabling their website.