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 --