Sunday, December 14, 2014

Mobile Integration

It wasn’t that long ago that UX & CX where secondary considerations for applications. Now that the sexy stuff is well and truly at the forefront of mobile applications, it’s easy to overlook the importance of the most complex (and not sexy) parts of mobile application development: the integration!

The vast majority of mobile applications that you use day to day have some form of integration / interfacing to an external system. When you think about it even the simplest of games on IOS and Android are connected to a scoring system or to in-app purchases. Your social networking apps are connected to vast databases of data and selfies! The good news is that as mobile and web frameworks have matured so has the approach to integration. Most applications now have a service library that is abstracted from the user interface and functional logic. This means that many integration tasks are pre-existing and can be leveraged with minimal new development effort.

No need to fear the integration layer, just apply appropriate governance and resources to this area to ensure success. Depending on the scope, tools and standards you adopt on your project there will be many specific considerations for interface design. Additionally there are many sources (books, peer groups, forums) of general information that is well worth investigating.

Once you understand your scope and associated interfaces at a high level you can broadly group them, for example into the following categories:
  • Outbound Interfaces (data travels from the back-end system to the mobile application)
  • Inbound Interfaces (data travels from the mobile application to the back-end system)
  • Cross Application Interfaces (data travels between two or more mobile applications)
  • UI/Service Interfaces (data travels between the UI layer on the device and the service layer on the device)
Consider the differences between interfaces for different types of data. Transactional interfaces where for example a new order is created. Master data interfaces where for example customer phone number changes. Reference data interfaces where values for configuration or a drop down menu need to be maintained.

Additionally the nature of mobile applications brings some unique challenges when it comes to integration:
  • Communications are not reliable
  • CPU is less than desktop
  • Dynamic and storage memory is less than desktops
  • Offline versus Online
  • Data synchronisation
  • Data residency & Housekeeping
  • Security & Encryption 
With a desktop application you can normally assume a relatively good connection experience. With a mobile application, design will need to consider a less than constant connection. There are a number of strategies adopted to handle this and these decisions will influence the interfacing approach. Tightly coupled with this communications challenge is the data synchronisation strategy (which is often different for each data type). For example reference data that doesn’t change often could perhaps be pushed to the mobile applications when the data changes. However data that is needed on demand (such as availability of inventory) could be pulled by the mobile application when required. The cycle of data update via interfaces needs to be considered. Mobile solutions are sometimes one of many channels that will be involved in a given data object. For example if customer details can be maintained in a mobile application and in a desktop GUI how are conflicts to be treated. This is especially critical in offline style applications.

For each in-scope interface it’s important to document key design information. At a high level each interface specification should contain:
  • The data schema – what data fields are being shared between applications, what fields are keys and mandatory
  • The trigger – what makes the interface fire, is it user fired or scheduled.
  • Logic associated with the fields
  • Is the interface synchronous or asynchronous – does it wait for a response
  • What is the error handling logic
  • What is the frequency
  • Security & authentication 
Rest assured that integration for mobile applications will continue to improve and that simply applying an appropriate strategy early in your project cycle will enable the sexy parts of your mobile applications to play seamlessly with all their connected parts. This article is partly extracted from the book “Enterprise Mobile Tips and Tricks”. For more information regarding all facets of mobile application projects download it now for free.

No comments:

Post a Comment