A2UI Ecosystem & Multi-App Strategy
A2UI Ecosystem & Multi-App Strategy
Section titled “A2UI Ecosystem & Multi-App Strategy”ColabBio is built upon the A2UI (Asynchronous Agent UI) framework, originally developed for ColabEdu. This architectural pattern uses Server-Driven UI combined with WebSockets and CloudEvents to render the entire user interface and AI interactions dynamically from the backend.
The greatest strategic advantage of this pattern is that creating a new application for a new industry vertical is almost immediate. The frontend acts purely as a “dumb player” or a blank canvas, while all business logic, AI personality, and state management live in the backend.
How to Create a New App (e.g., ColabLegal, ColabFinance)
Section titled “How to Create a New App (e.g., ColabLegal, ColabFinance)”To instantiate a completely new application using the ib_conversations library, you only need to follow three steps:
1. Re-use the A2UI Dashboard Layout (Frontend)
Section titled “1. Re-use the A2UI Dashboard Layout (Frontend)”The frontend application (Flutter) remains extremely thin. You simply import the standard IbDashboardLayout and A2UICompanionHost from the ib_conversations package.
// Example of a generic App Hostbody: IbDashboardLayout( centralTaskWidget: myCustomDomainWidget, companionPanelWidget: const A2UICompanionHost( flavor: 'my_new_app_flavor', // e.g., 'legal_assistant' enableWebSockets: true, ),),2. Create Domain-Specific Custom Widgets
Section titled “2. Create Domain-Specific Custom Widgets”If your new app requires a highly specific visualization (e.g., a PDF highlighter for Legal, or a 3D CAD viewer for Engineering), you only need to write that specific widget.
You register this widget in the UnifiedWidgetRegistry. The backend will then be able to inject this widget remotely simply by sending a JSON payload: {"type": "my_3d_viewer", "props": {...}}.
In ColabBio, this is the A2UIMedicalViewerWidget (OMERO).
3. Change the AI “Brain” (Backend Flavor)
Section titled “3. Change the AI “Brain” (Backend Flavor)”The most important step happens on the backend. When the Companion connects, it sends its flavor.
In your Java backend (e.g., cb-svc-ai), you map this flavor to a specific set of System Prompts and Tools:
- ColabEdu (
student_tutor): Tools for searching courses, grading exercises. - ColabBio (
pathologist_assistant): Tools for querying Triton Inference Server, retrieving patient data. - ColabLegal (
legal_assistant): Tools for querying jurisprudence databases.
By simply changing the flavor string, the entire UI chat experience, the buttons suggested, and the backend capabilities transform to fit the new application, without requiring a single App Store update.