Monday 27 October 2014

The business case for hybrid HTML5 mobile apps

by Martin Wilson, Appear


While the debate about Hybrid versus Native app development is traditionally centered around the performance of hybrid apps versus native apps, at Appear we have identified that this debate is actually rooted in individual developer preferences. We believe it is important that organizations identify the technology stack that can enable developers to be productive in the short-term while still supporting their long term organizational strategies.

We are confident that hybrid apps offer unlimited possibilities for our partners to create best-of-breed user experiences. Existing partner apps built using AppearIQ are a great example and can testify to this. However, some developers have a preference for native technologies. As such, we take a pragmatic view of this and intend, as part of our road map in 2015, to support this preference and provide native developers with a secure and efficient communication stack that would help deliver true enterprise ready solutions. This will also allow organizations to combine native and hybrid apps within a single environment.

Hybrid Apps Business Case Factor #1: Performance of Hybrid vs native apps

Native apps have a slightly quicker response time than Hybrid apps. This is a fact. Depending on the app use case, the differences in response time can be undetectable to the user. As an interpreted language, JavaScript (the technology behind hybrid apps) is slower than compiled languages like objective-c (used for development of Apple native apps). This performance metric (speed) is at the cost of one of the key benefits of the hybrid approach: app portability. Unlike machine-specific code, JavaScript is meant to be compatible with many different platforms. This overarching ambition requires the JavaScript engines to break down and parse the JavaScript code into instructions that can then be executed by the underlying platform. These are additional steps, hence additional computation, etc.
In recent years, JavaScript engines like WebKit (Android and iOS) and Chakra (Windows Phone) have significantly improved speed through optimizations like JIT compilation. Each new OS release significantly improves web performance (ie. HTML5 support, DOM querying, DOM modification, JavaScript execution, CSS execution, etc.). See Sencha’s recent post on iOS8 improved performance.
In addition, speed has been greatly improved via the continuous improvements in processor performance. For instance, the A8 CPU and GPU used in the iPhone 6 are respectively 25% and 50% faster than the A7 ones in the iPhone 5. This enables huge performance gains for mobile users. These software and hardware developments are continuously narrowing the gap between JavaScript and native speeds.
However,  the key question is not whether native code is faster than JavaScript code, but whether users will notice the difference. The performance hit usually comes from access to the local database, manipulation of images, etc. Appear IQ includes a Native bridge that optimizes access to local data stored on the device.
At Appear, we recommend using the right tool for the right job. For true real-time use cases (i.e. gaming, financial transactions, etc.), we would recommend using native technologies. To enable this Appear will offer native code support in 2015. For near real-time use cases, JavaScript has long proven to be a solid alternative. Gartner, the IT analyst, echoes that statement when it anticipates 90% of enterprise apps will be hybrid or web in 2015. Evernote, CatchApp and Appear’s own reference app Site Diary (developed as part of the MobiCloud project), are perfect examples of high performing hybrid apps. And the Financial Times provides a perfect example of a pure mobile website showing what HTML5 can offer.

Hybrid Apps Business Case Factor #2: Optimized communications improves performance

Beyond the language’s execution performance, an app’s performance can be impacted by data access. Access to data, coming from IT backend systems, is dependent on the speed and availability of network access.
Appear IQ offers HTML5 apps via the Appear container an optimized communication stack that abstracts the network connectivity challenges. It ensures that the right data is securely available on the device whenever apps need it. It also guarantees that data created by apps can be queued on the device until it can be synchronized to IT backend systems. Furthermore, Appear IQ leverages push notification services provided by OS vendors like Apple and Google to efficiently trigger data synchronizations whenever required.

Hybrid Apps Business Case Factor #3: Control of the application lifecycle

Hybrid apps put the developer much more in control of when and how their new app updates are released to end users by avoiding as far as possible reliance on public app stores for the approval and release of updates.
The hybrid approach with the Appear IQ platform combines a native layer (i.e. container) and portable HTML5 web apps. Appear typically releases a new container for developers to adapt a couple of times a year. This is to (for example) take advantage of new capabilities provded by Apple or Google. Web apps may be updated on monthly basis with new features and bug fixes.
Sometimes Apple’s review and approval process can take over a month – and if this is an important new feature that you are waiting to get into the hands of end users for feedback for further improvements you can see the iterative development process could take years – clearly not acceptable in today’s terms. Luckily enough, in 98% of the cases with a hybrid approach only the mobile web apps need to be updated, and as such we bypass App Store approval processes and enable our development partners to remain in full control over their applications.
End users are also untroubled by the updating of the hybrid apps themselves, since they are included in the HTML5 code rather than requiring approval, app download, update and synchronisations.
In other words, with the hybrid approach used by Appear we have a limited exposure to Apple’s approval process while a native approach requires it for every new release.

