Behind the wings of KGS

We hunt for KGS's secrets in an interview with its creator, Bill Shubert


Paolo Montrasio. I remember CGoban 1 for Unix. I used it at university to play on IGS. It could have been 1993. Definitely the most beautiful IGS cl ient available at that time. What was that moved you to write such a fancy IGS client?
William M. Shubert. When I first found IGS it was so exciting - I'd always liked go, but hadn't known of any local clubs so I'd never had anybody to play against. Right away I tried all the clients, and found one that that I really liked - unfortunately, I can't remember the name, maybe it was kgo? Anyway, I really liked the interface, but I kept thinking of features that I wanted to add to it. I n addition, I couldn't find an SGF editor that I liked, so I decided to write my own client that combined kgo, the features I wanted to add to kgo, and an SGF editor. The result was CGoban 1.

PM. I've been waiting for a Windows port of it since I started working and I had to switch to Windows. You can imagine how happy I was when you released CGoban 2: it runs on my laptop and it is the client for a brand new server. Once again that was the most beautiful Go server around, the onl y one you can use to comfortably review games and teach over the Internet. Anyway, starting a server from scratch is pretty ambitious. What was you goal?
WMS. Well, I kept working on CGoban and adding features, but finally I got stuck. I really badly wanted to add group editing of SGF files through the go server. This would need changes to the server to work properly. At the time, I was an admin on NNGS, and I'd helped out with the network code there, so my first thought was to add the support for this to NNGS and to CGoban 1. But the problem I saw was that CGoban 1 was only used by a small portion of all the go players, so the "group editing" would only work if both people happened to be running CGoban 1 on NNGS. The only way to make this change really useful would be to add the feature to every popular client, and that was just impossible because there were so many, and many were written for systems that I couldn't develop on. Somehow in the end the only solution that seemed wo rkable was for me to write my own server from scratch that supported these new features I wanted, and to write a client for this new server that could run everywhere. So I guess my goal was just to add group editing of games; maybe it was foolish to start over just for one feature, but it seemed the only way at the time!

PM. There are many Italians players playing on KGS now, mainly beginners, and there is even a KGS-based team participating to an Italian team tournament. KGS g ained popularity in Italy thanks to group training sessions organized at the end of 2000. Is it common to use KGS to teach to classes, as far as you know?
WMS.I know that there are a lot of classes going on - some are run by pros or strong amateurs, some are group classes that meet to discuss games, etc. It's really so exciting to me, because again the whole reason I wrote KGS was because I thought that the internet needed a better teaching system, and I'm just so glad that other p eople agreed!

PM. You ran KGS on your own for a while (it was called Igoweb, right?), then Kiseido arrived and bought the server. That was quite a surprise. Can you tell us how it happened?
WMS. It was a suprise to me too! But first let me say that Kiseido actually didn't buy the server. It's still owned by me, but there's a lease agreement that puts Kiseido's name on it. This was better for both of us, because I didn't want the loss of control over the serve r that selling it would mean, and for Kiseido it wouldn't have made sense to pay the amount it would cost to cover all my development time, especially back when the server was new and wasn't nearly so busy as it is now. But back to how this happened: I wrote this server and called it Igoweb. Then a friend of mine, Olaf Martens, was visiting Japan and ran into Richard Bozulich of Kiseido at the Nihon Kiin. They got to talking, Richard mentioned that his Kiseido server which was developed by another c orporation really wasn't working very well. Olaf mentioned that a friend of his had written a new server. They got to talking, then Richard contacted me, and it was pretty clear that the arrangement we have would really help us both - the server helps promote Kiseido's go equipment, the Kiseido books have blurbs about KGS in it to help promote it, and Kiseido covers the costs of running the server.

PM. What's their goal with owning a Go server? How does it relate to their busin ess as books publisher and provider of Go equipment?
WMS. Short term the server helps people become aware of Kiseido - the ad banner in login means that everybody using KGS knows that Kiseido sells books and equipment. More long term Richard has plans to run big professional tournaments on KGS. The plan is to find sponsors to put up the prize money, then change entrance fees and have Kiseido/KGS keep that. Playing games on KGS of course is free and always will be, but we're hoping th at if we get a big enough set of prize money then we will be able to charge a tournament entrance fee for playing in the tournament. As an added bonus, people who don't want to enter the tournament still get to watch the games for free like always.

PM. I'm just curious to ask you a couple of questions, but I wouldn't be surprised if you'd refrain from answering. Did Kiseido just bought a service or are they the owners of KGS source code, and is Kiseido paying you a salary for r unning their server?
WMS. As I answered above, Kiseido is actually leasing the server. They are paying all the costs of housing the server at the ISP, and in addition they give me a small salary for the time I spend on KGS. The salary is very small though, it really only covers a couple of nice meals in a restaurant each month, but I still appreciate it. :-)

PM. How much time does it steals from your day to be KGS' admin?
WMS. I try to do som ething on KGS - fix a bug, work on a feature, etc. - every day. This usually takes about an hour. In addition, once or twice I week I go through KGS-related email, which takes another hour or two. I probably spend about 10 hours a week working on KGS. For my main job I'm a corporate trainer and a progamming contractor, so sometimes I get a break of a few weeks in between training jobs and contracts, and that's great because then I can work full time on KGS.

PM. Did Kiseido arr ival significantly busted the popularity of KGS?
WMS. I think so. Some people already knew about Kiseido from their books, so having their name on the server I think got a lot of people to try it who might not have otherwise. In addition, they did the Japanese translation of the client which is really nice to have. So I think overall Kiseido's arrive has helped the server in a bunch of ways.

PM. I know you've been in Japan recently to talk with Kiseido about t he future of KGS. You hinted KGS' admins about new tournaments and professional games. Can you tell us if there are any great things to come?
WMS. The tournaments are the biggest thing on the horizon. After that, the thing that I most want to add is a client that you can run on your palm pilot. I often commute to work by bus, and it would be so fun if I could play a game of go as I do this. The problem I'm having is that all the handheld computers I look with wireless internet seem to have very strange internet connections - my understanding is that they don't have real TCP/IP connections to the outside world, they just connect to services the phone company provides to fetch your email and web pages. This obviously won't work as a way to connect to a go server. If anybody knows more about this subject, please get in touch with me!

PM. You already run tournaments on your server. How tough it was for you?
WMS. Writing the code was hard. It took me about 6 months to write and debug the tournament code. Once it was written, running the tournament was hard, but in a different way. Putting together a plan for the tournament, promoting it, signing people up for the it, etc...all that was very time consuming. But once it was all set to go, the good news is that from there it was pretty easy! Once the tournament starts everything is automated so I just sit back and watch. I was terrified the whole time that the tournament code would break , it would set up the games wrong or at the wrong time or whatever, but in the end it all worked which was really nice.

PM. Will KGS eventually catch IGS as the most popular go server around?
WMS. Some of the KGS admins have had discussions, several of them don't care if KGS grows because they like it the way it is. There is a problem that as more people log in to the server it can become less friendly. I added the user pictures to try to help that; I figured that if you could actually see the other people on the server, it would seem less anonymous. But in any case, I like to see more people because that means that people really like the server. I've been watching the games played per month, and it's been growing steadily at 10%-15% per month for the past couple of years. If this keeps up for another two years, then KGS should be the same size as IGS. Not too bad! But of course we'll have to wait and see if this really happens. I'd like to add though, I never created KGS because I wanted to "beat" IGS. I have nothing against IGS, that's where I learned to play go! But IGS hasn't improved very much in a long time, and I think that's a mistake, the world is always changing and if you don't keep working to be the best you won't stay there.

KGS is at kgs.kiseido.com


-- End --