Monthly Archives: March 2013

Building Cross Platform Applications

Cross Platform Applications
Having an app is a very effective way of getting information out to your users on the move. However there are several device platforms (iOS, Android, Windows Phone, Blackberry etc.) to build apps for. The percentage market share of each platform means we decided to be inclusive and support as many platforms as practical.

IDC produce reports of market share, the data for 2011 and 2012 is shown below.

From this data, we conclude that support for iOS and Android is essential and makes 90% of the market. We also support Windows Phone as it is the only other platform with an expanding market share. Full details from IDC report.

There are several broad approaches to building cross platform apps for mobile platforms. Each has its own advantages and disadvantages as described below.

Cross-platform HTML5 app

HTML5 Powered with Connectivity / Realtime, CSS3 / Styling, Device Access, Graphics, 3D & Effects, Multimedia, Performance & Integration, Semantics, and Offline & Storage

HTML5 with CSS3, Device Access, Graphics, 3D, Multimedia, Performance, Semantics, and Offline Storage

A HTML5 app uses web technology and the devices built in browser to present data to the user. It allows apps to be created quickly in a similar way to creating a website. This can then be wrapped in a framework that allows the app to be packaged into something that can be sold in the app stores. The technologies and frameworks used to make this approach possible includes: PhoneGap, Applicaiton Craft, Appcelerator and many more

The advantages of this approach are:

  • The speed an app can be created.
  • The consistency of the look and feel of the end result (app on android looks the same as app on iOS).
  • Tthe reuse of existing skills a web developer has to create the apps.

HTML5 allows access to some of the more standard device features: 3D Graphics, Geolocation, multimedia etc. It does not allow (yet!) access to the some of the low level sensors (Accelerometer, Gyroscope, Compass) we make use of in our GIality solutions.

Native applications

Building native apps is the process of building an app for one platform. It uses built presentation framework of that platform you are working on (Cocoa Touch in iOS, XAML on Windows Phone and XML in android). This type of app allows full use of the power of the device: it can make use of all the sensors and can produce richer user interfaces that are consistent with the rest of the device.

The disadvantages it that you must make separate applications (probably in separate languages, probably maintained by different teams) for each platform you want to support.

Our approach: Xamarin Studio

As a small company with a small development team, we looked at what we could do using the different approaches described above and decided we wanted the rich user interface and  speed of native applications (we do a lot of 3D work), but we didn’t want to maintain separate code bases for each project.

four platforms

Our approach has been to use Xamarin technology to create native applications using a common language and a shared code based. We use C# (a language that many developers are already skilled in) to create code that can be run natively on Android, iOS and Windows Phone. We write a native user interface for that application in whatever technology is appropriate for that device.

Monogame Logo

Working with Xamarin technology is the MonoGame project. This creates a 3D environment based on the API of Microsoft XNA. The Monogame team describe this as:

MonoGame is an Open Source implementation of the Microsoft XNA 4 Framework. Our goal is to allow XNA developers on Xbox 360, Windows & Windows Phone to port their games to the iOS, Android, Mac OS X, Linux and Windows 8 Metro.

This allows us to create out 3D visualizations in C# writing XNA code and the game to be ported from platform to platform with very little extra work required.

Final thought: native experiences driving innovation

Scott Hanselman in his article on Apps Are Too Much Like 1990s CDROMs And Not Enough Like The Web, points out (amongst other things) that new experiences currently only possible in native apps, like the 3D experiences of GIality apps, will eventually become a web standard and become possible in a standard web app.

Scott Hanselman’s Web Experience Cycle.

I’m looking forward to writing our 3D visualisations according to a published web standard, but not until working with HTML5, Javascript and CSS is as easy and rewarding as working in C# using Xamarin Studio.

Scottish Renewables 2013

Scottish Renewables 2013

The 2013 Scottish Renewables conference & exhibition was held at the Edinburgh International Conference Centre (EICC) this week. Linknode were exhibiting and presenting a preview of VentusAR.

Day Two – the Planning Conference – was of particular interest and the wind planning workshop was a very popular session. Kenneth Peterson of Gaia Wind discussed the continuing challenges for small developments in relation to planning legislation not having enough provision of understanding or differentiation in process compared to large developments. Local communities still have a one-size-fits-all image of wind developments and there is natural aversion: surely an opportunity for accessible visualisation tools. SNH were represented by Kenny Taylor who stressed the demands on quality of site-selection and application submission.
Of particular interest in the afternoon sessions were the presentations in the community engagement session. Henrik Skouboe of Bystrup talked about the challenges in in the development of new high-voltage transmission pylons in Denmark and the UK. Compact design as well as modern material capabilities will give a contemporary look and reduced visual impact.

Bystrup’s innovative T-Pylon design

Esther Black of Pagoda PR gave the most edifying discussion on trust in development and community engagement. References to the impact of approaches based on mutual understanding and not scientific persuasion for perception and influence from Patrick Devine-Wright gave new insight into the problems of communication that are elsewhere documented for public bodies such as The Scottish Community Development Centre have standards for community engagement. We will look more at the psychology of visualisation and trust in future blogs.
Finally, Congratulations to our prize draw winner from Green Cat Renewables who will be receiving the bottle of Highland Park from our stand.

Whisky

GIality – What’s that all about then?


GIality
n. [jee-al-i-tee]

  1. the convergence of geospatial data with augmented reality technology
  2. the integration of real-world sensors for attitude, orientation, location and imagery with spatial data and services for visualisation tools for a mobile workforce and public


We live in a world that is increasingly mobile in every aspect of our lives; workforce; entertainment; family connections; leisure… and this brings new opportunities in our interaction and engagement with the surroundings.

This revolution is brought about by a range of factors – elementary in these are the always-on data-rich environment that we live in, the availability of high-quality and robust mobile hardware and the sensors inherent in those devices including cameras, accurate geospatial location and high-performance 3D graphics engines (designed for gaming but with business potential).

At the convergence of this triumvirate of mobile, 3D visualisation and geo position is a new sector where augmented reality moves from a technology in search of a business application to a functional and innovative set of applications.  These applications we call GIality – the integration of geospatial information with augmented reality.

GIality Circles

But what do GIality applications look like in the real world?  There are different levels of integration depending on the sensors and capabilities from heads-up compass apps to consumer functions such as the Nokia City Lens bringing in web-service data on demand.  At the highest level GIality solutions really allow the creation of immersive augmented reality by incorporating terrain models, textured overlays, 3D models, animation and lighting effects – all relevant to the current location and on affordable consumer tablets.

Linknode’s development in this arena is in planning visualisation for renewables and especially wind.  Landscape and visual impact assessment (L/VIA) is a subset of the greater environmental study that is essential for consent and planning for larger developments and assists in all sizes of project in the planning process.  Current communication methods are limited in public access, scope, inclusivity, comprehension and (in some cases) accuracy.  Printed media means that there is limited flexibility in positioning of viewpoints and the inclusion of variants such as alternative wind direction and in the cumulative impact of other nearby projects.  GIality helps by providing companion apps that can engage with developers, landscape custodians and the public in the provision of relevant, live and dynamic information – readily understood and at relatively low cost.

GIality - Wallace Turbine