Vizyx Simplified Awareness Thu, 17 Sep 2015 06:00:00 +0000 en-US hourly 1 Self-Serve BI Demand Up, User Satisfaction Down Sat, 08 Nov 2014 05:31:25 +0000 Somewhat biased and anecdotal, every client I’ve encountered has expressed a general inability to use Klipfolio or Geckoboard without developing a viz-ready middle-tier. – Despite a growing consensus among business users about the value of do-it-yourself data analytics, less than a quarter of the respondents to a recent survey said they have the means to use self-service business intelligence tools.

[read more…]

]]> 0
Designing Information Dashboards Fri, 07 Nov 2014 05:16:22 +0000 Excellent guideposts.

Speckyboy Design Magazine – We come across information dashboards everyday in various applications we use. Have you seen a dashboard that looked plain ugly? Have you come across one that didn’t inform you, the viewer, but confused you about what it’s trying to say? Or have you seen one that you were drawn to because of how visually appealing, and how informative it is? At those times, you’ve probably thought about what makes a dashboard effective or ineffective.

[read more…]

]]> 0
Klipfolio Chosen As Market Leader Thu, 06 Nov 2014 18:00:00 +0000 Congrats to the folks over at Klipfolio for making it to the bigs.

The annual Dresner BI report is out and there’s plenty of reason to celebrate.

According to the report –

“A new entrant in the “Specialized” segment, Klipfolio is generally above peer and overall averages for most measures. It is best in class for most sales measures, value, integration with third-party technologies, ease of upgrade/migration to new versions, online training, forums, documentation, support professionalism, and time to resolve problems. It has a perfect recommend score.”

Certainly I have some harsh words to say about the [architectural] state of the platform, it’s lack of a comprehensive API strategy, and performance issues, but this data visualization service continues to compel me and many others to give it the node for certain BI projects.


]]> 0
Odyssey: A New Horizon in Mapping Visualizations Thu, 31 Jul 2014 15:31:43 +0000 Think … PowerPoint for GiS. That’s what Odyssey provides.

It’s an open source project led by the brainiacs at CartoDB, specifically its creator, Carlos Matallín.

When I first experimented with this new and idea-provoking substrate, I was impressed by the natural embrace of open web standards and most interesting, John Gruber’s Markdown language. Anyone can pick up the Markdown language in just a few minutes. The commands are simple like using the asterisk character to bold text, and the hash character to establish a title. A few social networks already provide variants of Markdown (Google+ for one).

While GiS and Markdown are each unique solutions, the innovative combination that leverages this simple and elegant document formatting language in a GiS environment, is pure genius.

Location-centric Story-telling

Odyssey is all about telling stories in the context of location and anyone can begin to do that right here. The experience is early, a bit rough on the edges, but it is certainly ready for exploration and in some cases – production quality as some of my clients will attest.

Odyssey.js (it’s official open source name) is a tool that allows you to combine maps, narratives, and other multimedia into a beautiful story – indeed solutions that convey information with specific geo-sensitive data. Creating new stories is relatively simple, requiring nothing more than a modern web-browser and an idea. You are able to enhance the narrative and multimedia of your stories using actions such as map movements, video and sound control, or the display or new content. This makes it possible to tell your story in new and exciting ways.

Pre-defined templates (or your own custom templates) control the overall look and feel of the story in beautifully designed layouts. Because it supports custom templates, I see a bright future for binding brand-centric content into mapping solutions. Imagine an odyssey designed as a knowledge management tool for business locations, or an audit tool for tracking corporate machinery. The opportunities to employ Odyssey across many geo-centric business cases is almost unimaginable.

Integrating and Customizing

With the little knowledge I possess about Odyssey, I have been able to craft automated services that generate and update Markdown content to build and keep Odyssey stories fresh. Using only Google Apps Script I’ve crafted story-telling solutions from spreadsheet data and other information drawn into the process through Google’s integration tools.

Odyssey has a bright business future in data visualization circles. Take some time to understand this new concept.


]]> 0
Pushing Back on Pull, Why Polling Architectures Should Be Avoided in Dashboard Design Fri, 07 Mar 2014 17:15:20 +0000 In the realm of dashboard design there’s a fundamental requirement to move data, often in the form of key performance indicators, from point A (the origin of operational data) to point B (the dashboard environment.

Setting aside the philosophical debate concerning business logic for acquiring and reporting on KPIs (which I’ve written about previously), there are two fundamental methods for transporting dashboard-bound information; pull it into the dashboard, or push it to the dashboard.

Geckoboard relies solely on a push model – when your data changes, you make a call to a discrete web service address for each Geckoboard widget and hand over the information. Geckoboard then updates the data in the widget in near-real-time. The benefit of this approach is obvious – nothing happens on your end (your business systems or middle-tier) and nothing happens on the dashboard side until the data for the widget actually changes. This is an event-driven data architecture. Every dashboard solution I’m aware of encourages and in most cases, mandates this approach except for Klipfolio.

Looking at the data transport process from another approach is Klipfolio, which presently advocates a polling mechanism to refresh data in its dashboards. The premise behind a polling model is based on the assumption that your business systems or middle-tier are not smart enough to send new information when it changes. This is indeed the case in some instances. However, the vast majority of business systems in use today tend to support a modernized capacity for arbitrating with other systems using event architectures.

But there’s one additional reason (I suspect) that offering a polling approach is enticing; instant dashboard gratification. This model takes advantage of data feeds; a common and pervasive collection of formats that can be leveraged with ease. No one can blame any company for pursuing shortcuts to revenues, eh?

Klipfolio is one of the few dashboard tools that provide data source connectors and an easy approach for building them. By establishing a pull-centric approach, they have short-circuited the challenge of setting up web services connections and provided a very useful on-ramp for accessing data across the web and business networks.

But this capability is a double-edged blade that cuts both ways. While it’s a snap to wire up a connection to a Google Docs spreadsheet, or an Oracle database, Klipfolio data sources begin harvesting data using a polling mechanism – every minute (depending on interval refresh selected) it sends a request to the data source asking for the latest information. Refresh intervals are designated in the data source connector in Klipfolio and can range from 30 seconds to days. But most users, when presented with a 30 second refresh, will select it without giving thought to what may be happening 2,880 times a day.

Imagine a data source that changes only two times a day on average and a connector that is checking for updates almost 3,000 times just to grab the two instances where the information has actually been modified. Insanity.

In some cases a polling mechanism is the only way to get data into your dashboard. And this is especially the case with legacy apps that have no capacity to engage in modern web services exchanges. But the vast majority of systems that contain your data do support integration methods that could easily send data to Klipfolio. And if they don’t, augmenting them to do so and insulating your middle-tier from the bane of polling, is very possible.

Bandwidth, Scalability, Green IT

The topic of unreliable data source refreshes emerged this week in the Klipfolio partner community. Many have reported experiencing failures of data source refreshes. Some users have reported a lack of data updates all the time on certain dashboards. I have also experienced this myself, although, not so much recently.

In an attempt to help, I published a script example demonstrating how partners could approach the problem from an external point of view – a push mechanism that leverages the Klipfolio API to send a message to Klipfolio and proactively ask it to perform a refresh. This has the effect of reversing the egregious polling approach while taking a tremendous load off the Klipfolio servers. At the outset, I designed my script to cut the effects of a polling model in half – the shortest interval possible is a minute and the options I enabled include larger values than Klipfolio data sources allow.

Using this externally-driven script, one could get very crafty about sending refresh requests only when the data changes; even holding off until users are actually at their desks and the data has actually changed.

This is the promise of push APIs – they dramatically reduce the bandwidth and server loads for products like Klipfolio.

Something’s Gotta Give

And the more I think about this API push refresh approach for, the more I wonder if the folks at Klipfolio wouldn’t simply prefer that we abandon the horrific and highly dependent polling-based method of data refreshes, and create intelligent push models like my own.

The debate concerning push vs polling designs ended long ago when RSS became the poster-child representing the effects of excessive and invasive content delivery failures in the blogging industry. As content publishers realized, polling is wasteful, prone to errors, it doesn’t scale, and worse – it’s the opposite of “green”. Content providers sought relief in two ways – (i) switch to push (many tools and platforms did this), and (ii) they created systems that mitigated the ill effects of polling through conditional GETs and by throttling aggressive RSS requests.

To some degree, we (users and solution providers) are the problem when Klipfolio’s polling feature begins to creak or fails to deliver data updates. Here’s why…

As developers (and even companies who use Klipfolio as non-technical consumers), we have an obligation to use modernized methodologies when dealing with web services. We should be more sensitive to server cycles and unnecessary traffic and bandwidth consumption in general. Relying on, even expecting Klipfolio to provide a polling architecture for data updates, is just silly. And this polling model is even more egregious when you realize that the vast majority of uninformed users tend to abuse the back-end services by setting nearly every datasource to the shortest refresh interval possible. That’s beyond silly – and it’s often masked by technical ignorance.

And Klipfolio itself must share a portion of the blame for enticing users and developers to utilize its polling-based data source connectors with the tantalizing expectation that the data transport configuration is attainable in seconds and at 30 second intervals and all without consequence.

If I were Allan Wille, I would be right on the edge of pulling the polling update feature altogether and enforcing a more intelligent method of getting data into dashboards. This is (or should be) the responsibility of the developers and  users of Klipfolio. And Klipfolio’s partners providers should know better too.

It is not Klipfolio’s responsibility to come and get your data.

Imagine if all aspects of the Internet worked purely on a polling architecture. It would collapse. On the current trajectory, Klipfolio is likely suffering the effects of trying to scale up a server stack capable of staying abreast of the punishment they’ve allowed their customers to inflict on their own infrastructure. They cannot win this game in the long run.

Polling: bad for business; bad for the Internet; bad for the environment; ergo, it’s bad for customers.

The Remedy for Klipfolio

The answer to the polling nightmare that is unfolding with Klipfolio, already exists and the company is well positioned to take advantage of the best aspects of polling and push with a simple philosophical shift.

As I said earlier, Klipfolio’s most compelling attribute is based in its data source connectors. It provides a wonderful approach for getting dashboards up and and operational with minimal effort. But it also opens the door to server and bandwidth abuse through the constant and relentless grind of unnecessarily terse refresh intervals. Klipfolio’s data connectors make it easy to do the wrong thing and they must correct this.

The recent availability of the Klipfolio API that supports data source refresh requests is not the equivalent of a push architecture. Indeed, it only allows you to ask a data source to poll for new data – ergo – a hybrid-push model is the best that’s possible today. There are some API methods that may allow you to develop a fully data-push model the way Geckoboard does it, but my review of these methods indicate it is quite complex.

But even so, the ability to send a refresh request message when (and only when) dashboard data changes, provides a key pathway to escape from the debacle of a pure polling architecture. Here’s a plan for climbing to higher ground.

  • Klipfolio should develop a clear dashboard design pattern that allows users and developers to use manual refresh invocations during development.
  • Polling-based refreshes should be offered without charge at high interval settings (i.e., two hours or more).
  • Polling-based refreshes should be offered for fees when selecting low interval settings (i.e., less than two hours). The lower the interval, the higher the fee. This is necessary to provide a disincentive for using inefficient polling mechanisms while also providing additional revenues to support a poll-driven server infrastructure.
  • API-based refresh requests should be offered at no additional charge. This will incentivize users to pursue the more beneficial aspects of a push approach.
  • API-based refresh requests should be throttled to stem the inclination of users to create alternative polling behaviors.
  • Klipfolio should establish best-practice recommendations for using its API to inform the platform that new data exists and it’s time to refresh.

NOTE – I have since disabled access to the script source code because Klipfolio advised that this was not a recommended use of their API. More on that puzzling directive a little later. If you want to discuss the push method I created, please contact me directly.

]]> 0
Ensuring Klipfolio Datasources Are Refreshed Wed, 05 Mar 2014 19:40:43 +0000 Much has been discussed on Klipfolio forums and between partners concerning specific issues with Klipfolio datasource refresh reliability. While there are times when this issue has driven me bat-shit, the Klipfolio system has seemed more reliable than in past months and years.

