Bringing visual analytics to your product: Where to start
Many companies are providing valuable insights to their customers through NLP, machine learning, and many other technologies. Until recently, however, they had very limited options when adding visual analytics to their products.
One of them is the home grown, custom built option. Although initially appealing and fun, building visual analytics is harder than it seems, takes too long to develop and maintain, and eats up valuable development resources quickly. Companies realize at some point that in the long run it is quicker, easier and more cost-effective to buy-in the capability so that they can concentrate on developing their core business code.
This brings us to the next option, integrating a BI product. At first, it appears possible to bring a wealth of analytics functionality quickly. However, it soon becomes as complex and even worse alternative than the home grown one. Most BI deployments bring their own security models, adding administration complexity, performance overhead, and security risks to the end product.
Then, there is the additional deployment complexity. BI products need additional hardware with high memory requirements. Possible points of failure are also introduced which require even more hardware for fault-tolerant deployments. All this adds to the final cost of the product without mentioning licensing costs.
Performance can also be an issue ironically. BI servers open connection pools to your product’s data engine under an admin user, sometimes reaching connection limits. And they will run scheduled jobs to collect metadata which can also cause stale data problems during data analysis.
The end result turns out to be heavy, slow, and clunky. Most BI tools are designed with the self-service use case in mind. The embed use case is second, at best. This translates into hard-to-use and poorly documented APIs. Not all functionality is available or it doesn’t work in the same way as in its self-service counter part. And once on a web page, charts download unnecessary library dependencies that make the end product feel slow and tired. In some cases, under pressure to meet deadlines, teams embed the whole BI dashboard page in an iFrame and hack their way around to hide and show all sorts of UI elements. The end result is not pretty.
Leverage ChartFactor to bring visual analytics to your product and beyond
Fortunately, ChartFactor™is rising in prominence as a key enabler of visual analytics for data products. It is a different approach to data applications and visualizations. It provides a large array of visualizations, native connectivity to modern data engines, and interactivity components designed to minimize or completely remove the need of imperative programming. Interactivity components for example enable drill-down, drill-through, slicing, range filtering, and advanced interactivity rules between components in a declarative way. Development time is reduced from months to days.
Here is a high-level picture of ChartFactor’s architecture.
Native integration with your modern data engine or BI tool means no additional server infrastructure, improved performance, less administration costs, and improved security by leveraging of your existing security model. ChartFactor delegates aggregations and analytical queries and pulls only data presented to users based on their navigation. It can also easily integrate with your home-grown server and BI tools because of its extensible architecture.
On the licensing side, ChartFactor’s license is designed with your applications and embed use case in mind. There is no per-server or per-user license, or per-developer or per any other metric license. This way, you can maximize ChartFactor’s visual analytics benefits across your team, products, and end users.
Studio for rapid prototyping
Studio is a React application itself, acting as a container of ChartFactor components. Everything in Studio is a component, exposed as code, ready to be used natively in your web applications.
Interestingly, Studio turns out to be also a great tool for interactive data visualization and insights discovery. Users can perform the same interactive data analysis and discovery as current BI deployments. However, its simplified architecture shrinks the BI stack by connecting directly with the modern data engine. The picture below shows Studio as a native analytics deployment.
Self-service user interfaces BI tools with monolithically architected user interfaces can also benefit from ChartFactor by using its building blocks to easily implement their self-service user interfaces. It’s not only easy, we already did it! We built a sample self-service user interface using ChartFactor components. It is available as one of our live examples. You can play with it using this link. Here is a visualization configured using this self-service UI.
Here is a picture showing the Settings panel:
This sample application is interacting directly with our Elasticsearch cluster. Its high level architecture is below.
In my next article, I’ll explore the New York 311 Calls dataset using a different ChartFactor application. The New York 311 Calls dataset is updated daily and it publicly available in the Google Cloud Platform.
Many companies are facing challenges when bringing visual analytics into their products. Until recently their options were limited to custom-built solutions and integrating a BI tool together with its foreign infrastructure and deployment requirements. In this article I present ChartFactor as a new alternative that is modular and freshly architected, ready to take advantage of modern data engines and native analytics, home-grown servers, and legacy BI tools if needed. The results are significantly reduced development time, enhanced security, better performance, and reduced infrastructure costs, between others benefits. You can learn more about ChartFactor at chartfactor.com.