“Sente - Online GO” App for Android

Hi @alemitrani thank you for your feedback. The polling frequency is… complicated, as it is very much influenced by the android implementation. In particular Chinese phones take very big liberties with the implementation of the background power optimisations and thus I cannot guarantee anything.

In an ideal world, it would be every 30 minutes while on battery and every 4 minutes while plugged in. In reality, I doubt it ever happens quicker than every 15 minutes…

I will consider adding a tweak for that at some point, but the problem is people will surely abuse it and then complain the app is killing their battery… What I’m hoping to have happen is that at some point the powers to be will allow the proper implementation of push notifications for the app (which would be both much faster and also much less battery intensive), but that requires some backend work that is unlikely to get prioritised by anoek unless people are demanding it. For the record, I offered to do this myself, but the answer was that the server is very hard to start on a local machine for somebody who is not a backend developer (such as me).

3 Likes

Thanks very much for explaining that @MrAlex. I think it might be helpful to clarify that to users within the app, because if users know not to check for moves more frequently than once an hour or so, the app notifications should work as intended. If people check more frequently without knowing how the notifications work, they might think the notifications are not working when they find moves waiting for them with no prior notification. Perhaps it might be possible to log the poll events and display the average observed polling frequency on the settings page?

2 Likes

Very interesting. My ideal would be for it to be variable based on what happened in the app recently rather than on power status. E.g. I would like it to have a period of almost live polling for say 3-5 minutes after I made a move or if say a move by each colour were made within the last few mins. That way I might stand a better chance of getting a series of moves in but avoid battery suckage the rest of the time.
Or, have a notification frequency option in settings for battery optimised or notification optimised. Then if people choose the battery heavy option it’s clear that was their choice. (I’d probably do that and just charge phone more. It’s not a problem since I’m always at home now!)

2 Likes

I hate to say it @MrAlex but I finished a game yesterday and it’s not showing on my recent games but instead it appeared in the older games section in position about 33, which I guess was the first slot after the previously downloaded have in the carousel. I’m not sure if it got added to the carousel when it finished or when I scrolled the carousel.
Anyway, very odd and not a real problem but thought I should mention it.

1 Like

Ugh… weird… which one is it?

1 Like
1 Like

That is a completely different approach, and one I wanted to implement in the past, but never could find the time because I keep getting bogged down in bugs: After you quit the app it would be relatively inexpensive to keep the connection up for a few more minutes (say 3 minutes). Sure it would eat some battery but I think people won’t mind since it will only do so when they are using the app (as in opening it) and not all the time as with polling.

Maybe I can find the time and motivation to implement that soon as it would be a superior solution IMHO.

3 Likes

Yeah, I just found a similar situation myself. It’s caused by the server sending timestamps in either seconds, milliseconds or even microseconds on different requests… I’ll try to figure something out…

2 Likes

Hi, I’ve just had this conditional move bug happen again a couple of times. I don’t know if it’s helpful but this time I tried cycling back and forth along the moves rather than going out of the game and back in to fix it. When I replayed the sequence it seems that my last move is replaced by the conditional move in the game tree somehow.
Sorry if I’ve not explained this well or if it’s not helpful but I thought I should mention it.

1 Like

I think I found it and fixed it. It was there since forever, but before I optimized the number of calls to the backend it used to only last about half a second and it would flip back to the correct state (because I was refreshing the full game state every time there was something happening). Now it “sticks” in that wrong state until you cause a refresh.

Anyway, I fixed it now by using database transactions, that should ensure there are no more race conditions…

Aaaanyway… new version is out, alpha_b272. This one contains a ton of changes, most of them under the hood, but a few of them visible:

  • Dark mode. Thanks to Popz73 for the contribution!
  • We now take into account the ping and server client clock differences to fine tune how much time there is left on the clock
  • Paused games now correctly stop the timer ticking down, although there is still no indication the game is paused
  • Absolute timers now work correctly
  • The start timer (the time you have to make your first move) is now correctly shown
  • new in-app “what’s new” dialog. Hopefully it will keep people more involved…

Also a slew of bugfixes, this are only the ones I remember:

  • Finished games sometimes not showing up
  • Opponent’s pre-planned move now always shows correctly
  • Fixed issues with accepting an opponent’s undo request
  • Added some UI “smoke tests” to the CI setup. This should greatly reduce the chances of a broken release

The timers are basically reimplemented, so please keep an eye on those and report any problems. As usual, feedback in welcome.

5 Likes

Amazing stuff @MrAlex. I’m so excited about dark mode! And the clocks working.

1 Like

I should rename the app “fifty shades of grey” now…

6 Likes

While google takes its sweet time delivering the build do you guys I managed to find a way to actually run leela zero on my phone. It looks like it would not be that hard to integrate some AI functionality in the app, such as playing against it or perhaps analyse games directly on the phone.

Not sure if people would be interested in this as obviously the strength of the analysis will not be superhuman since the phone does not have the same horsepower as a laptop…

What do you guys think?

2 Likes

Wow, that would be amazing. It’s love to be able to get an ai view of the game to review/analyse in app. Currently I head over to the site for this and then get annoyed about the interface and cycling through moves etc.
I’m not bothered about playing games against it but that’s just me.
Would it melt my phone?!

The update is great btw. I’m amazed my disappeared games came back, I thought it would just be applying to games from now on.

One question, is it bad to use red and black? I like the dark theme but somehow all the red things turning blue seems odd. Maybe it’s just that they are so burned into my brain as being red but I wondered if the red and blue elements couldn’t just be retained in the dark theme.

2 Likes

It would pretty surely make it warm and also use up a lot of battery. It depends on how many seconds of continuous use you want to get out of it. If you just let it analyse a few key positions then it probably wouldn’t be too bad… if you ask it to spend 1 minute on ever move of a 19x19 game it might chew through all your battery though.

I pretty much left the dark color scheme up to @Popz, as I will probably never use dark theme. Not sure how I can make everybody happy here and am anything but a graphical artist.

2 Likes

You don’t need to aim for this unobtainable goal! You anyway make me happy.

3 Likes

hi - glad to see the dark theme reach everyone :slight_smile:
the salmony-red of the light theme doesn’t work at all on dark; it’d always have to be a different color and I preferred to not be limited by colors that are close to the light theme.
Blue is more commonly used as an accent color for dark themes (e.g. the dark theme of this forum).

hopefully it’ll just take a few hours to get used to! I’m biased as I’ve been using the dark theme for a few weeks now; I wanted the feature because I play too much Go in the dark, my eyes were dying :stuck_out_tongue:

4 Likes

It’s growing on me

I want it to play Go at night without waking the wife…

3 Likes

Thanks for adding the dark mode @Popz and other improvements @MrAlex ! I have been finding the app very useful and using it every day - it lets me know when I have moves waiting.

At the risk of stating the obvious, users shouldn’t be able to analyse games that are being played with AI - as well as cheating it would violate OGS terms of service. Ah-Q already does this well for phones, as does CrazyStone, and OGS offers good post-game analysis. For me personally adding this sort of functionality to the app wouldn’t be a priority.

I have a suggestion: what about integrating Go(t) stats? I noticed that there is a stats page under construction.

2 Likes

adding post-game AI reviews would also remove some of the appeal of being an OGS supporter; better to steer clear of those conflicts of interest. I personally don’t need/want to have AI in the app

1 Like