Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull notifications - iOS #385

Open
nghiacc opened this issue Feb 28, 2021 · 0 comments
Open

Pull notifications - iOS #385

nghiacc opened this issue Feb 28, 2021 · 0 comments
Assignees

Comments

@nghiacc
Copy link
Collaborator

nghiacc commented Feb 28, 2021

Purpose: With current mobile platform's push notifications, all notification messages must go through the platform service (Apple Push Notification service - APNs for iOS or Firebase Cloud Messaging - FCM) and centrally managed via a remote push notification server. This represents a challenge for a decentralised application like Stamp.

While no perfect technologies are yet available to offer a decentralised notification delivery, Stamp will initially adopt a pull notification technique which leverage background tasks to query the server periodically and update the user if there are new messages available for them.

With iOS, there will be a limitation related on how the platform manages the background tasks. The platform prioritise the front applications a lot more than any background tasks, therefore a scheduled background task may not be invoked until the device is less used. This leads to unreliable frequencies on which a background task is triggered, hence results in intermittent notification service. At the initial stage, the pull notification service will mainly serve for the engaging with users, inform them about new messages so that they can open the app and check for new content periodically. When Stamp gets more usage, a more sophisticated technique maybe developed to replace or enhance the pull notification via background task.

A/C:

  • The notification must be able to notify users at least once a day given normal usage
  • There is no significant battery drain to device
  • There is no significant impact to device performance
  • There should be a message to inform users about the expected intermittent service and the decrease in performance/battery (if noticeable)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants