Wednesday, August 01, 2012

Oracle BI Mobile HD App - 2

In my earlier post, Oracle BI Mobile HD App - 1, I started to talk about and show some of the capabilities of the recently released Oracle Business Intelligence Mobile app for the Apple iPad, as part of the Oracle BI EE 11g, version release. I blogged how you could download and install the app, and how the location intelligence feature works in it.

Continuing in that vein, I am going to take a closer look at some of the interactivity features available in this release.

Visualizations are an integral part of any analytics application. Visualizations are how data presentations best enable quick discovery of anomalies, trends, and areas for further investigation. Visualizations are what draw users to further explore data on a Dashboard. Yes, I know, I know. But the fact remains that a good visualization is well worth its wait in insight aurum. Tabular views have their own place in the scheme of things, but visualizations grounded in sound theory are what provide the quickest bang for the buck. In short, I seem to be saying visualizations, and good visualizations specifically, are the answer to global hunger. No, I am not, but within the context of data analysis I would venture and say a good visualization is worth a thousand insights.

Oracle BI EE offers a rich palette of visualizations from which to construct Analyses and Dashboards. For facilitating detailed inspection of data you have the table view. For a multi-dimensional yet detailed look at data, there is the Pivot View. Charts offer the convenience of being able to provide high-level overview of data, with the option of drilling down for viewing trends and data at a more granular level, while tooltips offer the convenience of providing specific, accurate values of data, while at the same time not adding unneeded artifacts to the visualization (a double-negative is a no-no in writing, but I don't lay any claims to literary aspirations).

Coming to the specific topic of visualizations like graphs, and how to interact with them on tablets like the iPad, let's take a look at two topics. The first is "tooltips" and the second is interactions. Actually, both are interactions, but you will see what I mean in just a bit.

As I mentioned earlier, charts are very useful because they provide a great way to take-in all the data being displayed in one glance, without being overwhelmed with the details. Put another way, you want to make use of your pre-attentive processing skills here. Look at a chart and without consciously making an effort, get a general "sense" of the data displayed. After that, you can start exploring. Exploration usually begins with a simple gesture, a simple action like invoking a tooltip. On the traditional desktop browser this easy enough to do - you move your mouse over the concerned series, and a tooltip pops-up with the relevant information. Secondly, when using a mouse, you have much greater control over the preciseness of movement and therefore, even with small charts where data is densely packed, you do not experience usability issues.

Not so much the case with touch devices. On touch devices, you do not get a tooltip via a hover gesture. In fact, several design guides for touch computing proscribe using hover gestures, which makes sense. At least for now, no hover gesture is workable on tablets - you cannot really place your finger a teeny weeny millimeter over the tablet and expect a hover tooltip to materialize. At least, not yet. On the other hand, people using traditional computer interfaces that support a mouse have become very used to hover gestures providing context and additional information - the hover tooltip is a great aid in discoverability. Some may argue that a hover gesture should not be required, and when relied upon is often an indication of a poor design. There may well be a smidgeon of truth in that, but the fact remains that the hover gesture can greatly reduce unintended clicks.

On touch devices, you have to tap to get a tooltip, or invoke whatever action has been defined on the item being tapped. The second issue is that preciseness of touch does not match that of a mouse on a computer. Doesn't even come close. So when you tap on an item, it is not guaranteed that you will in fact end up tapping that intended item. Apple says as much, which is why their design guidelines call for a minimum dimension for buttons and tap targets. However, when you are dealing with dynamic views like charts, where you could get as few as four values at one level of a hierarchy, and drilling down could result in tens, even hundreds of values, this can be a problem. For instance, at the region level, my chart may show only six countries for South Asia - India, Pakistan, Bangladesh, Nepal, Sri Lanka, and Bhutan. Drill down India, and I could end up with over 600 items, if my next level in the hierarchy is showing data at the "district" level. A problem. On the browser interface of Oracle BI EE, this is not really a problem, because the "zoom-and-scroll" feature on graphs is intended to address precisely this issue.

So how does the Oracle BI Mobile app handle this problem? By supporting touch gestures.

That's it? No more details?
Yes, yes, details, details, details.
What are the most popular and useful charts? The bar? Yes. Vertical bar chart? Yes. Stacked Vertical Bar? Yes. Horizontal Bar? Yes. Stacked Horizontal Bar? Yes. Line? Yes. Basically, let's take a look at what I consider the most popular and perhaps even the most useful of charts, the bar chart. The good old bar chart. The much abused bar chart.

Consider the screenshot below, and notice the stacked vertical bar chart displayed in the bottom left corner of the screen. Here I am plotting "Revenue" data at the grain of "Month" and "Brand". This means, that my series is by "Month", i.e. the X-axis is plotting data by month. My grouping of data is by "Brand", i.e. within each month, I have grouped my data by "brand". Each stacked bar for each month represents Revenue data in a given month for a given brand.

If I need to interact with this data, I need to be able to tap on any bar and get a tooltip. The tooltip would then provide me with information about the item tapped, but also let me initiate an action on the item. The action could be "nothing" - as in the report author did not provide any interaction that could be performed on the item, "drill" - as in drill down the item tapped, "actions" - as in invoke the Action defined on the item or display a menu of Actions available for the item, and "send master-detail event" - as in send a master-detail event on the channel specified in the analysis.

To get a tooltip, tap on the bar. A color-coded tooltip is displayed. What this means is that the leader line of the tooltip as well as the border color of the tooltip is the same color as the bar you tapped. Helps, doesn't it.

But what if you did not intend to tap on the bar for the "HomeView" brand? That's ok, because you can drag the tooltip. Drag, did I say? Yes, Tap anywhere in the tooltip, except on the button, and drag the tooltip down, or up. If you drag it down, the tooltip will snap to the next item in the series, and update to display you data for the "FunProd" brand. And you can see that the color of the leader and the border of the tooltip changes. Drag up, drag down.

Repeat it and drag the tooltip all the way down, to the first brand, "BizTech"

So this is how you can tap and drag the tooltip within a series. But what if you want to drag it across a series. I.e. you want to see data for a selected brand across all the months that you have displayed on the chart? Yes, of course, be my guest. Tap and you get a tooltip. Now tap-and-drag this tooltip across the chart, and the tooltip merrily accompanies your drag gesture, the information inside the tooltip changing as you move from one bar to the other.
Now, these tooltip gestures are not limited to standalone charts. These are also available in the Trellis view. The new kid on the visualizations block in this release. Specifically, the tap-and-drag gesture is available in the Simple Trellis. What is a Simple Trellis? It is a Trellis visualization that supports one visualization across the entire Trellis. And we will talk about that in a future post. As the next two screenshots illustrate, you can tap inside a cell in the Trellis grid to get a tooltip, and then drag this tooltip within the cell.

What about the Advanced Trellis and tooltips and gestures? First, what is an Advanced Trellis? An Advanced Trellis is a Trellis view that supports multiple visualizations; i.e. a different visualization per measure. And we will talk about this in a later post. An Advanced Trellis also makes use of microcharts, like the SparkBar, SparkLine, SparkArea - which means that they are even more suited to visualizing large amounts of data - literally thousands of data points in a Single Trellis view, hundreds in each cell. In spark visualizations, the intent is to discern the overall trend and shape of the data in a cell, and not so much on the individual values. Therefore, what is most appropriate for a cell in an Advanced Trellis is to provide a summary of the data - the measure name, the initial or starting value, the last or end value, and the minimum and maximum values.

I really want to get this post, err... posted, so I am excluding other interactions on graph views that I wanted to talk about from this post, and will include them in a subsequent post.

Thank you.

Abhinav Agarwal,
Bangalore, August 01, 2012