Go Congress 2018, Williamsburg

I enjoyed a fun week at the US Go Congress in Williamsburg, Virginia: a great success in terms of playing go, learning go, meeting old friends and making new ones; a mixed bag in terms of winning tournament games. I definitely did better with a longer time limit:

  • 3 – 3 in the main tournament. Time limit: 1h 30m per player.
  • 1 – 4 in the 55-and-over tournament (40 minutes per player).
  • 1 – 3 in the Die Hard tournament (30 minutes per player).

Clearly a better result than at the European Go Congress last year, where I lost the first seven games. No jet lag certainly helped. My rating before this tournament was 3.07, just barely 3 dan, might drop to 2 dan once the ratings are updated.

I talked to many SmartGo Kifu and Go Books users, and got to answer support questions in person. It’s really valuable to see where people stumble and what they don’t know about – I’ve written a separate blog post on that.

As previously announced, I’m in the process of rewriting SmartGo Kifu in Swift. I demoed a preview of the new version, and got good feedback on design and features. It won’t be ready until 2019 at the earliest, though.

Unfortunately, a family commitment will likely keep me from attending next year’s Go Congress in Madison, Wisconsin. I hope to be at the European Go Congress in Brussels instead.

Atomium

Unknown Kifu Features

It’s rewarding to see many go players at the Go Congress use SmartGo Kifu, and invaluable to be able to provide support in person. Most questions are due to users not being aware of existing features. I will keep improving the user interface to make features easier to find and use; meanwhile, here are answers to questions that came up several times during the week.

Edit Game Info

If you misspelled your opponent’s name, or started recording a game without entering the player names, tap on the title of the game above the board (with the little orange i) to see the game info, then tap on Edit to add or change any of the game info attributes.

Edit game info

Joseki Matching

Many players know about joseki matching, but may not be aware they can match a whole side of the board. To see a list of the games that match, tap on the little orange > in the joseki result (bottom left below the board).

Joseki matching

Rotate to Opponent’s View

If you get a game record from your opponent, it’s probably upside down. You can rotate a game in My Games by rotating two fingers around the center of the board. It rotates by 90 degrees only, so you have to rotate twice, and it’s a bit fiddly, but at least it’s possible. (This will be much improved in a future version, showing the following panel of rotation options.)

Rotation panel

Guess Next Move

Pick a game by a pro you like, turn on Guess Move, then try to figure out where the pro played. SmartGo Kifu gives you clues: right area but wrong move, right move but wrong timing, or the wrong area entirely. This also turns out to be great bar entertainment for several people, as we proved at the Green Leafe last night.

Guess next move

More Privacy

Tired of all those privacy updates? I bet you are.

I’ve made it as simple as I could: https://smartgo.com/privacy.html. I was already collecting very little personal data, but I’ve been able to trim it some more:

  • I’ve removed third-party analytics (Fabric/Crashlytics) from all my apps. I was close to doing that when Fabric was bought by Google; the upcoming GDPR (General Data Protection Regulation) gave me the final push. There’s no reason for Google to have any information about how you’re using my apps.
  • I’ve also removed Google Analytics from my websites. The small benefit of knowing the number of visitors and where they came from was not worth the hassle of having to tell you about this and getting your permission to collect that information. Again, it’s data about you that I don’t want to share with Google. Feels good to be tracker-free.

Zero trackers

I have two favors to ask you:

  • When Apple asks you to share anonymous usage data and crash reports with developers, please agree. Those crash reports really help developers improve their apps.
  • For the mailing lists, I will need your affirmative consent to continue to send you email. No consent, no more Go Books Newsletter for you. So please agree to update your settings when that mail comes.

I know very little about you and how you’re using my apps, and that’s perfect. But that also means that I rely on you to tell me when the apps are less than perfect. And of course, if you’re happy with the apps, please tell your friends. Thank you in advance – I’ll never know that they heard it from you.

