Alex's Android Client

Hi guys,

I’m in search of a pet project and I’m considering writing an Android client for OGS. I know that @pathogenix is writing one himself, but I don’t know what the state of the project is and I would prefer to choose some different technologies. For example, I will not aim for cross-platform compatibility since I have neither the hardware, experience or desire to develop for iPhone / iPad. Hence my client will be a pure JAVA Android client.

I would like to ask the community if they desire such an app (it would be a shame if I were to invest time in this and nobody would ever use it) and what features do you think will be needed.

The client will be:

  • Pure JAVA for Android only
  • There will always be a free, usable version of this, although in the future, if granted permission by the devs I would like to add a donation button or a premium version (with cosmetic extra features).

Planned features list:

  • game list
  • notifications
  • ability to play “long” games
  • ability to play “fast” games

Your thoughts on the matter would be greatly appreciated (and also a list of features you think most useful).


I’ve been working on an Android client for a while now. :sweat_smile:

Old screenshot

In case you are curious I am writing it with C# and mono(Xamarin.Android) which isn’t native but is proved to be the same speed and in some cases faster than dalvik(java vm) on android devices. Though I/O code generally runs slower.

The guys that wrote the runtime are wizards.


Wow, looks really good, nice work! Are you close to releasing it?

1 Like

It’s still a ways off, I’ll be busy for the next month or so. Maybe an alpha release in a couple months, depends on my workload.

Do you mind some competition then? :slight_smile:


Game on. :smile:

1 Like

Hey guys… on the Android app front I will say that there is something coming up soon that is not a full release client but may be of interest to those of you writing Android clients.

I know that’s a little cryptic, but just thought I’d let you know :smile:


Thanks for making me uneasy matburt. :sweat_smile:

Does that mean I should stop?

Don’t stop! I have been longing for an android app :wink:

1 Like

I’d rather not :stuck_out_tongue: I’ve put a fair bit of work in to it so far.


I’m wondering if there is any point in me starting though. If the OGS developers are actually working on a client there is no point in me competing with them. Since they have more resources, have a lot more riding on this and have access to both ends of the API there is no way I could do a better job than them.

I was hoping that they focus on what they do best and build more features for the site and leave the Android app for others, but it seems that is not the case…


Absolutely don’t stop.

Whatever you do, don’t stop!

The more people work on android stuff for OGS, the better the end result will be!

(Also: If we have three clients for OGS, I will buy them all :wink: )


Is that a promise?

1 Like

@Rvzy: Planning on creating a $500 app? :stuck_out_tongue_winking_eye:


I need a new car. :grin:


My 2 cents from a user point of view. I have used the KGS Android client on both my Smartphone (4.3" screen) and Tablet (9.7" screen). I have decided that screen size is vital for me so I have no plans to ever use an Android client on the Smartphone again because the screen is too small. However, it looks pretty good on the tablet. The point I want to make is … don’t reduce the features to suit a Smartphone because tablet users will be expecting a lot more. The KGS client even on tablet does not have 25% of the features on their Windows client and I feel shortchanged. Therefore, every day I still use the old Windows client because the Android version is just not good enough.

So I am saying that just to get something working wont be enough. Unless it is better than the current OGS browser-based client, then I probably wont use it. This is very subjective and others may have completely different opinions.

1 Like

The lack of features is probably more of a time restriction than a platform restriction. There’s a lot of stuff to implement.

At a base level for a release I’d like to support all game options, game notifications and spectating. Other things like reviewing I’d think about afterwards if people take to it.

@Halibut what features would you like to see as a minimum for the Android client?

To Alex or any other Android client developers, are you planning on making your work an open-source project?

If so, I would be interested in learning from and contributing to such a project. I have a good amount of past experience in programming in Java, C/C++, and various scripting languages, but I’ve never attempted to work on a mobile app. I would love to learn how while hopefully contributing some of that effort toward improving such a project.

1 Like

@yebellz sorry, but I for one at least want to keep it all in my hands for the time being. I’m sure there are others that will be happy to take you up on your offer.

@matburt I started writing away at the app and I reached the point when I need to connect to the server to do more meaningful stuff. But while the API is great, it seems to be missing a few things when it comes to docs… For example, I am interested in using the “/api/v1/overview” call to fetch a list of challenges and games but that particular call is never mentioned in the docs (I just found out it exists by sniffing the communication between the browser and the server). Could you please provide some info on that?

Also, there seems to be a space reserved for details of the “game” object ( but that space was never filled. Could you please provide some details (as you did for the time control object).

Is there a test/sandbox server where we can play around with the features or do I need to use the real site?

Again, let me congratulate you for the website, I found the API very well thought so far.

PS: So far my app has the ability to decode a move sequence in the format sent by the server (e.g. “dpqdqpdcejcj…”), display it on a board, and navigate forward/back through it. It even handles capturing and detects suicidal moves (although it does not handle ko yet). Screenshot: