Pluggable Web Visualizations for Desktop Apps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Desktop applications have limited visualization options and slow update cycles, making it difficult for users to access specialized visualizations, leading to workarounds like upgrading to all-visualization applications or using external websites, and requiring application-specific code that may not support all visualization languages.
Innovation Solution
A pluggable web-based visualization technique that allows dynamic addition of visualizations to applications without recompilation, using a plug-in model with web-based chart controls, data translation, and communication between the host application and visualization through a standard interface, enabling support for various languages and offline use.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If desktop applications use native visualization components, then integration and performance are good, but visualization variety and update speed are limited
Solution Approach 1:
The system segments visualization functionality into separate web-based components that can be independently developed, hosted, and updated. These visualization modules are delivered as web pages or web workers that can be dynamically loaded into the desktop application without requiring updates to the core application code, thus increasing visualization variety while maintaining a clean separation of concerns.
Solution Approach 2:
A web browser control serves as an intermediary component between the desktop application and web-based visualizations. This mediator enables the application to host and interact with web technologies (HTML, CSS, JavaScript) without requiring the application itself to be rewritten in web languages, thus achieving visualization variety while maintaining application structure integrity.
2Adaptability or versatility
If specialized visualizations are added to desktop applications, then functionality improves, but development time and update cycles increase
Solution Approach 1:
The system enables dynamic addition of specialized visualizations at runtime without requiring application recompilation. Visualization modules can be created, updated, and deployed independently as web content, allowing rapid iteration and immediate availability of new visualization types without going through traditional application update cycles.
Solution Approach 2:
The web browser control provides a universal platform that can host any web-based visualization regardless of its specific type or purpose. This multi-functional approach allows a single desktop application to support diverse specialized visualizations (financial charts, scientific plots, business dashboards, etc.) through a common infrastructure, reducing development time for each specific visualization type.
3Reliability
If add-in models with specialized code are used, then integration is tight, but language compatibility and vendor lock-in increase
Solution Approach 1:
The system uses web standards (HTML, CSS, JavaScript) as a universal language that can be understood by any web browser control regardless of the desktop application's native programming language. This enables visualization creators to write visualizations in web languages without requiring application-specific code, achieving broad language compatibility while maintaining reliable integration through the standardized web interface.
Solution Approach 2:
The web browser control acts as an intermediary that translates between web-based visualization code and the desktop application's native environment. This mediator layer enables tight integration and reliable communication without requiring the visualization code to be written in application-specific languages, thus maintaining both integration reliability and language compatibility.
Data Source
AI summary
The pluggable web-based visualization technique described herein pertains to a method for providing pluggable web-based visualizations for applications. The method selects visualizations from the web to be embedded into a host application on a desktop computing device. The visualizations can be plugged in to a variety of host applications. This empowers end-users, application designers, and visualization designers by allowing greater reuse of existing code. Additionally, end-users do not have to wait for new revisions of existing applications to use the latest techniques. Designers of domain specific visualizations can work on just the visualization and have them incorporated into a variety of different host applications. Users can perform local processing and visualizations on their own machine, yet obtain new visualizations from the web where they can be updated more frequently and where special purpose visualizations are available.


