Installing Open Tarteel
Install Open Tarteel on any device for quick access:- Desktop
- Android
- iOS
Chrome/Edge/Brave
- Visit Open Tarteel in your browser
- Look for the install icon in the address bar
- Click “Install Open Tarteel”
- The app launches in its own window
Firefox
Firefox doesn’t support PWA installation, but you can:- Add a bookmark for quick access
- Use fullscreen mode for app-like experience
PWA Manifest
The app manifest defines how Open Tarteel appears when installed:Manifest Features
Standalone Display
Opens in its own window without browser UI
Theme Color
Black theme color for status bar integration
App Icons
192x192 and 512x512 icons for all devices
Screenshots
Desktop and mobile screenshots for app stores
Offline Support
Open Tarteel works offline thanks to service worker caching:Audio Caching
Quran recitations are cached for offline playback:Cache Strategy
Cache-First Strategy
Cache-First Strategy
How it works:
- Request audio file
- Check if cached
- Return from cache if available (instant playback)
- Otherwise fetch from network
- Cache the response for future use
- Instant playback of cached Surahs
- Works completely offline
- Reduces bandwidth usage
- Faster performance
Cache Limits
The audio cache stores up to 20 Surah files for 7 days. Older or excess files are automatically removed to manage storage.
Service Worker
The service worker enables offline functionality:Service Worker Features
- Precaching
- Runtime Caching
- Update Handling
Core app files are precached:
- HTML pages
- CSS stylesheets
- JavaScript bundles
- App icons and assets
Update Notifications
When a new version is available:Update Flow
- Detection - New service worker detects update
- Waiting - Update waits in background
- Notification - User sees update dialog
- Activation - User clicks “Reload and update”
- Refresh - Page reloads with new version
Users can choose when to update. The app continues working with the old version until they’re ready to reload.
App Shortcuts
Installed PWA includes app shortcuts:Right-click the app icon (or long-press on mobile) to access shortcuts for quick navigation.
Media Session API
Background playback controls integrate with system media controls:Media Controls
Lock Screen
Control playback from your lock screen
Notification
Media controls in notification shade
Bluetooth
Car and headphone button support
Keyboard
Media keys on keyboard work
Display Modes
The PWA supports different display modes:- Standalone
- Fullscreen
- Browser
Default mode - app runs in its own window without browser UI. Looks and feels like a native app.
Launch Handling
The app handles launches efficiently:- Auto Mode - Opens in existing window if already running
- Single Instance - Prevents multiple app windows
- State Preservation - Maintains playback state when reopened
Link Handling
The PWA can handle web links:Clicking Open Tarteel links opens them in the installed app rather than the browser.
Storage Management
The PWA uses browser storage efficiently:Storage Types
Cache Storage
Service worker caches for offline files
LocalStorage
User preferences and favorites
IndexedDB
GunDB distributed database
Session Storage
Temporary session data
Storage Limits
- Audio Cache: 20 files maximum, 7-day expiration
- LocalStorage: ~5-10MB depending on browser
- Total Cache: Managed by browser’s storage quota
Platform-Specific Features
Android
- Add to home screen
- Splash screen on launch
- System share integration
- Background playback
- Media notification controls
iOS
- Add to home screen (Safari only)
- Limited background playback
- No push notifications
- No background sync
Desktop
- Window installation
- System tray integration (Chromium)
- Keyboard shortcuts
- File system access (future)
The experience is best on Android and Desktop Chrome/Edge due to full PWA support.
Checking PWA Status
Verify PWA features are working:- Open DevTools (F12)
- Go to Application tab
- Check:
- Service Worker is registered and active
- Cache Storage has entries
- Manifest is valid
- Installability criteria met
Benefits of PWA
Why PWA?
Why PWA?
- No App Store - Install directly from browser
- Small Size - No large download, uses browser engine
- Always Updated - Auto-updates in background
- Cross-Platform - Works on all devices
- Offline First - Works without internet
- Fast - Cached resources load instantly
- Linkable - Can be shared via URL
- Secure - HTTPS required, built-in security