Note that this page has information and screen shots that are no longer accurate. For up to date information about the Android client, please see the Android™ info page.
An Android application client has been released. Here are the informations wms has posted about it on the forum godiscussions.
The Android Client (in beta format) has been released! The beta is FREE OF CHARGE, but it will only function until January 20 2010 - then you'll have to download either a new beta or buy the non-beta version.
If you have an android phone, visit the "Android Market", then search for "KGS".
Right now I'm not terribly interested in feature requests. I know it is missing a lot of features that people want, but if I were to first put in all the features I intend, then release, we'd be waiting another year. So please, let me know by email at [email protected] if you find anything broken, but otherwise...well, creating another thread here is fine for feature requests. I'll read it when I run out of ideas on things to add. And maybe I'll post my own, but right now I'm just focussed on making sure there are no bugs.
Enjoy! And send me any bug reports!
(PS - Today I decided to finally try playing a rated game on the real (ie, non-test) server with my phone. It all went smoothly, including me winning. I can't promise that you will win all the games you play on your phone, but the track record is 1 for 1 so far!)
Well I logged in with my phone today and played a game. New bug list:
As for a slower automatch mode, perhaps, but it's not as high priority for me as getting the android running, so it will come later.
PS - Don't worry about the droid screen resolution. The board and stones are saved in high res, then scaled down to match whatever your screen resolution is, so on the droid you will just get better looking board & stones due to less downsampling. There will be no blank space and no upsampling graininess.
I don't know about compatibility issues other than firmware revision ones. The Android API is (like most living APIs) getting new stuff added all the time. If I use a call added in (for example) android 2.0, then any pre-2.0 phones won't be able to run the client.
Fixed the bugs listed, here's the current bug list:
So this won't be released in time to be a Christmas present, but a New Year's release is still possible if things go well.
Well this sucks. Yesterday I was able to connect my phone to my computer and transfer test apps. Today my phone isn't recognized by the computer - when I connect them together by USB, the phone acts like it's being charged and doesn't indicate a USB connection; the computer (even the kernel logs) don't see it at all. Same result on my wife's computer. I checked around, apparently the cables that ship with these phones are terrible and fail often. I'll take the phone back to the shop for a new cable (or a new phone if the problem is there). But no testing today. I did code up fixes for all the urgent problems though, and they look nice in the emulator.
Well, today I bought my phone. I went with the Samsung Moment. Yes, the Verizon Droid has a newer version of the software - but that meant I didn't want it. I wanted to make sure the KGS client ran OK on older phones. The moment isn't all *that* old, but it's running Android 1.5 and it is my understanding that most phone out there can be upgraded to this (if they aren't running it already). If anybody has a phone that can't be easily upgraded to 1.5, let me know. You can find out your Android version from the main window, the menu, settings, "About Phone," look at "Firmware Version."
The bad news: At first it kept crashing. So the emulator isn't quite like the real thing! But I fixed the glitches and was able to play a game on my beta test server. The UI I selected for making moves is usable, but I found that touching the board was way too hard, I had to use the trackpad to move around to select the place to drop the stone. I can see that adding zoom would be a nice option, but the current system seems usable for now.
Things that still don't work quite right on the real phone, *MUST* be fixed before release:
Overall things went really well I think. Perhaps a release before the end of the year even! We'll see.
PS - It totally sucks that the phone comes preconfigured with a bunch of really crappy apps that you can't delete. So forever I have this stupid bejeweled demo taking up space in my app list. And don't even get me started on the ESPN app, the NASCAR app (yeah like I bought this phone so I could keep up to date on NASCAR), NFL Mobile Live, etc. etc. etc. Total crap. As soon as I can find a way to hack into the phone and get rid of all that I will.
You can't zoom, but there is a mark on the board. You can move the mark by touching the screen, but that doesn't place a stone. Pressing either the center button of the cursor keys, or an on-screen button labelled "confirm," will put a stone at the marked location. The cursor keys will move the mark.
So you can touch the screen, if the touch is in the right place drop the stone, if not move it around with the cursor keys (or more screen touches) until it is right.
This feels OK in the emulator, but it may be too clumsy once I get a real phone. I'll try it out, it may change if it doesn't feel right.
The custom game match doesn't fit with the android well. It's tied to rooms, which aren't supported because chat on a tiny display with a lousy keyboard is difficult. It has a lot of controls, which would be hard to view and navigate on a tiny screen. It has chat in the game setup itself, so you need to flip between game setup and chat. Overall, the automatch seems a much better fit for the limitations of a cell phone.
The first release of the android client is now feature complete (ie, ready for beta testing). Here's a summary of the feature set:
Things you can *NOT* do:
Graphics are still fairly simple and crude, no pretty backgrounds or beautiful layouts. Sounds consist of just "thunks" when a move is made, no more. I think that it is ready to test on a real phone now, so I hope to get one by the end of the year. I know a lot of you offered to be beta testers, but let me test it myself first. There may be a lot of obviously broken stuff.
Once the bugs are out, I'll probably release it with this feature set, then keep working on it. Most of all I want to add the ability to review a game in some way, and adding the fan list and private chats would be fairly high priority also.
This will *NOT* be a free app. It will probably be on the expensive side, but my plan is to credit you for KGS Plus for most of the purchase price; that way, for KGS Plus people it will be fairly cheap (since they are the ones supporting the server already), for people who don't use or want KGS Plus it will be fairly expensive. I'm thinking $15 or $20 for the app, of which all but $5 will also be a KGS Plus credit. Obviously for anybody who buys this early version, there will be free upgrades when I add more features, so the $15 or $20 will come with free upgrades for the life of your phone (or longer if there is some way to transfer the apps from your old phone to a new one, not sure if that is possible or not). But if the current feature set isn't worth the purchase price to you, then by all means wait until I get more stuff implemented.
If all goes well this first release will be out by the end of January. I'm hoping to buy the phone by the end of the year, get the kinks out, set up my android app shop stuff, then release. If there are problems (or if I have issues at my day job that don't leave me with much time), it will be longer.
How does this all sound?
Yeah, I'll probably brighten the white stones. This doesn't use the cgoban artwork, these are prerendered in a 3d package instead (cgoban renders them algorithmically, which is neat but takes a lot of code space, on a phone it is cheaper to just have some bitmaps to load and scale). The other day I got watching games working. You can pop up the active games list and click on one to see it. Still can't resume games though. And there is still no chat. I think I may add in-game chat with your opponent, that seems sort of necessary, but I probably won't have room chats in the first release. The discussions often get fast enough that to be typing on your phone as you read the continuing discussion would be too much hassle to be really usable.
Yes, this is for Androids. I had a Java ME client at one time, but it was very frustrating because at the time all the Java ME devices had weird limits (like at most 64KB for the app) and bugs (like they couldn't send and receive data across the internet at the same time). Plus they had no floating point so I had to rewrite my scoring code. So I finally gave up on Java ME. And iPhone doesn't run java, so I'd have to rewrite from scratch. But the Android is very nice, it's only 2500 lines of code (on top of the existing KGS codebase) to get the client this far, and it's fairly easy to do. Now when I get a real phone, it may act different from the emulator, and then I won't be so happy, but we'll have to wait and see.
Some screen shots from a new client I'm writing:
As you can see, game playing functionality is there and the board and stones look pretty good, but a lot of the other graphics are still very basic and rough. And there are features missing that will need to be there before I can even release it for testing - for example, you can't resume yet, or watch games. These need to show up before it is really usable. I don't yet know when exactly it will be ready. Probably in a few months. So far I've been working on this for about two months. Unfortunately I only have a few hours a week (mostly at night when my daughters are asleep) or it would be going much faster.
Footnote: “Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.”