Category: Design

More Useful Hints

Tap on the Hint icon, wait a few seconds, and a dot on the board shows you where KataGo thinks you should play. This minimalist version of Hint is now a thing of the past.

The newest version of SmartGo One makes Hint much more useful:

(1) It can show you multiple top moves that KataGo is considering. It uses the familiar color scheme from Lizzie: teal for the top move, green for other good moves, brown for moves that were considered but are not as good.

Smartgo hint top moves

(2) It can show you the principal expected move sequence.

Smartgo hint sequence

(3) If you like more information density, you can see top move choices and move sequence at the same time.

Smartgo hint both

(4) You can easily switch between these display modes with a long press on the Hint icon.

Smartgo hint menu

(5) You can give KataGo more time: Settings > Computer Play > Time for Hint. If you set it to ‘Unlimited’, tap on the Hint icon again to stop computing.

Smartgo hint time for hint

(6) If you only see part of the board and the best move is off-screen, SmartGo pans the board to bring the best hint move into view.

Smartgo hint pan visible

(7) There’s now a keyboard shortcut for Hint: Cmd-K (think KataGo).

(8) Hint is now available on the toolbar in Replay mode, not just Play.

Enjoy!

Guess Moves and Joseki

Guess Moves and Joseki

TL;DR SmartGo One now includes a powerful Guess Moves feature for pro games. You can also combine guessing with pattern matching to train yourself on joseki variations.

Guess moves

Pick a pro game, turn on Guess Moves, then at each turn think about where you would play. As you then play each move, SmartGo will tell you whether the move was:

(a) exactly where the pro played, or
(b) at least in the right area, or
(c) at the right spot, but your timing is off, or
(d) whether you’re in the wrong area entirely.

This is a great way to study pro games and learn about your blind spots. This SmartGo Kifu feature didn’t make it into version 1.0 of SmartGo One, but now it’s back, significantly better.Guess move example with menu

If you’re lost, tap on Hint, and it will reduce the remaining possible area by about 50%. Still lost? Tap Hint again to narrow the search further.

New in SmartGo One is the ability to guess moves of only one player – just choose whether you’re guessing both colors, only black, or only white. Another new feature is the ability to change the size of the area considered ‘near’. It defaults to a Manhattan distance of 5, but you can now set that anywhere from 2 (more difficult) to 7 (easier).

Joseki training

New in SmartGo One, you can combine guessing with joseki or fuseki matching. In this case, SmartGo will just give you a right or wrong answer – getting close in joseki is not good enough. Of course, this feature also works for guessing both colors or just one.

When guessing a joseki move, one of your choices is to tenuki (play elsewhere), and SmartGo will let you know whether that is indeed a position where it’s okay to tenuki.

At any point, you can turn on Hint to see the full joseki information for the current position. Note that obscure variations that have rarely been played are counted as wrong.

Restrict games for matching

You can now choose to use only recent games for pattern matching, instead of always matching in all games. Joseki change over time, and some drastic changes have happened in the last years since AlphaGo. (See e.g. the just released ‘Joseki Revolution’ book by Shibano Toramaru.) For example, comparing the attach-and-pull-back joseki in games since 2016 with games since 2020, the solid connection has gone from 48% to 91%, and tenuki from 18% to 2%.

Match games 2016
Match games 2020

When you train joseki, it uses the subset of games you’ve specified in Settings > Games > Games to Match.

Future

SmartGo Kifu kept track of your percentage of exact and near guesses. As yet, SmartGo One doesn’t keep track of any statistics, as the feature is mainly designed to help you learn. But trying to beat your previous percentage might add some motivation, so I will likely add this in a future version. Please let me know what statistics you would find helpful.

Enjoy! Let me know how you use this feature, and if there are any tweaks that would make it more useful to you.

SmartGo One: Features and User Interface

TL;DR SmartGo One is an all-new version of SmartGo for iPhone and iPad with improved user interface, more features, better integration, and stronger computer play. It’s your one app for learning, playing, and studying the game of go.

I just released SmartGo One, the all-new version of SmartGo. It’s a free app replacing both SmartGo Kifu and SmartGo Player, with the books from Go Books fully integrated – one app for all your go needs. Currently for iPhone and iPad; a Mac version of SmartGo One is in the works.

I’ve written a separate blog post on the business aspects of replacing two apps with a new app and a different business model. In this post, I will focus on user interface and features, highlighting the changes from SmartGo Kifu. For details and a full list of features, see the user manual in the app (Books > Tutorial & Help > SmartGo One User Manual).

