The Archives

SEARCH

Search

Our details:

Openhanced
Raaphorst 159
2352 KJ Leiderdorp
Netherlands

E info@openhanced.com

QR Code

QR Code for Hybrid approach to Mobile development

What I'm Doing...

Tag Archives: web app.

Hybrid approach to Mobile development

Posted in: Android, Blog, Mobile, iPhone by openhanced on January 24, 2010

Before we start our post, you know these discussions between developers?

Web apps. vs Native apps., Desktop vs Cloud, Managed vs Unmanaged. These discussions go on and on for years between developers and organizations but is it really relevant?

If your most important factor is the user (every developer should have this focus) none of these discussions are really relevant. Sure, for maintenance etc. maybe but that is not the first priority when building an application. If maintainability of your application is always the first priority you are not building the applications that users want and if there is one thing we all know for sure, demand from users pays the bill!

In this post I focus on Web apps. vs Native and there will be an introduction to Hybrid Mobile development as I call it.

It is interesting to see, the Desktop moves to the Cloud (browser based) but Apple moved with the iPhone to the mobile device (native). This seems to be a contradiction at first glance but there are a few logical reasons for this:

  • Slower Mobile internet speed;
  • Access to the mobile device its hardware.

Web apps. vs Native app.s

A few people have made some excellent remarks about this and summed up the pros and cons. This post on O’Reilly really makes clear how you should approach this as an organization that wants to develop and deploy an mobile application.

The Hybrid approach (from web app. to native)

image

Openhanced has come up with a hybrid approach that is suitable for every company that wants to move into releasing its own mobile applications. In this approach there are a few important factors:

  • User experience;
  • Fast release of prototype;
  • Short development cycles;
  • User feedback and statistics;
  • Upgradability;
  • Maintainability;
  • and a few more.

Start with a web app.

The modern browsers on iPhone and Android (unfortunately MS has not made this step yet, no Webkit) support HTML5 and because of that offer great possibilities for things like: local storage, caching and JQuery and Flash. Basically we don’t use Flash for our projects, the new HTML5 canvas video object (Youtube and Vimeo are already starting this) will put Flash in a difficult position. HTML5’s local options speeds up the web app. significantly.

The web app. is your prototype (and sometimes production) before you seriously start developing a native app. Objective C developers (iPhone) are sparse and the investments in a native application are high. Same for Android developers, all former web developers try to start making big money with development for mobile devices.

Key factor: If you need an app. with access to hardware go for the native route. Web apps. are perfect for access to legacy systems (web services) and remote databases.

The web app. can be delivered in fast development cycles and can be changed easily (one remark in the O’Reilly post).

For the web apps. Openhanced uses the JQtouch library from David Kaneda. This library makes it possible to create very slick applications for Android and iPhone. We have added our own (the Enhanced in OpEnhanced) feature set to make the applications even better.

User feedback and statistics

When the web app. is released it is important to monitor traffic and get user feedback. Openhanced has partnered with a few companies to offer specific statistics and also do advanced handset detection. We use the handset detection to present either iPhone rendering or Android rendering depending on the device. On top of that we offer GEO location by using a web service instead of the GPS, in many cases this is sufficient during the prototype phase.

Below you can see a screenshot of the statistics that can be collected:

image

Upgradability

Because it is a web application it can always easily be upgraded for all users at once. As everyone knows, the Apple AppStore has a slow process for updating applications.

Enhancing

In a continues effort to make better web apps. even better we will continue building new extensions or web services that can be integrated in your application.

Move on to native if needed

Openhanced is not limited to web apps., if you want to move on based on good statistics (it does not make sense to move on if your app. is not popular) we can help you to turn your application into a native application, both iPhone and Android (if needed also Windows Mobile).

Native cross platform

We are working with a company where we can deploy cross platform if needed, that means iPhone and Android. For Windows Mobile development we still have some expertise in-house.