But presently, I have one client who has noticed a degree of inconsistent refresh and to alleviate the issue, I decided to drive a second nail into the two-by-four to give the client some satisfaction while enabling her to refrain from performing manual refreshes a few times a day. And thus emerged this approach – a framework for ensuring datasource updates without human intervention.

There is some recent discussion about this in the Klipfolio parter’s forum alluding to the possibility that functions with variables could be causing the problem. This may be true, but I don’t think it’s likely the cause of every refresh issue I’ve experienced nor does it appear to reflect the general experiences of the partner community.

Lightweight and Free

These are the two requirements that I suspect anyone tackling this issue will have at the top of mind. I chose Google Docs and GAS (Google Apps Script) to create a simple approach that can support an unlimited number of datasources per client and an unlimited number of clients – and all for the handsome fee of $0.00.

The Approach

My approach is simple – create a script that uses the Klipfolio API to force a refresh on any given datasource ID and on any interval desired. Asserting interval events are configured using script triggers – more on that later. The API is at the center of this solution workaround bandaid. If you don’t have access to the API documentation, you must request it from Klipfolio. However, for this approach, you probably don’t need it – all of the code necessary to use the API is in the script shared below.

The Bandaid

The bandaid for datasource refreshes (in my view) must provide relief across multiple clients. To that end, I created a table that allows you to develop a master list of data sources you want refreshed through the API. The table and columns are self-explanatory. If you don’t readily understand these fields and how to populate them, you need to hire someone to help you.

kRefresh Fig 1

Note – when adding new data sources, enter zero for Last Refresh (milliseconds). This will prime the data source to be updated on the first test run of the script.

Refresh Intervals

The refresh intervals are not identical to the option settings available in Klipfolio. There are two reasons for this. At the outset, Google’s platform supports updates as brief as 60 seconds, and Klipfolio’s API has constraints. There are ways to mimic more precisely the Klipfolio intervals but that is the subject of a customization project. In this tool you get 1 minute, 5 minutes, 15 minutes, 1 hour, and 4 hours.

Spreadsheet and Script

You can get the spreadsheet and script with this URL. It allows you to make your own copy of the solution bandaid. You are free to modify the code and you can quickly replace the demo datasources. But before you do, I urge you to make sure the script runs for the demos. Also, before running the demo, it’s probably a good idea to replace the email notifications field with your own.

The demo datasource and the username/password is functional in my Klipfolio account. This demonstrates how to use a “role” account for use with API integrations, a key security requirement in my view. The user Joe Foonman is expectedly, not a real person; rather, it is the account where all API calls traverse and in this instance, it is fully functional so you can see how the refresh solution actually works.

You can run the main script (datasourceRefresh()) by simply opening the script (See Tools | Script Editor) and then press the run button – it will default to this script function. If you’re completely unfamiliar with Google Apps scripts and how to implement this, feel free to hire me. I can set one of these up in about an hour.

Installing A Script Trigger

To make this bandaid work you must set up a script trigger that fires off every minute so that it can update 59 or fewer data sources that are each setup for one minute intervals. If you set the script trigger for five minutes, you can have a collection of up to 299 datasources, each with intervals of five minute refreshes. These are the approximate ceilings given the API throttling requirements. Of course, with 5, 15, and hourly datasource refresh settings, you can have hundreds of data sources managed in one instance of the spreadsheet.

You are also free to make multiple instances which are expanded my adding new sheets or separate spreadsheets. While not perfectly scalable, it can scale to thousands of data sources with some careful planning.

Set up your script trigger by selecting (from the script editor) Resources | Current Project’s Triggers.

kRefresh Fig 3

This trigger will run the main datasourceRefresh() function every minute.

The system is smart enough to know that it needn’t refresh a datasource set for 4 hours unless the current time is four hours since the last time it was processed. This is managed by column H (Last Refresh (milliseconds)), a field that captures the instant a refresh occurs and compares it at each triggered execution to see if the datasource’s settings warrant another refresh.

Failed Refresh

Unlike Klipfolio, you’ll get no alerts when a data source refresh fails.

This system sends an email the instant one fails to refresh properly. This makes it possible to stay ahead of your clients and the problems datasource failures tend to cause for partners. The notification looks like this, but it can be customized. You can also enter multiple email accounts into the Email Notifications column by comma delimiting them.

kRefresh Fig 2

 It is also possible to send SMS alerts when a resource fails, but this requires an SMS gateway such as Twilio and some script modifications.




]]> 2
70″ Klipfolio Dashboard In About An Hour Sun, 03 Nov 2013 21:07:08 +0000 Three years ago a client asked me to configure and install a 70″ flat panel dashboard with three rotating screens of KPIs using the Klipfolio dashboard. Setting aside the build-out effort for the three screens of KPIs, the total estimated cost was north of $10,000 and potentially many days to configure and implement the final solution.

Today, it’s about $1,500 and only takes about an hour to hang the display, configure the display for network access, and broadcast the dashboard. And what’s truly amazing is that the bulk of the cost is in the display itself (about $1,379).

It is now affordable in many business scenarios to spread flat panel dashboards around, and they don’t all need to be 70″ monsters to be effective. Some use cases require only a 38″ display – combined with mounting hardware, it’s less than $425.

The trick to doing this so effortlessly is ChromeCast. It costs about $35 bucks, installs in less than five minutes, and transforms any flat panel display into a high-resolution Klipfolio-ready presentation tool. 

Certainly, some iOS fans will argue that AppleTV is also an option in this mix. While true, using AppleTV for a fixed business dashboard is like turning off a light with a wrecking ball; you’re wasting a lot of tech energy and a few bucks to boot. Plus, you need to worry about a power source for the AppleTV and where to hide the HDMI cable.

With ChromeCast, you plug the dongle into the HDMI port and then use the integrated power cable to draw current from an unused USB port in the TV. No cables, setup in seconds, and connected to wifi in a few more minutes.

Broadcasting to ChromeCast from any chrome browser tab is also free and effortless. Just download the free ChromeCase extension, launch the Klipfolio dashboard, configure the display options, and select the ChromeCast option.

The last element you need to worry about is the cost of a mounting bracket (about $129 – cheaper for smaller displays) and performing the mounting task itself. The last time I installed a 70″ display it took me about two hours. A professional can do this in 30 minutes.

No Worker Left Behind

With an abundance of large flat-panel displays in the sub-$800 range and the ubiquity of ChromeCast, I predict a surge in special purpose, fixed-location dashboards that are designed specifically to support more granular operational activities.

Given these off-the-shelf parts, Wifi ubiquity, and the ease of disseminating business intelligence metrics, no worker should be without the best data available to help them do their jobs better.

But Wait, There’s One More Thing…

As I mentioned above, any Chrome browser tab can cast its display to ChromeCast. But what’s not obvious is that any Chrome browser tab may also be instrumented through scripts. This makes it possible to utilize an array of dashboard end-points depending on the time of day. 

There could be certain metrics displayed in the morning and entirely different metrics and content at noon. This idea gives rise to the the idea that BI dashboards should be programmed similarly to the ways we program all types of content. Indeed, a company with a network of displays must think about how to blend a variety of content types to best serve its audience. 

]]> 0
Canva: Gateway to InfoGraphics? Mon, 23 Sep 2013 17:13:53 +0000 I just received beta access to a pretty cool graphs design system – Canva. It presents itself as neither a BI tool nor an InfoGraphics tool. But it could play a peripheral role in both BI and InfoGraphics with one small creative tweak. More on that shortly.

What is Canva?

It’s a simple and effective approach for creating flyers, business cards, posters, and graphical artifacts for all manner of publishing projects. It appears to be a very well-deisgned cloud implementation as well. Having used a number of purely cloud-based design tools over the years, the developers have certainly created a responsive and highly useful UI and UX.

Canva [beta] is unique in that it already has a well-designed revenue model. The use of professional graphics, styles, and backgrounds cost a buck each. That doesn’t seem like much until you leverage a bunch of them as you effortless pick from a seriously big library of resources. There are many free images and styles but you’re likely to be attracted to the professional objects for obvious reasons.

And Canva has a wonderful search feature that allows you to find practically any graphical imagery for your projects. It streamlines your graphic design productivity while providing frictionless access to resources that make you look like a pro. And it doesn’t rule out the ability for you to upload your own images into its library model for your own private use. Ideally though, you should be able to share your images for free or as micro-priced artifacts for others to use or purchase.

While the application and revenue model are seamless and your output will be rapid, the pricing (a dollar per artifact) may not be economically sustainable. I don’t fault Canva for taking a stab at a revenue model right out of the gate; we need to do business with companies that are sustainable and it’s wise they are establishing customer expectations early. And designers – especially professionals and those non-pros who aspire to create professional-looking results, are typically ready to offer up credit cards for micro-payments.

But therein lay an issue – a lot of George Washingtons in a small pile suddenly causes designers to think twice before clicking “publish”. You can create designes as much as you like without paying. To remove watermarks on non-free images triggers the payment gate. I wonder how many designs would get published if images were a buck for the first one and just 25 cents for each one thereafter? I suspect a bunch more – perhaps marginally more thus optimizing revenue potential.

Dynamic InfoGraphics

I create InfoGraphics from time-to-time for clients. Typically they include real charts – pies, bars, etc that are based on real data of course. This is a compelling way to tell a story. Corporate reporting is also something I’ve explored using both Klipfolio and experimental Google Apps such as DashOne.

I was hoping that Canva had a way to integrate images by reference, not [just] by value, but it doesn’t support this seemingly obvious architectural model. I’ve written about the problems of sharing by value and the benefits of integrating content by reference. If Canva would add this, it would be possible to create dynamic InfoGraphics.

A dynamic InfoGraphic could be created as a blueprint for a report. In the report there would be various references to charts that actually exist in BI tools such as Klipfolio. As the data changes in Klipfolio, new versions of the InfoGraphic reports would be updated in real-time making it swift work to republish a new version of the report without requiring you to snag copies of charts, save them locally, then upload them, and finally drag them into position. It should be a click-and-go process.

Klipfolio, Canva; c’mon – put your creative caps on and change the world.



]]> 0
Dashboards Need Identities Too Fri, 20 Sep 2013 16:37:29 +0000 In a recent conversation over on the Google+ Klipfolio community, Jon Schvili raised the issue of assigning multiple accounts for salespeople who are all in-office workers and who simply need to see a single instance of a Klipfolio dashboard on a large monitor.

Most, including Klipfolio for obvious revenue-biased interests, would assume that each salesperson should have their own login and unique access to Klipfolio themselves. But they don’t really need this, so it begs the question – how should the dashboard be implemented as it pertains to a user account and more interesting, a revenue model?

Assuming the data in the dashboard is useful only when the salespeople are in office and performing their duties, this warrants a different posture concerning account management with regard to dashboard technology.

There are many contexts where dashboards are beneficial and anonymous use of the data visualizations is useful to business operations. And it has little to do with the size of the monitor or the number of people viewing it.

Imagine a dashboard affixed to the outside of my office. It is ostensibly an iPad. It is placed adjacent to my door and it contains information about my schedule, specific travel plans, current status of my projects, and other analytics that I disclose to co-workers in an effort to provide transparent insights that allow me to work better with colleagues.

And it is touch-enabled to allow visitors to my locale the opportunity to request a meeting, update their own status in relation to work, and to drill into more details related to their interest.

If my door is closed, it serves as a personal proxy providing access to a deeper collection of information that exposes data in my absence or unavailability. The data used to update this dashboard comes from a variety of sources and it is also accessible from the corporate network. I can update the dashboard proactively through SMS and many of the metrics update themselves intelligently based on business rules and filters pertinent to my work.

This dashboard is intended for no one in particular and everyone in general.

I submit that there are pervasive opportunities to publish business and worker metrics in similar ways to achieve greater productivity and awareness throughout business operations. Today, this idea may seem far-fetched; tomorrow it will be common-place as display and visual surface technologies become less costly.

Dashboards Need Identities Too

If you take the idea of role-based dashboards to a logical conclusion, the common understanding of account management and role-based access controls are turned on their head. We assume everything in the enterprise IT stack should be worker-centric. This is simply too narrow a viewpoint to allow for unique use cases such as Jon’s sales team dashboard or Bill’s personal dashboard kiosk.

To meet business requirements such as the examples mentioned above, some dashboards need discrete identities are are functionally no different than that of the workers.

In Jon’s scenario, which is becoming increasingly common, there should be a mechanism for not only identifying a dashboard as an actor, but there should also be a unique revenue model to support such implementations.

Klipfolio would be wise to recognize the unique attributes of this emerging model and establish success patterns for instantiating and managing this element of the Internet of Things expands.

]]> 0
Klipfolio Raises the Bar by Reducing the Friction Sun, 23 Jun 2013 14:04:50 +0000 For more than two years I’ve envisioned a day when Klipfolio klips might be easily shared as centerpieces for reporting and collaboration purposes. If you’re familiar with this superb dashboard and BI tool, you’re also frustrated because your data visualizations (also known as klips), have been resting comfortably behind the walls of a wonderful data visualization garden.

Until now, to share a klip with anyone in your organization you had to share the dashboard that the klip was in or force that Klipfolio user to create a dashboard and include the klip. In both cases, the licensing model for Klipfolio demanded that whomever wanted to see the klip, also had to pay for a full Klipfolio license. This was not conducive to knowledge sharring and for the most part, this is still the case with one exception.

The designers of Klipfolio have added a new feature that allows you to export klip snapshots into PDFs, email, and simply downloaded image files. The feature also supports the exportation of entire dashboard tabs. While seemingly not a major upgrade to the service, this kicks open the doorway to unleash some of the visualization benefits that Klipfolio is so adept at providing.


Ideally, this new feature would also allow access to klips through an API or at least a way to automate the export in some fashion. As it stands, human capital is required to create a klip and dashboard instances, a real issue when the data (and the resulting visualizations) change. To that end, a key capability concerning Klipfolio is missing.

There’s no event or notification model available that provides interested parties an alert or awareness that a klip has changed.

Imagine a process that allows specific people in your organization to subscribe to klip changes and receive timely updates with the latest klip snapshot attached. This is what business users want (and need).

To be clear, I have been using klip snapshots for a variety of purposes for well over a year. The process of capturing snapshots has been tedious; it’s better with Klipfolio v1.21. But once I generate them, they have proven to be very useful artifacts especially when swept up into other services that are automated and also support open distribution and collaboration.

Leveraging Klips

As soon as I saw and used the new klip image export feature in Klipfolio v1.21, potential use cases that I was already supporting in practice quickly became more useful in a general sense. In fact, my enthusiasm for extending the usefulness of Klipfolio was so great that I began expanding many of the loosely associated scripts I already had in Google Apps, to more fully embrace the new capability in a unified manner. Less than 12 hours later, I had the framework of a new collection of services designed to help my BI customers take full advantage of klip snapshots.

klipCAST is a collection of web services tools designed to expand the accessibility and usefulness of klips. The services in klipCAST address key requirements that I’ve encountered using Klipfolio in actual engagements. Here are some examples.

BI Insights

In every organization there are producers and consumers of information. Producers tend to outnumber consumers by many factors. Klipfolio dashboards tend to help producers create stories through data visualizations. However, conveying what they see and providing interpretation is difficult to achieve solely in Klipfolio. Klipfolio dashboard users are basically stuck on an island of knowledge and klip exports, however they may be achieved, are [metaphorically] a message in a bottle.

Creating insightful PDF reports, with klips serving as the visual centerpiece, is an ideal solution to captivating insight and interpretation from those who have full access to the Klipfolio platform. This challenge has been addressed by other BI solutions. RoamBI Flow (for example) specifically focuses on this issue by streamlining the flow of graphical artifacts to casual BI consumers who do not need RoamBI licenses, nor would this class of users want licenses.

One might argue – why not simply give the consumers of this information full access to Klipfolio?

If you’ve built BI solutions for clients, you likely have encountered many reasons why this is not an ideal approach. Here are some of my key arguments to this idea.

  • License fees – Why pay hefty license fees for casual users who are [for the most part] interested in a read-only experience? Information consumers are typically very different users than dashboard users. They generally don’t want or need drill-down and dynamic analytic capabilities – they are report readers, not data analysts.
  • Insight – Pushing casual visualization consumers into a dashboard eliminates the ability to shape the conversation about specific interpretations of the data. Some (perhaps those at Klipfolio) might argue this is precisely the domain of klip annotations. Annotation comments about a klip (if they are seen at all) are generally too casual to provide an organized and insightful report. Imagine asking the board of directors to log in to Klipfolio and read all the comments about every klip related to manufacturing (for example). Furthermore, the collaborative nature of annotations may result in true insight being developed external to Klipfolio in [business] social networks, email threads, and other document sharing platforms. Ideally, klip snapshots should have the freedom to attach to narratives of many types and potentially from many people.
  •  Broad Distribution and Immutable Accessibility – In many organizations, content artifacts need to traverse many types of systems and presentation venues. There are no mechanisms in Klipfolio that allow you to share discrete links to specific klips. And even if there were, there is no licensing model that supports such read-only, casual-viewing behavior. Indeed, Klipfolio lacks the ability to share by reference.

These challenges led me to develop klipCAST™ Insights, a solution that allows you to download klip image snapshots to a Google Drive folder where they are magically swept up into a custom report template in Google Docs, and where they can be surrounded by narrative and exported as a PDF or HTML document and ultimately emailed to a controlled distribution list. The service also supports direct integration to Box (and other cloud services such as DropBox). And because Google Docs is a fully collaborative cloud platform, creating narratives in the context of teamwork is a natural extension.

The example Insights Report is shown here with narrative text and a klip snapshot. This is generated automatically and presented to the user as a native Google word processing document so that content can be created about each of the designated klip snapshots, can be narrated. The complete PDF version of the report can be viewed here.

Typically, clients prefer that reports like this be generated and then allow the workflow to pause so that the complete narrative about each of the snapshots can be developed. Doing this in Google Docs provides the ability to manually or automatically share invitations to collaborate in real-time. Once the document is deemed ready for its target consumers, it is flagged for distribution and then sent as an attachment via email, uploaded to Box, or used in other ad-hoc ways. The klipCAST framework can easily support automated distribution to people and other services.

