Skip to main content

It's a hybrid !!



The motor car industry is in transition right now. It is a slow process that will take the motor car back to it's roots as the 'electric carriage' of the 1830's.  Electric cars were common until the petrol (gasoline) overcame the limitations of battery storage capacity and vehicle distance, to dominate the market for over 100 years.  The long term trend in the rising cost of fuel, the impact of the combustion engine on the environment and changing social/work patterns have re-introduced the electric car back into the market.
Despite electric car innovation, if you are in the market for a new car today, it's likely that you will settle for a hybrid. The hybrid overcomes the deficiencies of current battery technology in electric cars while offsetting the rising cost of petrol.

Mobile application development can be described in much the same way. When people talk about writing mobile applications, they often talk about 'native' and 'HTML5' based applications. When you think of 'native' think 'petrol'. Developers will write apps in 'native' code - that is code that runs natively on the operating system. Because mobile devices use different operating systems, developers have to write their application multiple times - thereby incurring a high cost of development. And testing. And bug fixing. And enhancements. Even if you plan only on supporting iPhone and Android - that's still a hefty investment to make for the same piece of functionality. You will never have functional parity (think Windows and Mac software).  Don't be fooled by that starry eyed programmer who is telling you that writing a native application is the ONLY way to build your mobile application.

The alternative approach to developing mobile applications is to write a single web app that runs on the mobile browser, using HTML5, CSS3 and JavaScript, mitigating the high cost of writing multiple native apps. HTML5 mobile web apps are very much like the electric car. HTML5 is a new standard but the mileage is limited. HTML5 is a specification that has been evolving at the same time as the iPad - so naturally it falls short in supporting all the things you want to do on a smart phone or tablet today. Even with basic feature support (location, local storage and camera) HTML5 does not solve many of the mobility problems that developers face - specifically security, offline support and access to native device features and phone functionality such as push messaging.

Just like the motor car, there is also a third option - the hybrid.  The hybrid mobile application blends the best of web with native code operation. Hybrid apps run inside a native container and leverage the device’s browser engine to render HTML and process JavaScript locally. Hybrid development requires you to write one web application (HTML5, CSS3 and JavaScript) and access device features through a JavaScript API.  Apache Cordova (PhoneGap) takes this approach, as does emotive an mobile cloud computing platform (disclaimer: the company I work for).

There are many advantages to the pure hybrid model (by 'pure' I mean there's no  cross compilation of the source code - it is just run it as-is) - these include
  • faster time to market
  • standards based web programming model 
  • access to native device features
  • development team needs no training and no expensive native programmers to hire
  • reuse existing web assets - including mobile web assets
  • cost of maintenance is low
  • not locked into any vendor 
  • faster iteration time to build and revise applications

Yes - it's true that today you get more mileage from a native application over a web mobile application - but at a really high operational cost and you know that it is not the long term option.  HTML5 web mobile applications are cheaper and easier to produce but fall short in giving you full device access.

Just as with the car, if you are looking to build the next generation of platform independent, smart, context aware, enterprise mobile applications at low development and maintenance cost, then you want to go with a hybrid.

Popular posts from this blog

How to get the BBC iPlayer running when you live outside of the UK

(subtext: Get the World's most famous detective on your favourite browser)

The new series of Sherlock has started on the BBC. If you live outside of the UK and you are too impatient to wait for your local TV content provider to host it for you - then fear not !! These simple instructions will get you up and running. In addition to the iPlayer you can access most of the other UK TV channels using the same method. Note: you can use the same method to access content in other countries - such as Hulu in the U.S.

How it works:  In simple terms, the BBC iPlayer, like other players, perform a check to determine whether your internet access is originating from the UK.  So the trick is to ensure that your access to the BBC website will originate from the UK.



First you are going to use a free piece of open source software that was designed to keep your internet access anonymous. You will add a setting that will ensure that the software makes use of servers in the UK whenever making requests…

Watch the BBC iPlayer and ITV Player when outside of the UK on Ubuntu

This is a follow up to my post of a year ago. The instructions are simpler than last year's post. If you want instructions for the Mac go here.

I re-imaged an old laptop last year with Ubuntu (12.04 LTS).  If you've never tried Ubuntu before, head over to http://www.ubuntu.com/download  to try the latest version. The installation is straightforward and you can install it without affecting your Windows image (if that's what you're running). Not only is this fast (boots in seconds) it also has better support for a wider range of devices - specifically Wifi.

To run the BBC iPlayer on Ubuntu, do the following...

Step 1: Download tor from this site : https://www.torproject.org/.  The download button should detect your operating system. For Linux the direct link is here. Alternatively you can use the command line and enter sudo apt-get install tor.

Step 2: Unpack the tor tar.gz file. Open the folder that was extracted. On my machine it's called 'tor-browser_en_US'.…

Use a Beacon to check in guests and share Emergency info

I had to put together a simple demo that uses a beacon to check in a visitor and share Emergency information, such as Fire Exits in the building, with the user .
(Note: this isn't the best way to check in a guest - but this was the request).

Most beacon demos require some native coding - but this approach favours configuration over coding so that you can get a concept working quickly before spending time on a native app.

What you will need
1. A Google account
2. A Beacon - I used a beacon from Bluecats (https://bluecats.com/)
3. Any iOs device (OS 8+) or Android Device with Google Chrome installed

How it works
You will set up the Beacon set up to emit a static URL using the Eddystone protocol.
The URL will navigate the user to a Google Web Form. You can use any URL (your own website if you want) but it must be using HTTPS.

Any device with BLE support, with an appropriate receiving app, will pick up the URL.  But therein lies the problem ! Most guests will not have the native app and…