Posts Tagged ‘pervasive’

creating embedded business intelligence

Tuesday, December 29th, 2009

To embed business intelligence content means to make it available within the context of another application or service. In this way, it becomes an essential part of that application or service. Thus, the goal of embedding business intelligence is to provide value to business workers by allowing them to derive insight from BI content from anywhere – regardless of the implementation. This improves the decision making and storytelling ability of all workers as they have BI available to them no matter where they go – virtually – within an organization.

Some existing examples of BI vendors allowing embeddable BI:

The creation of these existing examples was driven by the need to have business intelligence available within an operational process (closed loop BI), the popularity of mashups within the context of business centered applications, and to allow popular end user applications to work together. Embedded business intelligence allows an organization to provide workers and consumers with information that is relevant to them in ways that are familiar to them – which brings us closer to the goal of pervasive BI. 

There are a few ways to think about embedded BI:

OEM

The traditional way is that of the OEM model.  This is where a software vendor will take pre-built software, such as Crystal Reports, and embed it into their own thick or thin client application as means of providing a level of business intelligence without having to build it on their own.  Sage’s Accpac solution is a great example.  This solution provides businesses with financials, operations, and customer management software, which embeds Crystal Reports as a means of reporting directly within the application against the real-time data that the application is processing or creating.  This concept of embedding one manufacturer’s parts into another has been around since the 1960’s.  For software, this is done via APIs that are provided by the software vendor.  These APIs can either be client-side or server-side.  For example, the Crystal Reports embedded reporting allows for either the creation / editing of Crystal Reports content  or the processing of that content via an embedded server solution.

 

Platform based APIs

Another way to embed BI content is to leverage APIs provided by the BI software platform as means to embed the already processed BI content into other web applications.  This is similar to the OEM model in that APIs are leveraged as a means of embedding content; however, in this scenario the BI content is processed by a BI server platform and then “served” to the parent application. Again, SAP provides this functionality with APIs for the BI platform, Web Intelligence and Crystal Reports; however, there are other BI vendors that also provide this capability.  For example, content from Jaspersoft, Pentaho, and SAP can all be embedded a web application (e.g., corporate portal) to deliver up-to-date BI content that is relevant to the specific end user’s needs.

 

Vendor Integration Points

There is also the possibility that the BI software vendor has provided integration points that makes embedding BI content even easier than having to do so programmatically via APIs (as the previous two methods discussed). Both SAP BusinessObjects Live Office and the SAP BusinessObjects Portal Integration Kit for SharePoint are examples of this type embeddable BI. There is also the concept of BI widgets that provide specific types of functionality that can be embedded into other applications.  A great example of this type of functionality are the widgets for QlikView.

 

Web Services

The use of web services has also become popular amongst some BI vendors as a way to leverage the BI platform for the creation of insightful content that is then exposed to web service consumers.  This is a good way for BI vendors for expose parts of their platforms, reporting engines, and analytic engines without having to create a full API that would be required for both .NET and Java applications.  SAP has dones this through integrations with Salesforce.com, with the new SAP BusinessObjects BI Services, and with new feature from Web Intelligence that allows for the quick and easy creation of web services based on Web Intelligence content. The same is also possible with Information Builders WebFOCUS, Microsoft Excel, MicroStrategy, and many other BI vendors.

 

While these different means of embedding BI are useful in their own right, we must consider what we want to achieve as BI vendors when we allow others to embed our content.  The goal is to make our content as prolific as possible while enabling organizations to achieve their goals in a more efficient and informed manner. With this in mind, how we can extend these different ways of embedding BI in an effort to become more flexible while making things as easy as possible?

 

A business intelligence platform itself is not really a product that anyone necessarily wants to use.  It is more of a means to enable an organization to be more effective at making decisions.  As such, we need to make it easier for content created within our products to be embedded everywhere a user may be – inside or outside the organization.  This could be by embedding content directly into applications used by the sales team so that they can get immediate information about past opportunities with their customers.  It could be achieved by providing a means for exception based alerting of BI content where an manager in support is notified when a negative survey response is entered about one of their support representatives – without having to login to a separate application.  There are many ways that we can improve our embeddability. 

Improved on-premise service based platform
As BI vendors we should focus more on the development of platforms that can easily create content, store that content, and then easily push the content out to any other application in an organization. For example, rather than focusing on creating portals to allow an end user to interact with our content maybe we should focus more on the creation of a platform that stores all content in a manner that is easy to access via XML or JSON.  This content could be a report, an analytic, a data integration job, or even our administrative functions to allow for the creation and scheduling of content via a web services based call. 

Improved off-premise service based platform

Many BI vendors have done a great deal of work to create on demand solutions that allow their customers to host their BI content on the web.  In addition, some BI vendors have enabled their products to post content created within an application directly out to these on demand solutions.  We need to take this further to create processing engines that are hosted in the web and on demand interfaces to programming IDEs which allows for the creation of web applications directly in the cloud rather than having APIs on a developers desktop.  This should all be done in addition to provide classic APIs available for those organizations that are developing two-tier applications or may not want to face the security challenges of hosting content or code in the cloud.

 

Consistent and easily customizable UI for all content creation applications

It is important for BI vendors to create their applications with a consisten UI.  Not only does this significantly reduce the learning curve for additional products, but it also makes it easier for developers of applications to embed our software.  If a developer must be concerned about the learning experience for the end users of their applications, then that gives them one more reason to not want to embed our applications.  By creating an easy to use and consistent interface, we are making it easier for those developers by ensuring that they do not have to worry about the UI presented by our software.  In adddition, the UI for all content creating applications should be customizable – without code if possible.  For example, the removal of toolbars should not require complex code – this could be handled via a flag in a configuration file.  The same should be true for hiding splash screens, windows within the product, and icons.

 

Ease of creating web services within all content creation applications

All content creating applications should be able to also create web services based on that content.  For example, with SAP BusinessObjects Web Intelligence XI 3.1 SP2 it is possible to create a web service directly within the content creation window.  You simply select your table (or chart), click a button, and you are creating a web service for the data contained in that table (or chart).  It is only a few more clicks to publish this web service for consumption.  We should not be limiting this to only on-premise services – we should provide this for off-premise services as well.  Maybe we shouldn’t even be restricting this to content creating applications? What about ETL applications? Finance applications?

 

Better support for exception based BI

By building in better support for on-premise, off-premise, and web services creation within client applications, we are making it easier to also handle exception based BI.  We should take this further by allowing our platforms to handle the creation of alerts via web services.  For example, we could allow a finance application to call our platform directly via XML or JSON to create a alert against a report or analytic contained within our platform for a specific user or a group of users. (We could also allow the creation of the user or group of users via web services – called from within the administrative application for the authentication system utilized by an organization.)

Extending Collaborative Business Intelligence

Sunday, August 2nd, 2009

When it comes to making decisions with business information it is important to remember that there is never a single person making those decisions.  There are divisions, teams, and groups that are formed to tackle specific projects or that collaborate within their day-to-day jobs in order to make decisions that affect the business as a whole.  This can be something as grand as which employees to layoff or something seemingly as small as which support incidents to route to which support engineers.  In either case, there are business rules and processes that are followed and there are multiple individuals that contribute to the overall outcome.

The idea of collaboration within Business Intelligence is not a new one.  SAP BusinessObjects has the ability to enable discussions within the InfoView portal interface so that users can discuss the information presented within reports or documents.

BOBJDiscussions

There is also the Business Intelligence offering from Good Data, which allows for the hosting of Business Intelligence content within the cloud and the collaboration of that content directly within their analysis space.  Good Data allows for comments to be made against entire reports or for annotations to be made directly within each data element (e.g., cell in a table).

GoodDataAnnotations

Antivia has also built their Antivia Desktop product which combines Business Intelligence with popular social network sites and the collaborative technologies introduced by Web 2.0.  Their product allows for the rating of content, discussions, and the creation of communities with an organization geared towards discussing the effectiveness Business Intelligence.

While all of the above mentioned examples are great in terms of the current marrying of collaborative technologies with Business Intelligence, I think that we need to take this further.  Not only do we need the ability to provide more collaborative functionality directly within Business Intelligence software, but we need to find a way to implement it so that users want to take advantage of it – to basically make it fun.  For examples of this, we only need to look as far as Amazon. A few of the key features that make using Amazon enjoyable and fruitful are the wide variety of products, the ability for users to review products, and the ability for users to create their own “lists” of products based on a theme.  All of these things have allowed Amazon to not only build a great retail site, but to also create a sense of community.  Jared Spool talks about these features (and others) in his talk hosted by User Interface Engineering.