Overall user interface

SmartGo One features a more modern visual look (thanks to designer Scott Jensen), including dark mode (swipe two fingers down/up on the board to turn on/off). Navigation is more standard, using a tab bar on iPhone and the familiar three-pane layout on iPad.

SmartGo One on iPad in dark mode

Other improvements:

  • Ability to use whole screen on iPad
  • Multiple windows on iPad
  • Continue where you left off on another device
  • Much smoother scrolling

Strong computer play

The old SmartGo apps used my own playing algorithm based on Monte Carlo Tree Search. This was fine pre-AlphaGo, but AlphaGo raised expectations. SmartGo One integrates KataGo, a very strong go engine. However, the current implementation only uses the CPU (no GPU or neural net), so it’s not yet as strong as e.g. ‘Master of Go’.

Playing against SmartGo

The current score and winning percentage can be shown while playing against the computer. End-of-game handling has been refined significantly.

File management

SmartGo One lets you manage SGF files locally on your device as well as sync between devices using iCloud Drive. Huge improvements in this area:

  • Organize files using folders
  • Create and manage SGF collections (one file containing multiple games)
  • Work with zipped collections (one zipped file containing multiple games): e.g. if you get a zipped game collection from the Go4Go game subscription service, you can directly open that whole collection
Game imported from Go4Go zipped collection
  • Convert between folders and collections
  • Reorder games in collections
  • Drag and drop games into folders, onto collections, or onto books
  • Handle files with go problems (PRB) and go books (GOBOOK)

Cloud syncing

iCloud is used to sync your state across devices, between your iPhone and iPad (and Mac in the future). Here’s what’s synced:

  • Preferences (the ones that make sense)
  • Games stored in iCloud Drive
  • Your progress in solving problems
  • Games, problems, and books marked as favorites
  • Game annotations of pro games
  • Current reading position in your books

Gobook files

The gobook format (smartgo.com/pdf/gobookformat.pdf) is used for the books in the Go Books app. In SmartGo One, you can convert annotated games into your own book.

Pro game collection

SmartGo One offers more games than ever before (currently 114,000). The pro game collection can now be updated without updating the app, so expect more frequent game collection updates (whenever GoGoD releases a new version).

Player names

The names dictionary (by John Fairbairn) is now a separate tab with more than 4,400 entries:

  • Better presentation of player info
  • Links between different players, making it easy to explore and navigate between players
  • Search in players finds that player as well as related players such as teacher, or mentions in go style or bio
Explore links between different players

Problem solving

The go problems (from goproblems.com) are better organized, and there are more problems available.

  • Improved flow to work through problems
  • Improved display of statistics
  • Your problem stats sync between devices
  • Additional problem collections available
  • Better mechanism for updating problems, allowing issues to be fixed more quickly

Game play and recording

SmartGo has always excelled at replaying, recording, and editing game records, but SmartGo One improves on it in several ways:

  • Improved New Game screen
  • Edit game info directly inline, not in separate popups
  • Easier to go to a particular move
  • Easier to correct a particular move
  • Improved feedback while inserting a move or move pair
  • Quick access to frequently used board display settings
Easy access to board display settings
  • More discoverable and reliable board rotation, with a panel adding related functions
Rotating the board is a snap

Books

All 150 books from the Go Books app are directly integrated into SmartGo One. (If you bought books in Go Books, you can read those in SmartGo One.) Compared to Go Books, there are a number of improvements:

  • Better organization of books, including currently reading, recent additions, most popular
  • Keeps track of up to three books you’re reading right now
  • Search in book list
  • All book purchases can be shared with Family Sharing

Pattern matching

Finding games that match a given joseki or fuseki works as before, but has been improved:

  • Faster matching
  • Clearer display
  • Easier to get to and return from the list of matching games

Still missing

A few features didn’t make it into the 1.0 release of SmartGo One:

  • Guess Move: This will be added in an upcoming version.
  • File formats: Reading go game files other than SGF is not supported yet.
  • Localizations: SmartGo One is English-only right now.

SmartGo Kifu and SmartGo One can happily coexist on your device, so just keep SmartGo Kifu around for these tasks.

Future

SmartGo One builds on decades of experience with computer go, and creates a new foundation for the next decade. By bringing games, problems, and books into a single app, it opens up lots of possibilities for the future – stay tuned.

Replacing my Mac Pro

