I just wanted to share some screenshots of my (in progress) iOS app for OGS. For a long time it has been something I wanted to work on; and recently I managed to find some time for it, so it might be ready soon.
well done, looks great so far, and iOS definitely needs an OGS app!
will you open it to contributions on github?
one remark: I think you should avoid putting multiple board thumbnails on the game screen; it’s important that the player has a place to focus on one particular game without their attention unconsciously switching to other visible patterns.
The thumbnail view should be kept to the “active games” screen only.
I’m not sure about opening to contributors on GitHub yet, will think more about it after the first release.
The thumbnails only appear in correspondence games, I personally like it that way since I prioritize games based on patterns (“do I currently have enough time to answer this position?”); so after making a move, the thumbnails help me find the next game to play faster without having to go back. For now maybe I will make it a setting.
I have been trying to support all the possible game options on OGS, but there are a lot of them so it’s likely that I am missing some cases (some situations that broke the app recently: games with no time limit, free handicap placement, non-square boards). That’s why I really need your help to find out which options I am still missing.
Also, here is a roadmap for what’s coming next:
Push notification and widgets.
Starting new games from the app.
First version on the App Store.
It is subject to change depending on how the beta testing goes, so please let me know if you have any feedbacks/suggestions.
Hi everyone, a new beta version of my iOS app is ready. This version adds notifications, widgets for correspondence games, many bug fixes, and performance improvements. You can download it using the same link as before: https://testflight.apple.com/join/lRSWcaC7.
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.
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 …
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.