Just to clarify I don’t feel there’s any adversarial relationship, the mobile apps fill a need that OGS doesn’t have the resources to provide itself. Plus, there’s a lot of users that use both, so it’s not cannibalizing or adding undo extra support I don’t think, I think it’s great.
Anyways, re notifications, it’s one of those things where I’m probably making a mountain out of a mole hill a bit, but basically the complexity is that it’s not just a matter of slapping in the 5 lines of code or whatever it’ll take to actually send out the notification. It’s a matter of
-
Adding systems for device registration for a minimum of 3 platforms - Android, Apple, and web - which I’m not sure if there are sub cases for that or not. All of these take a bit of research.
-
While we’re at it, might as well add webhooks to help support the third party sites, or at least lay the groundwork for it.
-
Supporting multiple devices for each of those
-
Supporting multiple apps for each platform, or at least add the ground work for that
-
Supporting multiple player accounts per application, which will presumably share the same notification delivery address, which has some implications about how things are displayed and managed on our end.
-
Creating a UI to support device management and the notification controls that’s not exceedingly complex
-
Updating/revamping the notification system to control which notifications go to where and dealing with multiple platforms/devices per platform/player accounts per device.
-
Last time I worked with Apple Push Notifications you couldn’t just connect and send one message per connection if you were sending a lot of notifications, they wanted you to connect a small number of times and send lots of notifications per connection. This implies a very different pattern than we currently employ for delivering notifications so will require writing up a new service to deal with it.
-
Creating minimal apps on ios and android to test using multiple users on the same platform, registration, de-registration, re-registration, blocking and unblocking notifications, and whatever else a user may be able to do.
-
Navigate adding whatever app keys to the appropriate places so things work for production, beta, and ideally development if apple/android/web will work from a development environment. (If it’s only on beta, that slows down the development cycle a lot)
-
Whatever else I don’t know that I don’t know and learn along the way.
-
The 5 lines of code to actually send out the push notification.
So I view it as a bit of a notable undertaking. Certainly doable and something that we want done, but it hasn’t made it to the top of the big-project-todo list yet.