I wrote about my new Mac Pro a year ago. It’s still rock-solid, and it’s done everything I asked of it. But the writing is on the wall: Apple’s new $1,000 MacBook Air is now comparable in speed to my year-old $10,000 Mac Pro. This year, Apple will likely release updated MacBooks Pro with more cores and memory and blow right past the performance of my Mac Pro. Next year, an updated Mac Pro will do the same again.

I had hoped to get seven years out of it? That was before Apple announced the switch to their own chips, and before they blew Intel chips away with the performance of the M1. My expectation was based on the incremental performance gains we’ve seen from Intel over the last decade, not the paradigm shift ushered in by Apple’s M1. The Intel-based Mac Pro is rapidly losing value, and it’s clear I’ll want to replace it as soon as I can.

My Plan

Here’s my current plan; we’ll see if Apple releases the right products in the right order for this to work out.

Mid 2021: Buy the rumored 14-inch MacBook Pro. I expect it to be faster than my Mac Pro for all practical purposes. Hook it up to my existing two monitors and use as my main machine. Sell or trade in the Mac Pro before it loses too much of its value.

Mid 2022: Evaluate the new Mac Pro, and possibly upgrade to that one.

External Displays

I’m glad there are finally some rumors about cheaper external displays. I think Apple was waiting to release monitors until they redesigned the iMac, so the monitors could match the look of the iMac (ideally using the same enclosure with simpler innards). And they were waiting with the iMac redesign until they could use their own chips, both for lower thermal requirements and to be able to include Face ID. Now their ducks are finally all lined up.

It makes too much sense for Apple to plug this hole in their lineup. And the work Apple has put into making resolution switching seamless also makes more sense if monitors are on the horizon. Here’s hoping — I’d love to replace the LG 5K with an Apple monitor with Face ID.

So while my Mac Pro didn’t turn out to be the long-term investment I had hoped for, I’m stoked about Apple’s M1, and very excited about what they’ll announce this year and next.

The State of Game Center

My happy blog post on SmartOthello for Mac conveniently skipped my journey through Game Center purgatory. While profile pictures are back, Apple is still not giving Game Center proper attention. I’ve been busy submitting bugs to Feedback Assistant – here’s a sampling:

  • There is still no way to get notified of invitations without polling (FB5990491).
  • On the Mac, turn notifications are not received (FB7659591).
  • On the Mac, there’s no way to edit your Game Center profile picture (FB7667313).

When you try to start a Game Center game on the Mac, you get the following cut off dialog (FB7668604):

mac-game-center-cut-off

(Yes, that’s the actual amount of white space.) Luckily, you can resize it to reveal some more buttons:

mac-game-center-revealed

The worst issue right now is that Apple has deprecated GKPlayer.playerID, and tells developers to use teamPlayerID or gamePlayerID instead. However, those simply don’t work (FB7662712), as the IDs keep changing even within a single game, making it impossible to e.g. cache profile images, never mind reconcile locally stored games with Game Center data. If GKPlayer.playerID gets removed in iOS 14 without fixing teamPlayerID, I will have to pull SmartOthello from the App Store.

How to Play With Friends

The whole process of finding friends to play with is way too convoluted. I’ve improved the UI in SmartOthello 3.0 to make it easy to start a game with somebody you recently played with. However, the process to first find somebody to play with is kafkaesque:

1. Tap on New Game and choose Game Center at the top.

start-game-center-game

2. SmartOthello lists recent opponents, and you can easily start a game with them. To play with anybody else, tap on Invite Friends.

after-invite-friends-long

3. This leads to a screen that has two buttons: Invite Friends and Play Now. While Invite Friends is just lightly outlined and you’re tempted to tap the boldly emphasized Play Now, that would just try to match you with somebody else who’s looking for a random opponent right then, which only really works if the app is much more popular than SmartOthello. So don’t get stuck in limbo; tap Invite Friends.

after-second-invite-friends

4. This brings you to an iMessage screen where you can send an invitation to a contact. However, the instruction “Tap + for Friends and more” is trying to give you a clue that you should tap on the ⊕ button, and then you’re finally presented with the right choices: play with contacts, friends, nearby players, or players you recently played with.

final-game-center-screen

This last screen makes sense – Apple needs to give developers a way to take users directly to that screen (FB7672633). Game Center matching was much easier when there was a Game Center app; Apple really went off-track when they decided that matching should go through iMessage.

I hope this helps others navigate through Game Center issues with turn-based games. If I’m wrong about any of these, I’d love to know! Hopefully, Apple can address these issues in iOS 14 and give both players and developers a better experience with Game Center.