How can we leverage the the success of Amazon’s community model and combine it with a new way to think about collaborative Business Intelligence?

In terms of collaborative aspects Business Intelligence software should include the ability to not only rate and discuss content, but to also collaboratively create content.  For example, let us say that I am an analyst within HR and I want to analyze the turnover situation from the current date compared to a year ago.  I fire up my BI product that my company has purchased, I find the data that I think is a good starting point, and I start analyzing.  At this time, I am exploring the data that exists and attempting to come up with some insights around how turnover has changed from last year to this year.  If I find something interesting then I am going to save that view and ask someone else to take a look at it.  Currently, I have to save the view as a report (or something similar) and then either ask my co-workers to view it, send it to their email, or distribute it via some other means.  Why not include the ability to contact my co-workers via the BI system and invite them into a workspace where we can look at my report and analyze it together in real time.  This analysis would include talking about the insights that are visible and also modifying the report to better tell my story of how turnover has changed.  Not only does this make the final story more complete (through multiple view points), but it also provides my co-workers with the same understanding that I have about the situation. (For more information on real-time editing, see this Wikipedia article.)

Let us take this further and add in the community functionality that we see on Amazon.  The turnover story would not only be interesting to HR and senior maangement, but also to the employees at large.  Obviously, there is some danger in sharing this type of information as it may make others leave as well; however, in the interest of fostering a community of users within an organization and being transparent, I want to provide all of the employees in the organization with access to this report.  So, I publish it on a company-wide portal.  The report by itself does not really provide the functionality for the employees to comment on the content or discuss how the information could be better presented – unless of course the portal where I have published the content includes this functionality.  What would be good is to have the ability for all employees to participate in discussion threads about the insights seen in the report, rate the report in terms of how effectively the information is presented, and provide feedback to the senior leaders about how they can improve the turnover situation.  By providing these features, the Business Intelligence deployment would be providing the mechanisms to foster a sense of community within the organization.  In addition, the creators of new BI content, administrators, and organizational leaders would better understand how information is being utilized.

The end goal of the suggestions presented here are to leverage the power of the individuals within an organization.  Those individuals are already collaborating on business decisions as they go through processes, perform they day-to-day duties, and work on special projects.  We should allow them to continue collaborating as they begin using Business Intelligence content to enhance their decision making abilities.  This is another way that we can ensure that BI becomes pervasive.

Addendum: Which other Amazon features would be useful in BI?

“Frequently Bought Together”

AmazonBoughtTogether

This type of functionality would be good to provide end users or analysts with suggetions on for other  BI content is typically viewed by users that view the content they are currently viewing.  For example, if I am looking at a visualization showing me the turnover in HR, then this feature would show me other content (reports, dashboards, visualizations, etc…) that also discuss HR turnover.

“Customers who Bought this Item also Bought”

AmazonAlsoBought

This type of functionality could come in handy for BI with a slight twist.  For example, it would be good to not only show other content that discuss HR Turnover (as stated above), but also other content that discusses HR or turnover in general.  This content could be corporate BI content, other corporate content, or even content from the Internet.

“Inside this Book”

AmazonInsideBook

This type of feature has been implemented by some BI vendors already as a means to expose the metadata for BI content.  The use of BI content metadata extends into the areas of not only presenting “one version of the truth” and allowing users to see where the information is coming from, but also allows for the linking of content and enhancing search capabilities.  For example, in the screenshot from Amazon one can see that they have listed the first sentence, key phrases, and new phrases that exist in the book. This would translate nicely to presenting the description of a report, key phrases used in the report (as they relate to the business), new phrases that appear, the person that created the report, the date it was last modified, and even the last person that viewed the report.

“Listen to Samples”

AmazonListen

This would be an interesting way to link BI content to visual and auditory media that is related to the report, visualization, or dashboard being viewed.  For example, if I were looking at the HR Turnover report then I would see links for the latest earnings call, a recorded meeting that discussed turnover in the organization, or maybe even a link to a video of a recording traning session on how to motivate employees.

Simplicity, interoperability, and tiered functionality for Business Intelligence pervasiveness

Tuesday, July 14th, 2009

Every employee within an organization requires information to do their job effectively.   So, when considering the types of users for a Business Intelligence deployment, everyone must be considered.  This includes the business analysts, power users, casual users, management, and the executive suite.  This wide span of users also covers all departments within an organization (e.g., Human Resources, Operations, Marketing, Legal, IT).  It should also be considered that the role for each of your users can fluctuate as they perform their day-to-day jobs – especially within smaller or more flexible organizations.  John Brookmyre presents this very well in his post from December of 2008. The key point from John’s post that really interested me was this:  “…BI interfaces could be improved if we designed them with the aim to empower users to move freely and use all of the functionality available”.  This is one of the critical issues regarding how Business Intelligence vendors can make our products more pervasive.  Our users are intelligent.  They understand the data of their business and most of them are naturally curious to follow an insight to its conclusion.  In order for BI vendors to help organizations make BI more ubiquitous, which would allow insights to be made and stories to be told by all users, our products and workflows need to be simpler and we need to provide interoperability.  In addition, we should expose functionality only when it is necessary.  This means presenting the novice user with basic functionality and gradually exposing more functionality.

Simplicity

Simple, but functional is key to any software interface.  When thinking about the design of Business Intelligence software, it is important to consider the business scenarios in which the software will be used.  Ultimately, BI software will be used in an effort to ease decision making.  As such, if we can make the interface simpler for the end user and content creator, then we can make the decision making process faster.  For example, SAP BusinessObjects Explorer allows end users and analysts to perform Google-like keyword searches for data.  This data is then returned in an iTunes-like interface.  Users can then take the data that they find interesting and analyze it within the Explorer interface.  This is a simple tool that does not get in the way of the business process.  QlikView takes a great step towards simplicity by allowing a user to download a full copy of their product within minutes.  This, combined with the ability to quickly create content within QlikView via immediately available demos, makes it easier for BI software to proliferate. Tableau takes this one step further by allowing a user to download their professional edition without even registering.  How does this make the decision making process easier?  The software is easier to install, easier to learn, and provides a quicker means to analyzing information.

Interoperability

Allowing the products within our suite to interoperate is also important to the proliferation of BI.  Currently the more established BI vendors have products that fit specific purposes: report writers for corporate reporting, dashboard builders for consolidating information views, analysis tools for slicing and drilling into information, and the list goes on…  Allowing content to be transferred throughout these tools not only makes it easier for the user to take advantage of the features of the entire product suite, but also allows more users to put together a story from the information they are viewing.  For example, if I were to build a document within SAP BusinessObjects Web Intelligence, I am pretty much stuck in that format – unless I want to rewrite the report again in a different product.  I should be able to perform my query and analysis in Web Intelligence, push part of the information out to Crystal Reports as static content, and then push other parts of the document out to Xcelsius to start building a consolidated visualization to tell a story.  The content created within each product in a BI suite should be portable and easy to push into other products.

QlikView has taken an interesting approach to this problem by creating a single content type.  For a new vendor in the BI market, this is a great step towards presenting themselves as easy to adopt and easy to use.  There is no struggle to determine which content type is best for a particular need and no need to give users access to multiple tools.  It is all the same tool.

Gradual Release of Functionality

Also important to the pervasiveness of BI is how we expose functionality within the product.  Imagine if you were to open up a product that you had never used before and were presented with all of these cryptic menu items and buttons.  How quickly would you move on to find another product that looks easier to use?  A BI product that is meant to be used by all within an organization should present its basic functionality within the immediate user interface and allow more advanced functionality to be discovered.  For example, when you open Excel, you can immediately see the purpose of the menus related to specific high-level functionality: insert, page layout, formulas, data, review, and view.  It is clear from these labels what I will find as sub-menu items.

Excel

In addition, the buttons with which the user is immediately presented are pretty clear.  For example, the font, alignment, and number formatting controls are intuitive.   As another example, we can consider SAP BusinessObjects Web Intelligence Rich Client.  When you open this tool, the first thing you are presented with is a menu allowing you to choose to create a new document or open an existing document.

WebI

If I choose to create a new document, then I’m ready to start within two additional clicks.  If I chose to create a new document against an SAP BusinessObjects Universe, then I am presented with an interface that allows me to drag objects exposed within the Universe into my query in order to create my document.

WebIUniverse

This interface is fairly intuitive and the text helps the user figure out what to do next.  There are some elements that are unclear. The text at the bottom that states “Display by objects” really means nothing to a user that has no understanding of what an object is.  I like that the “Scope of Analysis” section of the interface is not displayed by default.  This should be considered an advanced type of functionality that the user can expose once they understand what it does.

ScopeOfAnalysis

QlikView also provides a fairly intuitive interface.  The first screen with which a user is presented is a highly intuitive set of  examples and demos.

QlikView

Also, the high-level menus are easy to understand – with the exception of “Selections”, “Bookmarks”, and “Object”.   The buttons presented are similar enough to Microsoft Office that any user should be able to figure them out quickly.

QlikViewMenu

QlikView does a great job of allowing their users to immediately build content by making the interface easy to follow and presenting embedded demos.

Tableau is another great example of gradually exposing functionality.  The first page within the Tableau interface presents with the options of opening existing data sources, connecting to a new data source, viewing samples, or viewing training videos.

Tableau

After opening one of the sample data sources (Coffee Chain), the user is presented with a fairly intuitive interface for creating an information view (in this case, a report).    I can quickly create a report by dragging a dimension (e.g., Product Type) into the “Columns” section and a measure (e.g., Sales) into the “Rows” section.  While building the report I get an immediate visualization and the application even detects the best chart for displaying my information.

TableauReport

Not only is it simple to build a report for a novice user, it is also easy to add filters and change the properties of the report.  It is quite simple to change their suggested information view into another format by using the “Show Me!” button at the top and selecting a different visualization type.  This is made even easier by the fact that the application hides visualizations which are not relevant to the data being viewed (notice the greyed out visualizations).

TableauShowMe

As can be seen from the examples above, each of these products makes it simpler to get started with information viewing and analysis, but only exposing a basic level of functionality at within the immediate interface.  The more complex functionality is accessed within sub-menus or via right-clicks.  Over time users will become more experience with the products and will start to investigate other functionality via exploration or reading documentation.

So, what’s the point?

The objective of this post was to higlight specific examples of simplicity, interoperability, and a tiered exposure of functionality.  The end goal of building our BI interfaces with these ideas in mind is to allow more users to take advantage of the software without being overwhelmed and without having to ask for help.  In the end, this will allow BI to become more pervasive and will enable more stories to be told based on the data within an orgnization.  This will allow those organizations to really see what their data is telling them so that they can improve their processes and become more efficient at doing what they do best.

Storytelling depends upon ubiquitous Business Intelligence

Thursday, July 9th, 2009

Being able to tell a story with Business Intelligence content is a must for any organization.  It is this story telling ability that allows the organization to realize new insights and then put the appropriate context around the information to improve processes or decision making abilities.  It is also an iterative process.  I may gain an insight from an analysis session and present this as a story to several departments within my organization.  Those departments will then take my story, do their own analysis on the information within their own contexts, and tell their own story.  The end result is that the organization is unifying around stories that attempt to understand what their data is telling them and then collaborating on improvements to achieve more efficient business processes.

I would argue that this level of collaboration can only be achieved if Business Intelligence is provided to everyone within the organization.  Only then will employees have the power to determine these insights on their own without waiting for the problem to get bigger or for someone else to realize the problem exists.  As Business Intelligence vendors we have been saying for years, we want to make our products ubiquitous…but how?

Cindi Howson posted an article in February of 2008 talking about how we should achieve ubiquitous, or pervasive, BI. She found that, at the time, only 25% of workers were using BI.  I would venture to say that this number is not much higher today.  I’m sure that there has been some increase due to the focus on government audits and a larger understanding of the importance of data, but overall, the number probably has not moved much.  The reasons are ultimately still the same as Cindi points out in her article: companies need to realize the value of the data they have, they need to deploy the tools to more than just analysts and power users, and they need to provide the rights tools to the right workers.  So, why haven’t companies made more progress towards these goals already?  Largely because the products they are using do not make it easy.  As BI vendors we need to do more in order to make BI easier to adopt for all users within an organization.

Within the next three posts, I will focus on the following ideas with regards to ubiquitous BI:

  • Creating simpler, interoperable products that start with basic functionality and expose advanced functionality when needed
  • Ensuring that our products are enjoyable to use by taking advantage of collaborative techniques and our community of users
  • Focusing on making our products embeddable

The goal of these posts will be to explain how BI vendors can further enhance their existing features along these lines and learn from other software that utilize these ideas to create easy to use and easy to deploy products.