field-theory.org
the blog of wolfram schroers

Business reporting for iPhone and iPad: Overview

This article is about business reporting and scientific charts on the iPhone, the iPod Touch and the iPad. It lists available options and points out their specific advantages and drawbacks.

Table of contents:

Introduction
Frameworks for mobile charts on iOS
Conclusion

Introduction

Visualization of information is of crucial importance for mobile devices. Unlike for desktop machines where you can interact with information on large screens, mobile devices demand that all information fits on a small screen. Therefore, having the means to present data concisely and interactively is of crucial importance in business applications.

On desktop operating systems a plethora of different libraries for visualization is available for almost all use cases. For iOS the choice is more limited and there are additional considerations that have to be taken into account. One is the latency and bandwidth of mobile communication — app users may not always have a working network connection and the connection may also be quite slow. Thus, frequent reloading of data and related information is not always possible.

Mobile devices also are more interactive, giving users the option to work directly with the data on their screen and manipulating data with single or multiple touches. Thus, the UI interaction is often highly specific to the operating system in question. Apps would simply behave differently on Android and iOS machines.

Mobile devices do not have much computing power and sustained computation will result in reduced battery life. Thus, expensive computational operations should be avoided on the device and instead handled by a remote server.

When taking all these considerations into account the “best” choice will depend on the individual use case. In the following I list a couple of popular choices and their respective strengths and weaknesses.

Frameworks for mobile charts on iOS

The following listing is not complete, but shows viable options with their respective merits and drawbacks:

  • The private GraphKit framework by Apple. For applications deployed on the App Store, this is not an option since use of private frameworks will lead to rejection by Apple.
  • A back-end that provides not only the data, but the entire chart as a figure file. This option does not provide interactive charts and often bandwidth is a bottleneck on mobile devices. The advantage of this option is that it is independent of the mobile device and thus easily portable.
  • Google' Chart API is a convenient and easy to use framework, but suffers from the additional disadvantage that you need to send your (possibly confidential) data to Google for processing. In almost all business applications this is not acceptable.
  • A web view with figures generated by JavaScript. This option is quite attractive since the figures can be interactive and only a minimal data set needs to be communicated. Furthermore, it is largely system-independent. The disadvantage is that it does not fully support the platform as a native library would.
  • For Cocoa on Mac OS X and iOS the CorePlot library is a native choice that fully supports the platform in mobile applications. For some business use cases a possible disadvantage is that the library is only available as Open Source, but not commercially.
  • A simpler, but still iOS-native choice is the s7graphview library. It is more limited in its feature set, but is easy and straightforward to use. Again, it is only available as Open Source without a commercial option.
  • The PowerPlot library is specifically designed for iOS and thus has all advantages of a native solution – the power to be integrated fully into the system, they need to communicate only minimal data with any back-end and the option of getting a commercial license. See also this article for an introduction.

Conclusion

There are several options available for visualization on iOS devices. Each option has particular strengths and weaknesses. Developers need to carefully draft their specifications and then pick that option that provides the best fit in their specific use case.