Device Roaming¶
Definition¶
Roaming is AICO's ability to seamlessly transition between devices while maintaining continuity of state, context, and capabilities, enabling a consistent user experience across the device ecosystem.
Overview¶
AICO supports device roaming where the frontend and backend can operate independently across different devices and platforms. This enables flexible deployment patterns based on device capabilities and user needs.
Core Concepts¶
Frontend-Backend Separation¶
- Frontend: Flutter UI that handles user interaction and presentation
- Backend: Python service that handles AI processing, data storage, and autonomous agency
- Detachable: Frontend and backend can run on different devices when needed
Roaming Patterns¶
Coupled Roaming¶
Frontend and backend roam together to the same device: - Desktop → Desktop - Mobile → Mobile (when backend is supported)
Detached Roaming¶
Frontend roams to a device without backend capability: - Frontend: Lightweight device (tablet, phone, smart display) - Backend: Remains on powerful device (desktop, server) - Connection: Network communication between frontend and backend
Use Cases¶
Coupled Scenarios¶
- Home Office: Desktop with full AICO stack
- Mobile Work: Laptop with complete AICO installation
- Powerful Tablet: iPad Pro/Surface Pro with backend capability
Detached Scenarios¶
- Smart Display: Kitchen display shows AICO UI, backend runs on home server
- Phone Interface: Mobile frontend connects to desktop backend
- AR Glasses: Lightweight frontend, backend on paired device
- Car Integration: Dashboard frontend, backend on phone/cloud
Technical Architecture¶
Communication Modes¶
- Local: Frontend and backend on same device (IPC/local sockets)
- Network: Frontend and backend on different devices (REST/WebSocket/gRPC)
- Hybrid: Multiple frontends connecting to single backend
State Synchronization¶
- Frontend State: UI state, user preferences, temporary display data
- Backend State: AI models, conversation history, memory, autonomous goals
- Sync Protocol: Real-time state synchronization between detached components
Security Implications¶
Coupled Deployment¶
- Single device security boundary
- Local encryption at rest
- No network exposure required
Detached Deployment¶
- Network communication security (TLS/encryption)
- Authentication between frontend and backend
- Distributed trust model
- Network-based attack surface
Platform Capabilities¶
Frontend Platforms¶
Platform | Form Factor | Roaming Support | Capabilities | Limitations |
---|---|---|---|---|
Desktop | Windows/macOS/Linux | Full (Coupled/Detached) | Complete UI, avatar rendering, all input modes | None |
Mobile | iOS/Android | Full (Coupled/Detached) | Complete UI, optimized avatar, touch/voice | Resource constraints |
Tablet | iPadOS/Android | Full (Coupled/Detached) | Complete UI, touch-optimized, stylus support | Resource constraints |
Smart Display | Various | Frontend-only | Voice-first UI, simplified avatar | Requires backend connection |
AR Glasses | Various | Frontend-only | Minimal UI, spatial overlay | Requires backend connection |
Car Systems | Various | Frontend-only | Voice-first, simplified UI | Requires backend connection |
Wearables | WearOS/WatchOS | Frontend-only | Minimal UI, notifications | Requires backend connection |
Web Browser | Any | Frontend-only | Standard UI in browser | Requires backend connection |
Backend Platforms¶
Platform | Form Factor | Roaming Support | Capabilities | Limitations |
---|---|---|---|---|
Desktop | Windows/macOS/Linux | Full | Complete AI stack, all databases | None |
Server | Linux | Full | Complete AI stack, optimized performance | Fixed location |
High-end Mobile | iOS/Android | Limited | Basic AI processing, simplified storage | Resource constraints |
NAS/Home Server | Various | Full | Complete AI stack, optimized storage | Fixed location |
Single-board Computer | RPi/Jetson | Limited | Basic AI processing, optimized storage | Performance constraints |
Info
Currently, only platforms that offer Full backend support are considered for backend roaming. Platforms with Limited backend support are not yet supported.
Roaming Compatibility Matrix¶
Frontend → Backend | Desktop | Server | High-end Mobile | NAS/Home Server | Single-board Computer |
---|---|---|---|---|---|
Desktop | Coupled/Detached | Detached | Detached | Detached | Detached |
Mobile | Detached | Detached | Coupled/Detached | Detached | Detached |
Tablet | Detached | Detached | Detached | Detached | Detached |
Smart Display | Detached | Detached | Detached | Detached | Detached |
AR Glasses | Detached | Detached | Detached | Detached | Detached |
Car Systems | Detached | Detached | Detached | Detached | Detached |
Wearables | Detached | Detached | Detached | Detached | Detached |
Web Browser | Detached | Detached | Detached | Detached | Detached |