Welcome to RedSquid
Welcome to the RedSquid platform. This guide will help you deploy your branded TV application on RedSquid-powered devices, providing your customers with a seamless viewing experience while leveraging robust system-level capabilities.
What is RedSquid?
RedSquid is a TV platform that enables operators to deliver their branded applications on television devices while RedSquid provides essential system-level functionality transparently in the background.
The RedSquid Approach
Your Brand, Front and Center
- Your application runs as the primary user interface
- Your customers see your brand, your content, your experience
- RedSquid remains invisible until system functions are needed
System Functions
RedSquid handles volume control, input selection, settings, FTI workflows, power management, and live broadcast TV automatically.
Seamless Integration
No conflicts between your app and system functions. Automatic focus management with consistent user experience.
Fast Performance
Fast boot times, smooth transitions, and optimized resource management for the best viewing experience.
Why Choose RedSquid?
Benefits for Operators
1. Accelerated Time-to-Market
- No System Development Required: RedSquid handles all system-level functionality
- Focus on Content: Invest resources in your content experience, not infrastructure
- Rapid Deployment: From concept to market in weeks, not years
- Standard Web Technologies: Build with HTML5, JavaScript, CSS - no proprietary frameworks
2. Cost Efficiency
- Shared Platform Costs: Leverage shared platform development and maintenance
- No Hardware Development: Use OEM devices with RedSquid pre-installed
- Reduced Support Costs: RedSquid handles system-level issues and updates
- Scalable Infrastructure: Backend services scale with your subscriber base
3. Brand Control
- Your Branding: Complete control over visual identity and user experience
- Themed System UI: RedSquid UI elements adopt your color palette
- Branded Boot Screen: Optional operator logo during boot
- Customizable App: Full control over navigation, layout, and features
Platform Overview
Architecture from Your Perspective
┌─────────────────────────────────────────────────────┐
│ Your Branded Application │
│ ┌─────────────────────────────────────────────┐ │
│ │ • Home Screen • EPG / Channel Guide │ │
│ │ • Content Browse • Search & Discovery │ │
│ │ • Playback UI • Settings (app-level) │ │
│ │ • DVB-I Support • Recommendations │ │
│ └─────────────────────────────────────────────┘ │
│ │
│ Your app receives: │
│ ✓ Navigation keys (Home, Back, OK, Arrows) │
│ ✓ Channel +/- (when your app has focus) │
│ ✓ EPG key (if available on remote) │
│ ✓ Number keys (when your app has focus) │
└─────────────────────────────────────────────────────┘
▲
│
│ Focus & Key Events
│
┌─────────────────────────────────────────────────────┐
│ RedSquid System Layer │
│ (Invisible to users except when invoked) │
│ │
│ Handles automatically: │
│ • Volume +/- (overlay) │
│ • Mute (overlay) │
│ • Input selection (HDMI, Live TV) │
│ • Settings (system-level) │
│ • Live TV (DTVKit · DVB-I · ATSC 3.0) │
│ • Power management │
└─────────────────────────────────────────────────────┘
User Journey Example
- Power On: TV boots to your branded home screen (< 15 seconds)
- Navigation: User browses content using your UI
- Volume Adjust: User presses Volume+ → RedSquid overlay appears → Adjusts volume → Overlay dismisses → Returns to your app
- Content Playback: User selects a show → Your app handles playback
- Input Switching: User presses Input → RedSquid UI shows sources → User selects HDMI 2 → External device displayed
- System Settings: User presses Settings → RedSquid settings UI appears → User configures network → Returns to your app
- Live TV: User selects Live TV → RedSquid's DTVKit handles broadcast → Channel +/- now routed to RedSquid
Operator Application Integration
Application Requirements
| Requirement | Details |
|---|---|
| Technology | HTML5 web application (Single Page Application recommended) |
| Browser | WPE WebKit (Chromium-based, similar to Chrome) |
| Resolution | 1920x1080 (Full HD), 3840x2160 (4K) support recommended |
| JavaScript | ES6+ supported |
| CSS | CSS3, Flexbox, Grid supported |
| Performance | App launch in < 3 seconds, 60 fps UI rendering |
Application Hosting Options
Option 1: Cloud-Hosted Application Recommended
- Your app is hosted on your web servers
- RedSquid loads your app URL in the browser
- App communicates with your backend APIs
- Updates are instant (no device updates needed)
{
"operator_id": "youroperator",
"app_url": "https://tv.youroperator.com/app/",
"manifest_url": "https://tv.youroperator.com/manifest.json"
}
RedSquid JavaScript API
RedSquid provides a JavaScript API for integration with system functions.
Live TV Integration
// Request Live TV mode
RedSquid.LiveTV.requestFocus()
.then(() => {
console.log('Live TV mode activated');
// RedSquid now handles channel controls
})
.catch(err => {
console.error('Live TV not available:', err);
});
// Listen for Live TV events
RedSquid.LiveTV.addEventListener('channelChanged', (event) => {
console.log('Channel changed to:', event.channelNumber);
updateEPGDisplay(event.channelNumber);
});
// Exit Live TV mode
RedSquid.LiveTV.releaseFocus()
.then(() => {
console.log('Returned to app control');
// App now receives CH+/- keys again
});
System Information
// Get device info
const deviceInfo = await RedSquid.System.getDeviceInfo();
console.log('Device:', deviceInfo);
// {
// model: "TV-50-4K-001",
// firmware: "1.2.0",
// hdcp: "2.2",
// drm: ["widevine_l1"],
// tuners: ["dvb-t", "dvb-s", "dvb-i", "atsc3"]
// }
// Get network status
const network = await RedSquid.Network.getStatus();
console.log('Network:', network);
// {
// connected: true,
// type: "wifi",
// ssid: "HomeNetwork",
// signal_strength: -45
// }
Branding & Theming
Theme Configuration
RedSquid system UI elements (volume overlay, input selection, settings) can be themed to match your brand.
{
"operator_id": "youroperator",
"theme": {
"colors": {
"primary": "#00a0d6",
"background": "#1a1a1a",
"surface": "#2a2a2a",
"text": "#ffffff",
"text_secondary": "#b0b0b0",
"accent": "#ff5722",
"success": "#4caf50",
"warning": "#ff9800",
"error": "#f44336"
},
"typography": {
"font_family": "Roboto, sans-serif",
"font_size_base": 16,
"font_weight_normal": 400,
"font_weight_bold": 700
}
}
}
Brand Assets
| Asset | Size | Format | Usage |
|---|---|---|---|
| Logo (Light) | 400x100px | PNG (transparent) | Dark backgrounds |
| Logo (Dark) | 400x100px | PNG (transparent) | Light backgrounds |
| App Icon | 512x512px | PNG | App launcher, settings |
| Boot Logo | 1920x1080px | PNG | Boot screen (optional) |
Device Configuration
First-Time Installation (FTI)
When a customer first turns on a RedSquid device, the First-Time Installation flow configures the device.
- Welcome Screen (RedSquid branding)
- Language & Country Selection
- Network Setup (Ethernet/Wi-Fi)
- Operator Selection (if multiple operators available) OR Automatic Operator Loading (if pre-configured via USB)
- Broadcast Scanning (DVB-T/T2/S/S2 · DVB-I · ATSC 3.0)
- Terms & Conditions Acceptance
- Your Operator App Launches
Content & DRM Integration
Supported Video Formats
| Format | Container | Codecs | Max Resolution |
|---|---|---|---|
| MPEG-DASH | .mpd | H.264, H.265 | 4K (3840x2160) |
| HLS | .m3u8 | H.264, H.265 | 4K |
| Progressive | .mp4 | H.264, AAC | 1080p |
DRM Support
| DRM | Security Level | Use Case |
|---|---|---|
| Widevine | Level 1 (hardware) | Premium HD/4K content |
| PlayReady | SL3000 | Microsoft ecosystem content |
Widevine Configuration Example
player.configure({
drm: {
servers: {
'com.widevine.alpha': 'https://drm.youroperator.com/widevine/license'
},
advanced: {
'com.widevine.alpha': {
'videoRobustness': 'HW_SECURE_ALL',
'audioRobustness': 'HW_SECURE_ALL'
}
}
}
});
Testing & Validation
Testing Phases
Phase 1: Development Testing
Environment: RedSquid Emulator (provided)
- App loads and displays correctly
- Navigation works with keyboard (simulates remote)
- Content playback functions
- DRM content plays (test license server)
- Theme applies correctly
- API integrations work
Phase 2: Device Testing
Environment: RedSquid reference device
- App launches after FTI
- Performance meets targets (< 3s launch, 60fps UI)
- Actual remote control works
- Focus transitions smooth (app ↔ RedSquid overlays)
- Memory usage acceptable (< 300MB)
- No crashes or freezes during extended use
Phase 3: Operator Acceptance Testing (OAT)
Environment: Production-like setup with your backend services
- End-to-end user workflows
- Content catalog browsing
- Search functionality
- Recommendations engine
- Playback of various content types
- DRM content playback (live license server)
- Network resilience (handle connection drops)
Performance Benchmarks
- App launch: < 3 seconds
- Screen transitions: < 300ms
- Playback startup: < 2 seconds
- Search results: < 1 second
- UI frame rate: 60fps maintained
Deployment & Distribution
Deployment Models
Model 1: Operator-Specific Devices
You ship devices pre-configured for your service. OEM pre-loads your operator profile, devices ship directly to customers.
Model 2: Multi-Operator Retail
Devices sold in retail, user selects operator during FTI. Customer completes FTI and selects your service from operator menu.
Model 3: Bring-Your-Own-Device
Customers with existing RedSquid devices add your service via Settings > Operators > Add Operator.
Application Updates
Cloud-Hosted Apps (Instant Updates)
- Update code on your web server
- Next app launch loads new version
- No device update needed
Recommended: Use versioned assets and cache-busting for critical updates
Ongoing Operations
Analytics & Telemetry
Built-In Analytics
RedSquid automatically collects:
- App launch events
- Crash reports
- Performance metrics (launch time, memory usage)
- System events (boot, network changes, updates)
Access via: Operator Portal → Analytics Dashboard
Custom Analytics
// Track custom events
RedSquid.Analytics.trackEvent({
category: 'Content',
action: 'Play',
label: 'Movie: The Great Film',
value: 120, // duration in minutes
customData: {
content_id: 'movie-12345',
genre: 'Drama',
quality: '4K'
}
});
Monitoring & Alerts
Operator Portal Dashboard shows:
- Active devices
- App crash rate
- Playback success rate
- Network connectivity rate
- Average playback quality
- Support ticket volume
Support & Resources
Documentation Portal
https://docs.redsquid.tv/operators
Available resources: Integration Guide, API Reference, Best Practices, Sample Apps, Troubleshooting Guide
Developer Support
| Channel | Response Time | Best For |
|---|---|---|
| 24 hours | General questions, account issues | |
| Developer Forum | Community-driven | Technical discussions, sharing knowledge |
| Slack | 4 hours (business hours) | Real-time support, urgent issues |
| Dedicated Support | 1 hour | Enterprise/Premium operators only |
Contact:
- Email: operator-support@redsquid.tv
- Forum: https://forum.redsquid.tv/operators
- Slack: Request invite via operator portal
Getting Started Checklist
Ready to onboard to RedSquid?
Phase 1: Planning (Week 1-2)
- Review this onboarding guide completely
- Identify your deployment model
- Determine hosting approach (cloud vs. local)
- Assess DRM requirements
- Schedule kickoff call with RedSquid team
Phase 2: Setup (Week 2-4)
- Create RedSquid operator account
- Configure operator profile
- Upload brand assets
- Set up development environment
- Prepare test content
Phase 3: Development (Week 4-10)
- Develop/adapt operator app for RedSquid
- Implement RedSquid JavaScript API
- Configure DRM license server
- Implement analytics tracking
- Test and optimize performance
Phase 4: Validation (Week 10-14)
- Submit app for compatibility review
- Complete Operator Acceptance Testing
- Beta test with friendly customers
- Address feedback and issues
- Final compliance certification
Phase 5: Launch (Week 14-16)
- Upload production app configuration
- Configure rollout policy
- Set up monitoring and alerts
- Train support team
- Launch to initial user base
Contact Information
RedSquid Technologies Ltd.
- Website: https://www.redsquid.tv
- Email: info@redsquid.tv
- Operator Partnerships: operators@redsquid.tv
- Technical Support: operator-support@redsquid.tv
- Portal: https://portal.redsquid.tv