Site icon FusionBrew – The FusionCharts Blog

Introducing the Collaboration Dashboard

Most business applications include a dashboard that provides a high-level overview of various functions; however, these dashboards have a flaw. We believe we have devised a solution to the problem to get rid of the hassle of searching for business dashboards and their data points in mails. You can also check out some of our business dashboards built using FusionCharts for web & mobile, or click here for the live preview of a Collaboration dashboard.  
Demo and Source Code
 

Understanding the Problem

Collaboration options are minimal when a business user finds an interesting insight or data point on a dashboard. They often take a PDF export or a snapshot of the relevant chart and send that to their colleagues via email.

The discussion around the data point continues over email, therefore leading to ‘tribal knowledge’ known to only a few. Anyone who was not a part of this email thread, or joined the team later, has no clue about the relevant discussion. Not to mention, after a few days, no one remembers this discussion stored in emails, or even finding such information in email requires a lot of cognitive loads.

However, most dashboards do not think of collaboration or have it as an afterthought with limited options for the business user. In this social world, we collaborate on statuses, pictures, and what’s on Facebook, but we ignore the value of collaboration around business data.

A Possible Solution

Suppose you are looking at a sales dashboard and notice a sudden jump in sales figures for August. You want to know the story behind it. How did it happen? What can you do to get more such monthly statistics?

Your whole team is looking at it, but there’s just no way you can ask your questions without leaving the dashboard. You take a couple of screenshots and start drafting a mail to investigate. All fine till now. What if you have not one but many dashboards to track? What happens then? Slowly it becomes a mess.

What if you don’t have to do this? What if you can ask questions at the same place that they originated? On the dashboard itself. What if you can click on a data point, and a familiar window pops up where you can post your comments, ask questions, provide answers and do a lot more? Well, no more what-ifs. We have built a solution to solve this problem of collaboration. A single place where you can geek about data. You can try it here, and this is how it looks:

Defining Requirements

When we sat out to solve this problem, we had tons of ideas. Incorporating all the suggested features would have resulted in a bloated application instead of a useful one. So we ruthlessly removed many features from our list to make it useful, light, and beautiful. Here’s what our final requirements list looked like:

Did we solve all the above problems? Of course, we did. Silly question. Isn’t it obvious this is the reason we are writing this post?

How We Did It?

Demo and source code: http://www.fusioncharts.com/dashboards/collaboration/

This section is for the curious developers out there, who are not content with just the solution but also want to know the process. So this is what went into the dashboard:

Components from FusionCharts

Features from FusionCharts

Other Features

The following files are in the package:

To understand the explanation below, please open the ‘dashboard.js’ file and the live dashboard. We’ll be referencing both below.

Functionality is divided into three parts.

  1. Chart Rendering

  2. Addition of Event Listeners

  3. Loading of Comments from localStorage

Chart Rendering

When the ‘dashboard.js’ file gets executed, a ‘dashboard’ object is created, and the ‘drawCharts()’ method is called on that object. ‘drawCharts()’ method will read the data from the ‘data.js’ file and take the cosmetics settings from ‘fusioncharts.theme.collaboration.js’ (theme file) to render the chart. It will also add event listeners which is explained in the next section.

Addition of Event Listeners

We can divide the event listeners into two categories:

  1. Events on chart elements

  2. Events on other UI elements

Following events are applied on chart elements:

Below are the events that are applied on UI elements:

Loading of Comments From localStorage:

Since we built this just for demo, we used localStorage. For a full-fledged application, this can be achieved via storage in a database.

Before the chart is rendered, ‘dashboard.js’ will check for comments in localStorage. If there are comments from previous sessions, the dashboard will be updated accordingly.

I hope you like what we’ve built. We’ll be more than happy to answer any questions.

Exit mobile version