Thank you. Yes, it works by polling, but the polling happens on my server.
I tried several ways to make polling work on device, but none of them worked out. On iOS the timing of background tasks is not guaranteed, if the system decides it needs to conserve battery or CPU then your background tasks will be delayed until the device is plugged in. So I set up a simple server and proxied OGS API calls through that, the server will then poll and send out push notifications when necessary.
By the way, thank you very much for making your app open source, I have learned a lot about how to work with OGS API from your code.
An interesting choice. I considered it, but then thought that I would hit the rate limiter with enough users. There are about 11k active users on the Android app now, and some of them have 10+ games. I’m thinking that maybe we should try and see if we can’t get Anoek to implement push notifications directly on the server or perhaps give us access to do it…
Glad to hear it was useful to somebody. There are no proper docs so I spent a lot of time reverse engineering what’s going on…
It’s not that interesting, I was kinda forced into it with the limitations on iOS .
I though notifications on Android have been working fine? Maybe a detailed proposal with the current shortcomings and desired outcomes would help the case.
Before deciding to go this way, I had checked the number of users on your app and estimated that it would be okay; but scaling things up on server side is quite hard to predict and I am still a long way from your numbers so I’m not sure how it will go. If it does go bad at some point, I think that asking for a higher rate limit is still easier than asking for access to the backend.
Android has the same limitations. In fact I think they were first introduced in Android and then copied over to iOS (don’t quote me on that though). There are frameworks by google that help with this, but I ended up implementing the notification system about 4 times in the app until I reached this implementation.
Well define “fine”… They do work, but there is a big delay sometimes between the move and the notification, in the worst case scenario (when the phone is in a deep doze mode) it can be up to a few hours. Typically it’s around 10 minutes though. The phone is also wasting battery (and server resources) by polling.
I don’t think there is a lot of demand for a macOS app though, since we can just use the web version; but I wanted to check anyway : Is there anyone interested in a macOS native client for OGS?
Wait, what, …? What exactly did you try there? Send me a link, please and I’ll give a try also, provide feedback, etc.
There is demand for a (native) MacOS / iOS -App, in fact I started coding one a while ago … From the feedback I am getting : the “web”-interface of OGS is good, better then most online Go playing platforms, but compare the (native) client of PandaNet …
I have just published a new beta version of my iOS app. This version adds support for in-game chat, which you might already have a glimpse of from my previous post. You can download the app using the same link as before: TestFlight - Apple
Sharing variations is not supported yet (it has to wait for Analyze mode), but viewing shared variations in chat should work fine.
As always, I am looking forward to your feedbacks on this new version.
The macOS app is currently still very rough (messy UI and bad performance), since it just happened to work and I have not done anything to optimize it for mac; but if you want to try it out, you can download it here: https://files.honganhkhoa.com/Surround.app.zip
For now, I don’t have any plan to work on the macOS version yet, so it will probably stay that way for a while.
I plan to release my app to the App Store soon (after 1 more beta), so probably it will be simpler that I make another announcement thread when it happens?
Glad to know that you like it. I will probably not have time for the macOS app though, so I am planning to make my app open source after the App Store release and let the community figure out the macOS side.
“Surround - iOS client for OGS” would be my choice. For the sub-forum, I think either “Announcements” (same place with OGS-Notify) or “Go Resources” (same place with The Conquest of Go and Katrain) would be good option.
Currently I only plan for Start new games, Analyze Mode/Conditional Move, and Puzzles. What other features need to be implemented before you would consider it “Full OGS functionalily”? Literally replicating all features to the app would take years
Puzzles I personally wouldn’t need as I do them with Tsumego Pro on the iPhone.
And the others are nice already for a beginning
Heh, yeah, I imagine. But hey, updates and make it a reasonable price for the update, like, say, 3–5 € every time you add something?
If App Store (which will mean some trouble also) then make the updates something that could be purchased in-app as a “power-up” or something?
I’m quite sure a total price of ~15–20 € would be appropriate for such an app, but yeah, I guess it would probably mean a full-time job with no sure income, so… maybe spend the time on something more worthwile.