Dictionary of Basic Tesuji

The fourth and final volume of Dictionary of Basic Tesuji by Fujisawa Shuko is now available in Go Books on iPad, iPhone, and Macintosh. The project started mid 2016, and the first three volumes were published October 2016, February 2017, and July 2017. William Cobb of Slate & Shell did all the hard work of converting the books to digital format.

Four volumes of Basic Tesuji

The four volumes contain 714 problems and 3070 diagrams. But the real story is the 3743 inline diagrams: instead of deciphering text that describes alternate move sequences, just tap to see a diagram with the move sequence. This makes the digital version much easier to learn from.

Page showing inline diagram

Tesuji are moves that make the most effective use of stones; knowledge of tesuji will improve your fighting skills. This series brings together the full range of tesuji, categorized by the purpose for which they are used: invading, reducing liberties, securing eye shape, taking sente, linking up, taking away the base, and much more.

While many of the problems are hard, single-digit kyu players (and stronger) should benefit from this series. For weaker players, I’d recommend first working through the Graded Go Problems for Beginners or Black to Play! series, then read e.g. Tesuji by James Davies or Five Hundred and One Tesuji Problems by Richard Bozulich.

Edit Game Record

It’s easy for mistakes to sneak in when you use SmartGo Kifu to record a game. At move 100, you notice that you placed an opening move off by one. Or you record afterwards, from memory, and you forgot an exchange played outside the main flow of the game. How do you fix it?

Go to Move

To correct a move, you first need to get back to when that move was played. Tap and hold on a stone, then choose Go to Move.

Go to move

Adjust Move

When you’re at the move that’s in the wrong place, tap and hold on that stone until the feedback changes, then drag it to the right spot. Voilà.

Insert Move Pair

If you’ve forgotten a pair of moves, first go to the position where those moves should have been played. Then tap on the popup menu in the bottom left of the board, and tap on Edit. Tap on the Insert 2 icon, then play the two moves. Instead of creating a new variation, those moves will be inserted directly into the game.

Insert two moves

SmartGo Kifu also provides commands to delete a single move or a whole branch, if your game record needs more extensive surgery. The Macintosh and Windows versions of SmartGo provide additional features to help you fix any issues in your game records.

Double-Tap to Zoom

Such a simple feature: double-tap to zoom in on the Go board. On the iPhone, it conveniently zooms to use the full height available. So why does SmartGo Kifu have a setting to turn it off?

Double tap to zoom

When SmartGo detects a tap on the board, your intent is not clear: do you plan to play a move, or is there a second tap coming? On iOS you can tell the system to disambiguate between the two gestures – for the single-tap to succeed, the double-tap has to fail:

singleTapGesture.require(toFail: doubleTapGesture)

The price you pay is that move entry is delayed by a quarter of a second. Thus that setting gives you a choice: convenient zooming or faster move entry. Not a good choice. (But at least you now know how to speed up move entry.)

There’s a better way to solve this: always play the move right away. Then if it turns out to be the first tap in a double-tap, undo the move and zoom the board instead. Fast move entry and zoom, no setting needed. However, that means being able to cleanly undo the move (and anything else that a tap on the board might do), and in SmartGo Kifu, that would be harder to implement than what the feature is worth.

Rewriting SmartGo in Swift is still work in progress; a long journey. But thanks to less technical debt, I’m able to add features like undo, and thus make move input fast while still allowing you to double-tap. Getting rid of a confusing setting always makes me happy.

SmartGo Blog Moved

The new version of MarsEdit inspired me to finally move my blog to smartgo.blog, hosted at WordPress. Having the blog tightly integrated with smartgo.com had some benefits, but it made writing blog posts somewhat inconvenient. (To add a blog post I had to write some C++ code that then generated the blog post. Not perfect.)

The design will change, but the content is here: all 71 posts have been moved. Some greatest hits:

Some evergreen posts: