Agenda : Better UX. (Pre-Pushing and Async fetching)
We agree that frequently changing data is not going to be pushed. It will be fetched asynchronously (lazy loading)
Strategy | On-demand (pull data) | Push Notification | Real time APIs |
---|---|---|---|
Providers | On-demand APIs |
|
|
Local storage update guarantee | Yes, as the client will simply ask for the delta updates based on the timestamp |
|
|
What happens app is not running/device is switched off | nothing | PN is received once the app/device is switched on | Will not receive data until app resumes persistent connection back to the broker |
Data relevance: fetching | Highly relevant. | Low relevance. | Low relevance. |
SDKs support for Flutter | available SDKs | Supported for airship and firebase community-supported for pubnub | self-development |
Implications on devices | Low implications | Low implications | High implications |
Data storage (pre-pushed data) | In datacentre | In cloud | In cloud |
Ease - Maintainability, Scalability | Development cost | Development, Debugging will be difficult as with any external vendor. | Development, Debugging will be difficult as with any external vendor. |
Cost | No additional cost | On number of messages sent. Airship : 1000000 (devices) unlimited push. 87k USD annually +12k (one time support) Firebase - free unlimited messages (no support) with throttling conditions |
|
Comments |
|
|
|
Reference |
|
Verdict: Combination of push of less frequently changing data. And a pull to test for outliers(push not received) on load of page.