Hybrid Apps Business Case Factor #4: Cost & time to market – shorter development times

Mobile web development is faster than native iOS development: it is a higher level language, it does not require compilation i.e. a page reload suffices, code can be changed on the fly, in-browser testing is faster than the iOS simulator, etc. Our benchmark indicates that – assuming similar developer skills – the web development process can be 20% faster than native iOS development.
If developing one web-app is faster than developing one iOS app, the cost saving becomes tremendous when comparing with the development of multiple native apps.
In addition, Appear IQ includes a set of ready-made security and communication features which further shorten the development of hybrid apps. Depending on the complexity of the use cases, our benchmark indicates that developers can save up to 50-70% of time when leveraging our authentication and communication capabilities.

Hybrid Apps Business Case Factor #5 : Cost & performance – a high-quality user experience

Apple imposes a way of developing the mobile user experience, and provides a set of UI controls to power them. While these can be extremely powerful, you may identify a user experience that would be even better – but unfortunately that is incompatible with “Apple’s way”. This is what happened when developing the Site Diary application for the construction industry – the timeline feature provides an extremely powerful and intuitive tool for the user, but could not be easily developed using standard iOS controls.
In these cases, with a native approach you may need to develop custom controls or invest in 3rd party ones. Developing custom controls is highly time consuming, and this cost drives up when multiple platforms are involved.
On the other hand, web technologies give you greater flexibility to design and implement your custom user experience – and truly offer the best possible user experience to your customers.

Hybrid Apps Business Case Factor #6 : Cost – supporting multiple OS versions

Major releases of operating systems can change APIs, behaviors which developers have to account for. Unless updated, the apps may no longer work, or display correctly – significantly impairing the end user experience. Web technologies (incl JavaScript) on the other hand have been designed to be backwards compatible. For instance, WebKit still supports ECMAScript 3 enabling users to browse a 15 year old website with the  latest iPhone 6. The same is not always true for a 3 year old native app.
In addition, with its data access layer, Appear IQ further abstracts and avoids the complexities associated with possible API changes introduced by the OS vendors.

Hybrid Apps Business Case Factor #7 : Cost – Re-use of skills

Web technologies are used in both the mobile and backend components of the AppearIQ platform. Even though the mobile world imposes specific requirements in terms of user experience and performance management, the language is the same when developing back-office applications. On the other hand, in developing native apps objective-c is only valid on iOS and OSX environments. This requires more developers or enhanced skills in the team to cover the multiple technologies required. With AppearIQ when creating a new development team, it may be more effective and cost-efficient to invest in web technologies combined with another backend language such as i.e. Java, .NET, etc.
AppearIQ is the technology behind the MobiCloud Platform, a cloud-based environment in which to develop hybrid, cross-platform applications that leverage context awareness. For more information about MobiCloud and the current MobiCloud Construction App Challenge please see www.mobicloudproject.eu.

Thursday 16 October 2014

MobiCloud Construction App Challenge

Submit your idea for a mobile application for use in the construction industry and you could win 1,000 in our Construction App Challenge. 


If you go on to enter a team you could help develop the next must-have mobile solution for construction based on the MobiCloud platform.

All ideas submitted will be reviewed by a panel of construction experts who will give feedback and suggestions for improvements. The more notable ideas will feature at the MobiCloud showcase event which is being held at the COMIT & Fiatech IT conference at the Crystal in London on the 31st of October. The idea judged to be the best will be awarded a 1,000 prize.

We will then go on to give teams access to those ideas and provide expert help and assistance in turning them into fully-fledged business concepts using the MobiCloud platform. If any of our construction sponsors are suitably impressed they may even run trials of those solutions on site.

The Construction App Challenge is open to absolutely anybody - individuals, students, established developers or start-ups. For details and information on how to enter please visit our website at www.mobicloudproject.eu