DragonGoApp

Android app to play the game of go on the DGS server. Download the APK from the button above.


DragonGoApp in a nutshell

There are two ways to play the game of Go (aka Baduk) online: either live (a game lasts about half an hour) or by correspondence (a game may last several weeks). DragonGoApp is a mobile Android application for playing correspondent games with the Dragon Go Server

Playing by correspondence is very nice for busy people, because you can play just one move whenever you have 5 minutes free time, anytime. Also, in most cases you play several games simultaneously (up to a dozen for me), which always let you with some goban to handle whenever you wish to. If you like go, I strongly encourage you to try correspondence games on any of the two servers above !

Because you typically play correspondence games on the go (at lunch time, in the bus...), mobile applications are ideal tools to get you entertained all day long. DragonGoApp is one such application for your android smartphone. It is also the only android app I know of that supports DGS and is free and opensource (which means that there is absolutely no annoying ad, tracking, limited features, paying premium... and it does not rely on the Google Service Framework). Furtermore, it is completely safe (the source code is public and the apk is certified by F-Droid) and it minimizes bandwidth usage, hence saving your mobile data plan.

Important limitation

As explained before, DragonGoApp is designed to continue playing the same games everyday during several weeks, because it is the most important feature for playing correspondence games on the go. But it does not (or badly) support neither initializing a new game, nor terminating a game, because both these operations occur only very rarely in correspondence games, and may involve complex server-dependent interactions with the server.

So, before using DragonGoApp to play, first start/initialize one or a few games on a real computer that is connected to DGS. You can of course also play moves on your computer or anywhere, and the next time you run DragonGoApp, it will automatically update the games on your mobile.

Similarly, when you reach the end of a game and want to pass, quit the app and pass and finalize your game on a real computer as well.

Overview of how to play with DragonGoApp

Quick-start DGS

Before playing, you must enter your DGS login and password via the "menu/settings" dialog. The app supports two user logins for DGS, and when you use the "menu/settings" to enter credentials, these credentials are stored for the currently selected user. By default, it's the first user. Changing to the second user can be done by selecting the "devLogin" in the list of commands trigerred by the fifth rightmost button. You can also select here the "devDGS" (development DGS) server, but you probably shouldn't care about it.


Main user guide

This is an android app originally developed for DGS, with the following features:

You can install the latest release from the button at the top of this page. There is also an old version in the F-droid repository, but you then have to activate the "archive" repository to see it. But I do not recommend using the F-droid version, because it's quite old. Prefer the version proposed here if you trust me. I would like to make it again available in F-droid, but this registration process may take quite some time and I still have lots of improvements to do to the source code before. The last option is to download the source code from github, and adapt the "build.sh" script to your environment (this script is really minimal, and the app compilation is extremely simple so you should be able to compile it in no time).

Description

When run for the first time, a "loading" window appears for a few seconds: it's actually not downloading anything at this stage, but it's just uncompressing the eidogo javascript library onto the SD-card. This is only done once.

GUI overview

The 5 top-left buttons always present the most useful function at any time:

There is a top-right button ... that shows a list of additional functionalities:

Note that although the "look and feel" of DragonGoApp is not very appealing, this app actually has all the required functionalities to really do its job, i.e., playing correspondence Go with DGS. I'm just bad at designing fancy GUIs...

The current version of this app has been tested on Android 2.3.3, Android 4.1 and Android 5.

Bandwidth efficiency

Very few buttons actually connects to the Internet: Games, Send, View forums and the first time you press one of the View ladders button, or when you later on press Reload when viewing a ladder.

In fact, the app is designed to only access the Internet when it's really useful, hence minimizing bandwidth and consumption of your data plan. This has always been a major design guideline when writing this app, and you can actually always check in real time, on the top-right of the status bar, the total amount of internet connection that has been consumed by the app since it's been launched. Typically, you can play one move in 6 or 7 games with less than a few dozens of kbits of bandwidth.

Starting from version 1.8, the app caches locally the game SGF and the ladders (not the forums). But by default, it'll reload the SGF at every move. You can switch to a more bandwidth-saving mode via the menu: "Bandwidth config, prefer local SGF". Then, when downloading the status list of games, it also gets the last move of your opponent, which is simply added to the local SGF. The SGF will not be downloaded any more. This greatly reduces bandwidth consumption and improves playing speed, BUT this approach has one drawback: you don't see the comments sent by your opponent and attached to each move, because the "get status" connection does not return these comments ! If you want to see them, then you should switch back via the bandwidth menu to the "always download SGF" option. Then, you will also always get all comments attached to every move.