When it comes to using a Business Intelligence (BI) platform, typically, a company will fall into one of two scenarios regarding the usage of these platforms. These scenarios are 'direct use' or 'embedded use' of the BI tool. 'Direct use' means that BI users log directly into the frontend of the BI tool and use it stand-alone or as provided. In contrast, 'embedded use' involves programmatically embedding parts of the BI content into another application, usually for resale.
In the past, these two usages certainly would have been routine to see, but these days, even the companies using these tools for 'direct use' still have a strong need for embedding. The wide adoption of the cloud and the recent work from home shift caused by the pandemic has made the desire for a single collaborative location to access all tools more prevalent. Now instead of 'embedded use' being the domain of those looking to resell multiple applications as a single product, today, we find that everyone needs embedding, to a point. Nearly every company has some employee portal or maybe a SharePoint site that acts as a centralized location for documents or information in general. It only makes sense that people would want to embed the dashboards and reports coming from their Business Intelligence tool into their other sites. Since embedding has become vital to everyone, let's look at some embedding-specific features and why you need them if your goal is to embed your BI application in another site or application.
Embeddable Content (duh?)
The critical component of embedding is the ability to build content (dashboards and reports) in your BI tool and show it within another application or website. For those in the 'direct use' perspective, simple content embedding has become very important to get information out to as many people as possible. Easy access to trusted and pre-built content also solves the excel problem of everyone building and peddling their self-built content. If you need access to company information, you come to one place and know that the data you see is vetted and accurate.
Once you plan to embed content in another site, you need to answer the question 'how will you handle security?' Behind the scenes, every BI tool needs to handle the security question somehow. This answer could come in the shape of an anonymous login, where the user never sees a login screen, and everyone has open access. Or perhaps a single sign-on (SSO) where a centralized location handles security across multiple applications. And finally, you have the option to implement something custom. In the case of something custom, your developers might want to set up the system such that the target system for the embedding also handles your login. For example, the site you're embedding content into could be an application that requires the user to enter a username and password to gain access. When a user navigates to BI content, you probably don't want to force the user to log in again to get past the security for the BI tool—that would be weird; you already logged on! Instead, you might have your system silently log your user into the BI system once you know who they are from their initial login. Doing all this would require API support from the BI tool to allow this type of setup. Regardless of your security choice, this is something that you are going to have to answer, so it's worth thinking about early.
Ease of Use
The last thing users who want to consume content wish to learn is how to use a BI tool. They want content, and they want that content to be straightforward and, in short, easy. The need for ease of use is why embedded BI is so fantastic; it allows users to access an online portal or intranet that is already familiar to them and see the content. This same push for ease of use is where the term Silver Service comes into play. Silver Service is the concept of serving up content on a silver platter; BI content needs to be made intuitive and easy to consume as much as possible. Too often, you will hear content consumers say things like 'I don't want to have to work for my data, just give me the answers!'. In many ways, properly embedded BI solves any ease of use concerns you might have.
Styling and Customization
I'm always surprised when I speak with clients transitioning from legacy BI tools as a pervasive question is 'can we change the colours of the visuals?'. There are quite a few tools on the market that don't have the flexibility to allow for simple colour changes. When embedding, a common requirement is to ensure that the content matches the aesthetic of the hosting site. Flexibility around styling and potentially even meeting the complex needs of a graphic artist is often essential. The ability to set the colour is just the first step; what about fonts, borders, shadows, gradients, images and more? Many larger companies have strict branding requirements that must be met for all content, especially when the content is public, but internal content is seeing this demand too.
The styling of the report/dashboard content is undoubtedly one thing, but another is the styling of the entire BI application. Toolbars, menus, popups and even error dialogues can look very strange when you have embedded content styled to look like the rest of your application, and you suddenly get a message that looks like it came from another planet. This visual discrepancy is where white labelling comes into play. The problem is that you have a style on your hosting application and the BI content you've embedded but sometimes parts of the BI tool 'show through' when embedding. White labelling is the ability to not just style content but rather the application providing the content itself. For example, if you decided that reporting content should be behind a separate login screen, the ability to white label (effectively restyling) the login screen itself to fit your need would be an essential consideration to embedding for you.
Your users probably like to see content in their native language rather than the native language of whoever created your Business Intelligence application. Many BI tools allow you to provide localization files that translate the application into any vernacular you wish to support. More advanced systems can offer different languages automatically depending on the user viewing the embedded content. Check if both the embedded BI content and the application can support a translation through localization. Having content that is in the correct language while a toolbar, popup or error message is in another language is just awkward.
Earlier it was mentioned that there had been a trend toward embedding for all types of BI users. Still, Multi-Tenancy is one of those features that remains firmly in the camp of the traditional embedding use case. Multi-Tenancy is the ability to host multiple independent instances of an application using a single environment. This setup is best when reselling a service because you want to keep your client's content (users, data, everything!) separate from other clients. If your clients were two large banks, a mistake that allowed one to see the others' data or information about their users is unacceptable. Multi-Tenancy solves this issue by essentially splitting a single server into multiple and keeping everyone's interests apart from and secure from one another. A case can also be made for multi-Tenancy in the 'direct use' model when departments have sensitive information that must be kept entirely separate from other departments.
Embedded Exporting (and other features)
When it comes to embedded content, it's not just the content you need to embed; it's the features around it too. One of the most common features that users expect to have with dashboards and reports is exporting content to other systems like excel. The problem is that many of these features are available by using toolbars and menus within the application—toolbars and menus that you would want to have hidden in an embedded scenario! The answer is to expose these features via a quick button directly on the dashboard or report that you have embedded for single-click access to these features. Feature embedding is also essential because it allows users to gain additional access to features without ever touching 'the application' itself.
API support allows developers to modify and extent features within the base BI platform and access various features programmatically without touching the user interface. Without solid API support, embedding is just a pipedream. API support will allow for actions like external administration—maybe you want to add/delete users from outside of the BI tool itself? You might also have specific requirements like a custom system that allows users to receive data notifications that require their attention directly in your application. API is like your infrastructure; the stronger it is, the more options you have when customizing the experience you wish to provide.
Menus and Navigations
When you use a BI tool directly, navigation between content usually isn't something you need to worry about because the tool has these sorts of options built into its interfaces. Embedding brings you a problem of how the user will move from dashboard to dashboard when embedding just the content. Some BI tools solve this problem by providing menu controls that live directly on your content. These menus are customizable and allow you to provide a way for the user to navigate around what you have created.
Usually, embedded content implies just the viewing and analysis portion of BI tools, but sometimes you want to empower users to go further. To do this, you might want to give users a clean and governed data set and provide them with the ability to explore this data or even build their own reports and dashboards—all embedded without leaving your frontend application. This one can be tricky as few BI vendors properly support truly embedded self-service.
As you can see, there are many considerations you need to vet out if you are looking for BI, even if you would typically fall in the 'direct use' category—almost everyone ends up needing embedded BI at the end of the day. Make sure you are choosing a BI tool that meets your present and future embedding needs.
If you'd like to learn more, please check out my educational content (Off the Charts with Jeff) on all things BI, Dashboards, Reports and Dundas BI.
About the Author
Jeff Hainsworth is a Senior Solutions Architect at Dundas Data Visualization with over a decade and a half of experience in Business Intelligence. He has a passion for building, coding and everything visual – you know, shiny things! Check out "Off the Charts... with Jeff", his platform for great content on all things analytics, data visualizations, dashboards, and business intelligence. There’s something for everyone!Follow on Linkedin