Anu.js: Accelerating Web-based Immersive Analytics
Authors
Paper Title
Anu.js: Accelerating Web-based Immersive Analytics
Publication Info
- Topic area: Development of a toolkit for immersive analytics using web technologies.
- Keywords: Immersive Analytics, WebXR, Babylon.js, D3, Visualization Toolkit, 3D Scene Graphs, Data Binding, Interactive Visualizations, Web-based Development, Performance Optimization.
Background and Problem
- Problem / challenge: Existing immersive analytics toolkits lack expressiveness, compatibility with ecosystems, and developer ergonomics. Declarative grammars limit the scope of visualizations, while imperative systems like Unity are complex and not web-friendly.
- Significance: Immersive analytics has the potential to enhance data understanding and decision-making using XR devices. A web-based toolkit could leverage the ubiquity of web technologies for broader adoption and ease of deployment.
- Motivation and related work: Prior tools like D3 have revolutionized 2D visualization on the web, but immersive analytics lacks a similarly expressive and ergonomic toolkit. Existing solutions like DXR, IATK, and VRIA are either limited in expressiveness, tied to specific ecosystems, or lack proper documentation and support.
Solution
- Proposed approach: Anu.js, a web-based immersive visualization toolkit built on Babylon.js, inspired by D3’s data-binding model, designed to maximize expressiveness, compatibility, and ergonomics.
- Novelty:
- Adaptation of D3’s data-binding model to 3D scene graphs for immersive environments.
- Introduction of an imperative API for fine-grained control over visualization creation and interaction.
- Integration with Babylon.js and WebXR for cross-platform compatibility and performance optimization.
- Inclusion of reusable declarative prefabs for common visualization elements and interactions.
- Procedure and key techniques:
- Development of a TypeScript module for Babylon.js.
- Use of an embedded domain-specific language (DSL) for data-driven manipulation of 3D scene graphs.
- Support for procedural meshes, D3 scales, and animated transitions.
- Performance optimization through Babylon.js features like instancing and thin instancing.
- Comprehensive documentation, tutorials, and an example gallery for developer support.
Results
- Concrete findings:
- Performance benchmarks show thin instances maintain high frame rates (e.g., 90 Hz on Meta Quest 3) even with large mesh counts.
- Expert study participants successfully created complex visualizations within hours, demonstrating the toolkit’s usability and expressiveness.
- Advantage over baselines:
- Greater expressiveness compared to declarative toolkits like VRIA and DXR.
- Better compatibility with web technologies and ecosystems than Unity-based solutions.
- Improved ergonomics through detailed documentation and integration with familiar tools like D3.
- Experiments / evaluation:
- Benchmarks conducted on Meta Quest 3, Apple Vision Pro, Samsung Galaxy XR, and PC.
- Expert study with four researchers from diverse backgrounds, evaluating learning curve, usability, and potential applications.
- Limitations and future work:
- Steep learning curve for beginners due to the imperative API.
- Limited support for streaming data and fully embodied authoring experiences.
- Potential future developments include a declarative API layer, AI-powered authoring, and translations to other 3D engines like Three.js.
Summary
Anu.js is a web-based immersive visualization toolkit that adapts D3’s data-binding model to 3D environments using Babylon.js. It provides an imperative API for fine-grained control, reusable prefabs for common visualization tasks, and performance optimizations for large datasets. Benchmarks and an expert study demonstrate its expressiveness, compatibility, and usability for creating immersive analytics applications. While it has a steep learning curve, its comprehensive documentation and example gallery make it accessible to developers with varying expertise. Anu.js has potential applications in education, computational notebooks, and data-driven storytelling, and it aims to accelerate the adoption of immersive analytics on the web.
Research Questions / Practical Problems
Question signals indexed for this paper.
Based on Jaccard similarity of research subtopics & professions (≥60%)