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).
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.
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
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…
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.
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.
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.
@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 ( http://ogs.readme.io/v4.2/docs/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: