I think that you can only make really good software when you use it yourself. They call it “eating your own dogfood”.
Initially, I focused a lot on the technical aspects of the software, like superfast pattern recognition, and that those patterns were indeed relevant. I could do that with just programming skills, because it is possible to use harvested Go patterns to predict pro moves, thereby avoiding the need to become a Go player myself.
A long time ago (around 1988), my job was to design electrotechnical installations. We used a 2D CAD program by Rotring, and it sucked. So I borrowed ten thousand bucks and bought an Acorn Archimedes, a multisync monitor and an A3 plotter. Two years later I had a CAD system for the electrotechnical industry that was ripe for sale. Not because I was a CAD expert, but because after one year into its development, we dumped Rotring’s system and used mine instead. So I was forced to do my daily design work on my own CAD system. Nothing concentrates the mind better :-)
Seen the success of eating my own dogfood, I was thinking to learn to play Go online (I already planned to do that before). Some lessons and some online play. I am still a bit apprehensive to do that though, but I’ll have to jump in one day soon. I think that when I will use my own software to print Kifu’s and replay games, that I will find a billion annoyances that just have to be fixed ASAP. And that this will lead to a very much improved user experience. I think this is why SmartGo still is a scary competitor. All those programmers actually play Go themselves. I think Moyo Go Studio can not survive, long-term, without me spending some serious time on actually playing and studying Go myself. Actually using the software.
This is a dilemma, spending time playing Go versus working on the software. Because I can still improve the program without possessing the slightest Go skills. One of the things I want to make is filtering of pattern search results, so that you can get only the players you’re interested in. This has been requested a lot. But if I want to take this software seriously, I have to become a regular Go player myself, there is no way around the paradigm of Eating Your Own Dogfood. Otherwise there will be a communication gap between me and the customers.
The good thing is that I like to play mind games (I was an avid Chess player before) and that Go appeals to me. I played a dozen or so games and I improved rapidly and I liked it. With a much more relaxed release schedule (once or twice a year), it seems that I can divide my time more sensibly between programming for Go players and playing Go myself.
0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
You must log in to post a comment.