Mobile and PWA Guide¶
Install the security dashboard on your phone or tablet and receive instant security alerts.
Time to read: ~15 min Prerequisites: Getting Started or "None"
The Nemotron Security Dashboard works as a Progressive Web App (PWA), meaning you can install it on your phone, tablet, or desktop computer and use it like a native app. You can also enable push notifications to receive security alerts even when the browser is closed.
What is a PWA?¶
A Progressive Web App is a website that can be installed on your device and used like a native application. PWAs combine the best of web and native apps:
| Feature | Website | Native App | PWA |
|---|---|---|---|
| Install to home | No | Yes | Yes |
| Works offline | No | Yes | Yes |
| Push notifications | No | Yes | Yes |
| Auto-updates | Yes | No | Yes |
| No app store needed | Yes | No | Yes |
| Uses local storage | Limited | Yes | Yes |
Installing as a PWA¶
Installing the dashboard as a PWA gives you:
- Home screen icon - Launch with one tap, just like a native app
- Standalone mode - No browser address bar for a cleaner experience
- Faster loading - App assets are cached locally
- Offline access - View recent cached events when network is unavailable
Before You Install¶
- Make sure you can access the dashboard in your browser
- Verify the URL (e.g.,
http://your-server:5173or your custom domain) - The site must load successfully before installation
iOS Installation (iPhone/iPad)¶
Step-by-step with Safari:
- Open Safari (the blue compass icon)
- Navigate to your dashboard URL
- Wait for the page to fully load
- Tap the Share button (square with arrow pointing up)
- On iPhone: Bottom of screen
- On iPad: Top right of screen
- Scroll down in the share sheet
- Tap "Add to Home Screen"
- Edit the name if desired (default: "Security Dashboard")
- Tap "Add" in the top right
- The dashboard icon appears on your Home Screen
iOS Limitations:
| Limitation | Explanation |
|---|---|
| Safari only | Chrome/Firefox on iOS cannot install PWAs |
| No persistent background | iOS closes background apps more aggressively |
| Badge icons not supported | App icon won't show notification count |
| Limited storage | iOS may clear cache if device runs low |
Tip: Add the PWA to your main Home Screen (not a folder) to ensure iOS gives it priority for background execution.
Android Installation¶
From Chrome (Recommended):
- Open Chrome browser
- Navigate to your dashboard URL
- Wait for the page to fully load
- Look for one of these options:
- An "Install" banner at the bottom of the screen
- Tap the three-dot menu (top right)
- Tap "Install app" or "Add to Home screen"
- Confirm by tapping "Install"
- The app appears in your app drawer and home screen
From Samsung Internet:
- Open Samsung Internet browser
- Navigate to your dashboard URL
- Tap the three-line menu (bottom)
- Tap "Add page to"
- Select "Home screen"
- Tap "Add"
From Firefox:
- Open Firefox browser
- Navigate to your dashboard URL
- Tap the three-dot menu
- Tap "Install" (if available) or "Add to Home screen"
Android-Specific Features:
| Feature | Benefit |
|---|---|
| True app-like behavior | Appears in app switcher and notifications |
| Badge notifications | App icon shows unread count |
| Background sync | Updates even when app is closed |
| Intent handling | Can open security-related links |
Desktop Browser Installation¶
Chrome, Edge, or Brave:
- Navigate to your dashboard URL
- Look for the install icon in the address bar:
- Chrome: Plus symbol in a house (right side of address bar)
- Edge: Plus symbol or "App available" prompt
- Brave: Plus symbol in address bar
- Click the icon
- Click "Install" in the dialog
- The app opens in its own window without browser chrome
Keyboard Shortcut (Chrome):
- Press
Ctrl+Shift+I(Windows) orCmd+Shift+I(Mac) to open DevTools - Go to Application > Manifest > Install
Firefox Desktop:
Firefox does not currently support PWA installation on desktop. Alternatives:
- Use the web version in a browser tab
- Use Chrome or Edge for PWA installation
- Pin the tab for quick access
First-Time Setup After Installation¶
After installing the PWA, complete these steps:
1. Allow Notifications¶
- Open the installed PWA
- Navigate to Settings > Notifications
- Click "Enable Push Notifications"
- When prompted, click "Allow"
2. Verify Connection¶
- Check the connection indicator in the header
- It should show "Connected" (green)
- If disconnected, verify your server is running
3. Add to Favorites (Optional)¶
- Go to Settings > Appearance
- Configure your preferred default page
- Set auto-refresh interval if desired
4. Test Notifications¶
- Go to Settings > Notifications
- Click "Send Test Notification"
- Verify you receive the test alert
Push Notifications¶
Push notifications alert you to security events even when the app is not open. High-risk and critical events will send immediate notifications to your device.
How Push Notifications Work¶
%%{init: {
'theme': 'dark',
'themeVariables': {
'primaryColor': '#3B82F6',
'primaryTextColor': '#FFFFFF',
'primaryBorderColor': '#60A5FA',
'secondaryColor': '#A855F7',
'tertiaryColor': '#009688',
'background': '#121212',
'mainBkg': '#1a1a2e',
'lineColor': '#666666'
}
}}%%
flowchart TD
EVENT["Security Event<br/>Detected"]
PROCESS["Backend Server<br/>processes event"]
RISK{"Risk level<br/>evaluated"}
LOW["Low Risk"]
MED["Medium Risk"]
HIGH["High Risk"]
CRIT["Critical Risk"]
PUSH["Push notification<br/>sent via Web Push API"]
DEVICE["Your device receives<br/>notification"]
TAP["Tap to open<br/>event details"]
SILENT["Silent log<br/>(no notification)"]
EVENT --> PROCESS
PROCESS --> RISK
RISK -->|"0-29"| LOW
RISK -->|"30-59"| MED
RISK -->|"60-84"| HIGH
RISK -->|"85-100"| CRIT
LOW -->|"if enabled"| SILENT
MED --> PUSH
HIGH --> PUSH
CRIT --> PUSH
PUSH --> DEVICE
DEVICE --> TAP
style LOW fill:#22C55E,color:#fff
style MED fill:#F59E0B,color:#fff
style HIGH fill:#F97316,color:#fff
style CRIT fill:#EF4444,color:#fff
style TAP fill:#3B82F6,color:#fff Notification Risk Levels¶
| Risk Level | Sound | Persistence | Badge | Use Case |
|---|---|---|---|---|
| Low | Silent | Auto-dismiss | No | Routine detections |
| Medium | Standard | Auto-dismiss | Yes | Unusual activity |
| High | Alert | Stays | Yes | Concerning detections |
| Critical | Urgent | Stays | Yes | Immediate attention needed |
Notification Content¶
Each notification includes:
| Element | Description |
|---|---|
| Title | Risk level and camera name |
| Body | AI-generated summary of what was detected |
| Image | Thumbnail from the detection (when available) |
| Action | Tap to open full event details |
| Time | When the event occurred |
Enabling Notifications¶
In the Dashboard:
- Open Settings
- Click Notifications tab
- Click "Enable Push Notifications"
- Browser prompt appears - click "Allow"
- Confirmation message: "Notifications enabled"
If Prompt Does Not Appear:
The browser may have previously blocked notifications. Reset permission:
| Platform | Steps to Reset |
|---|---|
| Chrome | Click lock icon in address bar > Site Settings > Reset |
| Safari | Preferences > Websites > Notifications > Remove site |
| Firefox | Click lock icon > Permissions > Clear notification data |
| Edge | Click lock icon > Site permissions > Reset |
Managing Notification Preferences¶
To disable notifications:
- Open Settings in the dashboard
- Navigate to Notifications
- Toggle off notification permissions
To manage at the browser level:
| Browser/Platform | Location |
|---|---|
| Chrome Desktop | Settings > Privacy and Security > Site Settings > Notifications |
| Chrome Android | Settings > Site Settings > Notifications |
| Firefox Desktop | Settings > Privacy & Security > Permissions > Notifications |
| Safari Desktop | Preferences > Websites > Notifications |
| Safari iOS | Settings > Safari > Notifications |
| Android System | Settings > Apps > Browser > Notifications |
| iOS System | Settings > Notifications > Safari/PWA Name |
Notification Quiet Hours¶
To avoid notifications at certain times:
Android:
- Settings > Do Not Disturb
- Set schedule
- Optionally allow exceptions for High/Critical alerts
iOS:
- Settings > Focus
- Create a "Sleep" or custom focus
- Configure allowed notifications
In Dashboard:
- Settings > Notifications > Quiet Hours (if available)
Mobile-Optimized Features¶
The dashboard is designed to work seamlessly on mobile devices with touch-friendly interfaces.
Bottom Navigation¶
On mobile viewports (under 768px), the dashboard displays a bottom navigation bar for easy thumb access:
| Icon | Page | Description |
|---|---|---|
| Home | Dashboard | Main security overview |
| Clock | Timeline | Event history and timeline |
| Users | Entities | Tracked people and vehicles |
| Bell | Alerts | Active alerts and notifications |
| Gear | Settings | Configuration and preferences |
The alerts icon shows a red badge when you have unread high-priority events.
Touch Gestures¶
The mobile interface supports these touch gestures:
| Gesture | Action | Where It Works |
|---|---|---|
| Swipe left on event card | Quick action (dismiss/archive) | Activity feed, timeline |
| Swipe right on event card | Quick action (view details) | Activity feed, timeline |
| Pull down on any page | Refresh content | All pages |
| Pinch to zoom | Zoom on images and video | Event details, lightbox |
| Tap and hold | Context menu (where applicable) | Entity cards, events |
| Double tap | Quick zoom on images | Lightbox view |
Mobile-Friendly Event Cards¶
Event cards on mobile show:
| Element | Description |
|---|---|
| Compact layout | Single-line for quick scanning |
| Large tap targets | Minimum 44px for easy tapping |
| Relative time | "5 min ago" instead of full timestamp |
| Duration badge | Shows if event is still ongoing |
| Risk badge | Color-coded risk level indicator |
| Thumbnail | Small preview image of detection |
Safe Area Support¶
On devices with notches or home indicators (iPhone X and later, etc.):
| Area | Behavior |
|---|---|
| Top (notch) | Content avoids notch area |
| Bottom (indicator) | Navigation bar above home indicator |
| Landscape mode | Content adjusts for side notches |
| Floating buttons | Position correctly in safe areas |
Offline Capabilities¶
The dashboard continues to work with limited functionality when you lose network connectivity.
What Works Offline¶
| Feature | Offline Capability |
|---|---|
| View cached events | Previously viewed events available |
| Browse interface | Navigation and UI remain responsive |
| View event details | Cached event data accessible |
| Check settings | Last known configuration visible |
| Use command palette | Navigation shortcuts work |
What Requires Network¶
| Feature | Why Network Required |
|---|---|
| Live camera feeds | Streams from server in real-time |
| New event detection | AI processing runs on server |
| Real-time updates | WebSocket connection needed |
| Push notifications | Delivered via internet |
| Entity tracking updates | Database queries require connection |
| Analytics data | Computed server-side |
Offline Indicator¶
When network is lost:
- An offline banner appears at the top: "You are offline"
- System status shows connectivity issue (orange/red)
- Cached event count displayed: "Showing X cached events"
- Auto-refresh pauses
When network returns:
- "Back Online" notification appears
- Data automatically syncs with server
- Missed events are loaded
- Real-time updates resume
Cached Event Storage¶
The app uses IndexedDB for local storage:
| Data Type | Cached | Retention |
|---|---|---|
| Event list | Yes | Most recent 100 events |
| Event details | Yes | Events you have viewed |
| Thumbnails | Yes | Up to 50MB of images |
| Entity data | Yes | Recently viewed entities |
| Settings | Yes | All preferences |
| Camera status | Yes | Last known status |
Cache Management:
- Cache clears automatically when storage exceeds limit
- Force clear: Settings > Advanced > Clear Cache
- Reinstalling PWA clears all cached data
Performance Tips¶
For Best Mobile Experience¶
- Install as PWA - Faster loading and more reliable than browser
- Enable notifications - Stay informed of critical events
- Use WiFi when available - Preserves mobile data
- Close unused apps - Frees memory for smoother performance
- Keep device charged - Low battery triggers aggressive power saving
Battery Optimization¶
The PWA is designed to be battery-efficient:
| Feature | How It Saves Battery |
|---|---|
| WebSocket heartbeat | Minimal keep-alive packets |
| System notifications | Uses OS notification service |
| Background limits | Minimal activity when not in focus |
| Adaptive polling | Reduces frequency on battery power |
| Image compression | Thumbnails compressed for mobile |
Data Usage Optimization¶
| Feature | Data Saved |
|---|---|
| Thumbnail mode | Loads small images first |
| Lazy loading | Only loads visible content |
| Compression | Server compresses API responses |
| Cache reuse | Does not re-download cached content |
To reduce data usage:
- Settings > Appearance > Enable "Low Data Mode"
- Disable auto-refresh when on mobile data
- View thumbnails instead of full images
Troubleshooting¶
PWA Installation Issues¶
| Problem | Cause | Solution |
|---|---|---|
| No "Add to Home Screen" | Wrong browser | Use Safari (iOS) or Chrome (Android) |
| Install option grayed out | HTTPS required | Access via HTTPS or localhost only |
| App not updating | Stale cache | Clear app cache in device settings |
| PWA shows blank page | Server unreachable | Check network and server status |
| Icon missing after install | Installation interrupted | Uninstall and reinstall the PWA |
| "App not available offline" | Service worker issue | Force reload (pull down while loading) |
Notification Issues¶
| Problem | Cause | Solution |
|---|---|---|
| No permission prompt | Previously blocked | Reset site permissions in browser settings |
| Notifications not appearing | Do Not Disturb enabled | Check device DND settings |
| Delayed notifications | Battery optimization | Disable battery optimization for browser/PWA |
| Notifications silent | Volume or alert settings | Check device notification sound settings |
| Wrong notification sound | System default used | Configure in Settings > Notifications |
| Duplicate notifications | Multiple tabs open | Close extra browser tabs |
Mobile Display Issues¶
| Problem | Cause | Solution |
|---|---|---|
| Bottom nav hidden | Browser toolbar overlap | Use PWA mode (installed version) |
| Text too small | Device font settings | Use accessibility zoom or text size settings |
| Touch targets hard to tap | Small screen | Zoom in or use landscape mode |
| Content cut off by notch | Missing safe area support | Update to latest version |
| Landscape mode broken | Browser compatibility | Try different browser or PWA mode |
| Keyboard covers input | Virtual keyboard overlap | Scroll page or use keyboard "minimize" |
Connection Issues¶
| Problem | Cause | Solution |
|---|---|---|
| "Disconnected" status | Network issue | Check WiFi/data connection |
| Frequent reconnections | Unstable network | Move closer to WiFi or check signal strength |
| Slow loading | Server performance | Check server health in Settings > System |
| Timeout errors | Network latency | Try on different network |
Offline Mode Issues¶
| Problem | Cause | Solution |
|---|---|---|
| No cached events | Never viewed events online | View events while online to cache them |
| Stale data | Cache not updated | Connect to network and refresh |
| "Storage quota exceeded" | Too much cached data | Clear cache in Settings > Advanced |
| Offline mode not working | Service worker disabled | Enable service workers in browser settings |
Advanced Configuration¶
Enabling Background Sync (Android)¶
For best notification delivery on Android:
- Go to device Settings > Apps
- Find your browser or the installed PWA
- Tap "Battery"
- Select "Unrestricted" or "Not optimized"
- Go back and tap "Mobile data"
- Enable "Allow background data usage"
Enabling Persistent Notifications (iOS)¶
iOS aggressively manages background apps. To improve notification delivery:
- Settings > Notifications > PWA Name
- Enable "Allow Notifications"
- Enable "Time Sensitive Notifications" (if available)
- Set notification style to "Banners" or "Alerts"
- Keep PWA on main Home Screen (not in folder)
Testing Notifications¶
To verify notifications work:
- Open Settings > Notifications
- Click "Send Test Notification"
- Lock your device
- Wait for test notification to appear
- If not received within 30 seconds, check troubleshooting section
Updating the PWA¶
PWAs update automatically when new versions are deployed:
| When | What Happens |
|---|---|
| App launches | Checks for updates in background |
| Update available | Downloads new version silently |
| Next app launch | New version activates |
| Force update | Pull down to refresh on any page |
To force an update:
- Close the PWA completely
- Wait 10 seconds
- Reopen the PWA
- Pull down to refresh
If updates are not working:
- Clear app cache
- Uninstall and reinstall PWA
- Check that server is running latest version
Related Documentation¶
- Dashboard - Learn about the main dashboard interface
- Understanding Alerts - Learn what risk levels mean
- Settings - Configure notification preferences
- Keyboard Shortcuts - Navigate efficiently
- Accessibility Features - Mobile accessibility options