Native Apps - Features
What the wrapper adds over the installable web app
Our Progressive Web App (PWA) and native mobile apps are both built on BusyOwl’s Framework (BOF), ensuring consistency across platforms. The native apps inherit all features currently available in the PWA
Using the PageBuilder tool within the admin area, you can create or edit pages and layouts for the native apps just as you would for the web version. You can micro-manage users and their permissions just as you would for the web version. Admin-area gives you control over native apps just as it does for the PWA version
Technical Implementation:
For native app development, we leverage Apache Cordova to encapsulate the web application within a native container (via WebView). This allows access to existing web-based features while integrating Cordova plugins to utilize device-specific capabilities (e.g., background-action, file-access, push-notifications). This hybrid approach ensures full compatibility with native functionalities while maintaining a unified codebase
To ensure optimal performance and compatibility, we prioritized native device features over browser-based alternatives in cases where the latter underperformed or lacked support. This includes MediaSession, VAPID, and integrating device-specific hardware and platform-native UI/UX enhancements. The highlights are:
1. Better Offline Experience
- PWA: Relies on service workers to cache content after initial visits.
- Native App: The app contains a built-in copy of all its screens (HTML, CSS, JS, fonts, icons), so it starts without a connection. Since Cordova V1.1.00 it also keeps that copy up to date from your server over the air (see point 5). When users download an item to-app ( instead of to-device ), the item is written to actual hard-drive of device rather than being cached by serviceworkers. Serviceworkers do exist in the native app but they are only in charge of temporary caching images.
2. Native Push Notifications
- PWA: Limited to browser-supported VAPID
- Native App: Uses Firebase Cloud Messaging (FCM) for always-active notifications
3. YouTube Background Play [ Android Only ]
- PWA does support background play, but users have to allow Chrome ( their browser ) to run in background and also some `sources` like YouTube are impossible to play with screen-off by design. YouTube wants people to pay for that
- Admins can enable background audio playback, even for YouTube embeds. The audio keeps playing even when the screen is off – impossible in PWAs due to browser restrictions! This features is added to "User-role" so you can offer it to everyone or sell it in a subscription plan
- Also it's impossible to bind YouTube to native volume or "next" & "previous" controls in PWA because YouTube enforces it's own MediaSession while in native apps, we control the volume buttons even for embed YouTube videos
4. Splash Screen & Native UI Polish
- PWA: Show a blank screen while loading
- Native App: Custom Splash Screens: Professional app launch experience. Thanks to features available only on native apps, optimized authorization flows, media players, and menus for smoother interactions.
5. Over-the-air updates (added in Cordova V1.1.00)
- PWA: Gets new files the next time it is opened online, through the service worker
- Native App: Before, the screens were frozen at build time and fell behind your server. Now your server publishes its current screens as a small bundle, the app downloads it in the background and, after the user taps Update & restart, runs the new version. Login, queue and downloads are kept. A bundle that fails to start is rolled back automatically, and an app that is too old for your server shows a clear "please update" screen
- Only the screens travel over the air. Anything native (permissions, plugins, icon, name) still needs a new app build. Details: Cordova V1.1.00
Overall UI/UX upgrade
After months of dedicated effort, we've completed a comprehensive redesign of both the UI and UX for the player interface and multiple pages across our native applications and PWA. While we aim to release as many updates as possible for the PWA version too, certain features (like those mentioned earlier) require native device capabilities and will remain exclusive to our mobile apps.
Version 2:
In version 2 we added:
- Social Login: Allowing clients to use multiple social accounts to login
- [Android Only] Google (chrome) Cast: Allowing clients to cast an item to a third device
- [Android Only] Google AdMob: banner and interstitial ads inside the Android app. Create them as AdMob campaigns under Business → Advertisement → Campaigns — see Ads
Cordova V1.1.00:
In Cordova V1.1.00 we added:
- Over-the-air app updates and the new Mobile App page in the admin area (Rebuild bundle, Revert, store links)
- An update notice in the update confirmation: whether an update reaches your app over the air or needs a new app build
- Automatic version numbers for online-compiler builds, so Google Play accepts rebuilt apps
- One app project download for iOS and Android hand builds, with your server's details already filled in
- A safer start: a retry screen instead of an endless spinner, a bounded offline cache, and no false "No internet connection" message on a connected phone