klipCAST™ Insights maintains an index of klip artifacts that allows me to control the process, manage the distributions of each report, and define multiple report templates — all in the easy-to-use Google Docs cloud. The design anticipates the general idea that there are many types of casual consumers who can benefit from different report distributions which each may contain different klips or klips utilized in more than one report. And Insights also factors in more simplistic reporting concepts such as emailing klips as attachments to a group or into a secure collaboration environment.


When we think of business “dashbords” we typically imagine all sorts of KPIs and visualizations to shape understanding of multitudes of data points; the more the better (or so it would seem). The all-inclusive BI model holds little merit for workers who need highly-focused KPI experiences. These users also have less dependency on the data visualizations than typical dashboard users and the types of information they seek generally include a fair range of latencies.

For example – consider the BI requirements of a specialty sales team that has laser-like focus on three key metrics – sales this month, sales this year, and perhaps average selling price. They also want comparative year-over-year, and month-over-month values in a concise display. They have just two immediate questions – where have we been, and where are we now? Their fundamental definition of a “dashboard” is uniquely different from a general definition promoted in BI circles; it might have only three klips and the klips might be updated only once a week.

Example MicroDash with Klipfolio Klips

Imagine a micro dashboard (a “microdash”) at a discrete web address that the team can monitor on their desktops, large office monitor, or mobile devices. Far less than a traditional dashboard requirement, this is mostly a KPI publishing challenge. Unfortunately, BI providers tend to skip over the less-is-more advantage for some use cases and roles within the organization.

As it turns out, Klip snapshots provide just the right vehicle for addressing this requirement with what I call a “microdash”. There are numerous business cases where a microdash is required and none of them warrent the learning curve or the license fees for a full compliment of Klipfolio or any other BI tool for that matter. But most important – addressing this need is ideally met with Klipfolio because the chances are good that the klips already exist in an existing dashboard context. The newly available klip snapshots broaden the reach and usefulness of Klipfolio.

klipCAST™ Publisher provides a simple and effective way to create definitive and focused collections of klip snapshots. As new snapshots are dropped into Google Drive, they quickly find their way into their designated microdash pages. And because I’ve chosen to implement this in Google Apps as a web service, it can be provided through an obscure URL or with fully secure login requirements.


Have you ever wanted to blend a klip into a completely different BI tool?

Klipfolio is the grown-up in the family of lightweight dashboard tools. It’s the premier tactical business intelligence platform and it has the most advanced data source architecture, the best visualizations, and it’s very reliable. However, there are some use cases where a blend of Klipfolio and other BI platforms may meet your business requirements more concisely.

Imagine klips blended into a Geckoboard dashboard. Or consider the advantage of integrating klip snapshots into Panic’s Statusboard for mobile BI. For a variety of reasons, this makes sense in certain contexts. In the age of open standards and web services, best-in-class is often defined as a collective of best-in-feature services that are loosely coupled.

In the following [example] Geckoboard, it’s not difficult to pick out the Klipfolio klips. Obviously, the klip-based widgets are latent compared to other widgets in the dashboard. Whenever klipCast™ discovers new snapshots in Google Drive, they will be updated to this dashboard.

Example Geckoboard with Klipfolio Klips [live version]

These ideas are made possible with klipCAST™ Fusion, a web service designed to push klip snapshots into GeckoBoard and other lightweight dashboard tools without extensive programming. The web service leverages the core elements of klipCAST™ to allow you to directly sync your latest klip snapshots and push them into any GeckoBoard dashboard using the JSON push API. And klipCAST™ Fusion is capable of supporting custom connections to any platform that support modern APIs.

klipCAST Control Panel

I mentioned earlier that klipCAST has a core set of control features that allow me to orchestrate the distribution and management of klip snapshots. While rudimentary (and seemingly constantly evolving), it is a simple spreadsheet that is automatically updated as new (or updated) klips appear in the klips folder in Google Drive. In it are various attributes that can be added to each klip snapshot to precisely control size and aspect of the presented images.

klipCAST™ Availability

I plan to release klipCAST with the framework and source code that created the examples described in this article, in a few weeks. It will be sold as an affordable Google framework of documents and automation scripts including all heavily commented sources (javascript) and a general implementation guide. Ideally, business users of klipCAST will have some skills in Google Apps scripting to shape the services to meet specific client requirements. However, Vizyx will also provide professional services central to expanding the horizons of Klipfolio.

If you’d like to be kept informed about klipCAST™ availability, drop me a note and mention klipCAST in the comment area. If you’d like to chat directly with me, feel free to contact me as well.

]]> 0