App Store Confidential

Tom Sadowski was responsible for the App Store in Germany, Austria, and Switzerland from 2014 to 2019, and in his book “App Store Confidential” he provides a look behind the scenes. According to this Verge article, he’s had a falling-out with Apple, and Apple is trying to block publication of the book. The book is still available on Amazon, but only in German.

As the workings of the App Store are of crucial interest to developers, I read through it from a developer’s perspective and noted what I learned – interesting, but nothing that I think Apple should be blocking the book for. I grew up in the German-speaking part of Switzerland; for those who don’t know German, I’ve provided approximate Kindle locations below, so you can use e.g. Google Translate for more detail.

App Store Teams

For each country there are business managers and editors who are dealing with the customers as well as the developers in their region [loc 596]. The editors curate the App Store, and don’t just suggest apps, but also intend to shape the app culture.

The Discovery tab is refreshed at least twice weekly, presenting users with the most relevant, popular, and best monetizing apps [loc 609].

While the editors are working more in the background, the business managers talk with and advise developers in key accounts [loc 623]. The key accounts are based on top grossing (if you’re in the top 20, you can be sure you’re on Apple’s radar), strategic (accounts that have regional significance) [loc 638], and startups (where they’re looking at long-term monetizing potential) [loc 658].

Project Berghain

In 2016 he set up a program to help startups in Germany; in 2018 they launched Project Berghain [loc 941], where they evaluated over 300 apps, asked more questions of 20 apps, invited 10 apps to pitch-meetings in Berlin, and then decided on 5 apps that they were going to support [loc 954]. The apps were all based on subscriptions, had an innovative product, and a strong team.

Success Factors

Products, people, and passion: The **product** needs to be so good that it enriches the user’s life, and the user is willing to pay for it [loc 1034]. The **people** need to include a UI expert, a programmer, and a sales person [loc 1045], and need to have **passion** for their product.

Advertising comes last: the product needs to be convincing, otherwise marketing is not going to help [loc 1072].

For subscriptions to be successful, they need to enrich people’s lives, and convert users into paying customers [loc 1133].

How to Get Featured

Different factors help an app get featured [loc 1184]: quality, UI design, user experience, innovation, localization (the more languages, the better, as editors can then suggest the app worldwide), video and cool artwork.

To get in touch with App Store team, he suggests having somebody who is already in touch with the App Store team recommend you [loc 1240]. Keep emails short, add a short video that introduces the app, don’t mention money or other apps [loc 1256]. Possibly ask for a personal meeting. And if Apple contacts you, provide the asked for material quickly and without questions [loc 1261].

More

The book also includes anecdotes about Tim Cook visits, personal and app stories, and more on where he thinks the App Store is going. If you’re dealing with the App Store, you should find a way to read it, as you’ll come at it from a different perspective and notice details that were not important to me.

The Right iPad for SmartGo

I often get asked about getting an iPad for SmartGo Kifu and Go Books – which iPad should you get? Here are my recommendations.

iPadOS: My main recommendation is to make sure the iPad you get can run the current version of iOS (now iPadOS). Yes, SmartGo can also run on some older versions of iOS, but it’s no secret that I’m working on an all-new version of SmartGo, and that one will require iOS 13 when it’s released. (No ETA yet.) iPads are long-lived, so you want to future-proof your purchase: at https://en.wikipedia.org/wiki/IPad#History, you can see which iPads support the latest iPadOS.

Cost: Ten years ago, the original iPad started at $499. The newest iPad is now available for only $249 at Amazon ($329 from Apple). The iPad Pro is pricier, starting at $799. Note that Apple also has refurbished iPads.

Size: The regular 9.7″ iPad was a great size, and the newest version features a 10.2″ screen. The 10.5″ iPad Air and the 11″ iPad Pro give you more screen without adding much size or weight. The screen on the 12.9″ iPad Pro is magnificent, but it’s not quite as portable as the smaller ones. With the 7.9″ iPad mini you pay more to get a smaller screen; I’d only recommend that one if portability is paramount.

Storage: 32 GB is fine for SmartGo, no need to get more. There are many other reasons to get more storage, e.g. for photos and videos, or movies for long flights, but go games and books are small and won’t impact your storage. (Can’t recommend old iPads with 16 GB, as a significant part of that is used by the system.)

Speed: For SmartGo Kifu and Go Books, speed is not currently a major factor, but I hope to take more advantage of processing power in future versions. There are apps that are based on Leela Zero or KataGo that will use all the processing power that you can give them. If that’s important to you, look at the processor: the 2018 iPad Pro with an A12X will be fastest, followed by the 2019 iPad Air (A12) and the regular 2018 iPad (A10). Note that the iPad Pro is likely due for a refresh this year.

Accessories: No accessories are needed for SmartGo. But if you want the iPad to take over more of the functions of your PC, you may want to add a keyboard cover. The newest iPad supports the Smart Keyboard, but that one requires you to perform origami each time you set it up, while the keyboard on the iPad Pro is a snap to set up. All the newest iPads support the Pencil, but the Pencil for the iPad Pro attaches and charges magnetically, which makes using it much more convenient. So if these are important, I’d recommend an iPad Pro, as it’s a significant improvement, but the difference in price is also very significant.

Hope this helps you decide on the right iPad for you. The newest iPad at $249 is a steal, and will easily pay for itself thanks to Go Books.

A Month with Mac Pro

I’ve now enjoyed my Mac Pro for over a month. Why did I decide on that computer, and how is it working out?

iMac

My late-2014 5K iMac was five years old: it still worked, but was increasingly limiting. The internal 500 GB SSD was too small, and even with the external 1 TB SSD I kept bumping into limits, wasting time cleaning out cruft. Ports were another issue: no USB-C ports, not enough ports in general, and I have yet to find a 100% reliable USB hub. The retina screen is still perfect, and my wife will likely get many more years out of this computer, but as a daily developer workhorse, it was getting long in the tooth.

I was sorely tempted to upgrade to an iMac Pro two years ago. However, while the current iMac Pro might be a great choice for many developers, for me it had a few drawbacks:

  • GPU not upgradable: I’d have to decide up front how much to invest in this rapidly evolving technology.
  • No way to drive the non-XDR 6K monitor that Apple is surely going to release any year now.
  • Ports not future proof: Thunderbolt 3 / USB-C will remain relevant for many years to come, but new standards will surely emerge in the next decade.

My apps

I’m a developer, not a video professional, so the case for a Mac Pro is not as clear-cut. My main work right now is on the all-new version of SmartGo, about 70k lines of Swift and growing. The shipping version of SmartGo for Windows is 166k lines of C++; SmartGo Kifu is a mix of C++, Objective-C, and Swift. So while there are other tasks that benefit from a multi-core CPU (e.g. running Go or Othello simulations overnight, or converting 140 Go books to ePub), speeding up Xcode builds is the main benefit.

Modern Go programs are based on neural nets, which benefit a lot from a powerful GPU. However, my current development focus is on user interface, not on stronger play, so with GPUs still improving rapidly, I want to delay investment in a powerful GPU until I really need it.

Specs

Basically, I maxed out SSD and CPU (within halfway reasonable budget constraints), and plan to upgrade memory and GPU as needed.

  • 3.2 GHz 16-core Xeon W, turbo boost to 4.4 GHz: Slightly slower than the 12-core, but turbo-boost speed is the same.
  • 48 GB RAM DDR4 ECC at 2933 MHz: I figured this would be plenty for a while, and so far memory has not been an issue.
  • 4 TB SSD: I don’t want to keep bumping against that limit.
  • Base GPU: More than powerful enough for what I need now.

In addition, the expandability of the Mac Pro may lead me to:

  • Add more ports: If I need more USB ports, or some other port comes along that is helpful, I can just add a card for that.
  • Add internal SSD: I currently have a 2 TB SSD hanging off the internal USB port (for nightly backups); when I need more, I can add a PCI card with extra SSD storage.
  • If/when Apple switches to ARM, it’s conceivable that Apple would create a card with an ARM processor for the Mac Pro.
  • The unknown: Having PCI Express card slots available keeps options open for the future.

I expect the Mac Pro to be reliable for many years, and if something goes wrong, it will be easier to repair than a computer crammed behind a large screen.

Monitor

I’m used to dual monitors: a 4K monitor next to the 5K iMac (a Dell P2415Q 24-inch 4K monitor, which is surprisingly good). I’d love a 6K monitor, but the 6K Pro XDR is not for me. The iMac is overdue for an SSD-only update and visual refresh, and at that point it would make a lot of sense to also release standalone screens in the same form factor. However, Apple’s timing is famously unpredictable, so I decided to go with the LG 5K for now to avoid being dependent on Apple’s plans. If they do release a 6K monitor for mere mortals, I’d be happy to replace the 4K by a 6K screen.

Performance

For developers, staying in the zone is crucial, and being able to reduce the build-run-debug cycle has really helped. Compared to my old iMac, build and run speed has improved by a factor of 2 to 3, and build times have become much more predictable. For my 70k lines of Swift, launching on an iOS device (connected by USB) after a small change takes 6-7 seconds, and a full build takes less than 30 seconds, more than good enough. I feel like I’ve gotten a lot more done this last month than in prior months.

Price

Yes, it was a very expensive machine, but I do expect to get at least 7 to 8 years out of it. (I got 7 good years out of my 2006 Mac Pro.) The 6% cash back when buying with the Apple Card before December 31 helped; also, if you’re in the market for a Mac Pro, make sure you talk to the business rep at your local Apple Store to see if you can get a discount.

Summary

A month in, the Mac Pro has been everything it was supposed to be: fast, reliable, silent, unflappable. It looks gorgeous, but I hardly even notice it – it just sits quietly below my desk helping me focus on my work.

Using Strong Go Programs on Macintosh

SmartGo for Mac is not playing strongly, as computer play is using my own pre-AlphaGo engine. However, like SmartGo for Windows, you can use GTP (Go Text Protocol) to connect to strong engines to play against.

The most recent version of SmartGo for Macintosh (0.8.18) includes some improvements in how it handles GTP engines. It’s not perfect, there’s much more to be done, but hopefully it will tide you over while I keep my focus on the new SmartGo for iOS.

The first step is downloading and installing the computer go engines you want to connect to. Here are three I’ve tested with SmartGo for Mac, from easy to hard to install. All assume that you’re somewhat comfortable using the Terminal app; check out this iMore guide if you’re new to the command line.

Pachi

The easiest way to install Pachi on the Mac is using Homebrew (which you probably have to install first). Follow these instructions:

https://brewinstall.org/Install-pachi-on-Mac-with-Brew/

Leela Zero

Find Leela Zero on Github, scroll down to I just want to play with Leela Zero right now, and follow the Homebrew instructions. You’ll also have to download a file with network weights; the link is in that same section.

KataGo

Installing KataGo is more complicated, as you have to compile it yourself. Follow the instructions for Linux at https://github.com/lightvector/KataGo.

smartgo-mac-gtp-preferences

Setting Parameters

Once you’ve installed an engine, you need to add it to SmartGo. Choose SmartGo > Preferences in the menu and click on GTP. Then click on the + icon and navigate to the executable of the engine you want to add. SmartGo uses the engine name to guess reasonable parameters, then tries to run the engine to get its name and version. If you see a green checkmark with the name and version, you’re all set. Otherwise, edit the parameters sent to the GTP engine (the third column in the table). The following basic settings work for my setup:

Leela Zero: -g –playouts 1000 –noponder -w /usr/local/Cellar/leela-zero/0.17/best-network/40b_257a_64k_q

KataGo: gtp -model /Users/anders/work/katago/cpp/models/model.txt.gz -config /Users/anders/work/katago/cpp/configs/gtp_example.cfg

Leela Zero and KataGo take a while to initialize, so even just getting name and version initially can take a minute, and SmartGo may time out. If it does, just try starting a game against the engine anyway (File > New Game, specify the engine in the dropdown for Black or White), and see if it works.

I hope these instructions get you pointed in the right direction. I’m sorry none of this is as easy as it should be.

Highlights from Scotland and Ireland

This summer, I had to miss the US Go Congress in favor of a family reunion in Ireland, but was able to attend the European Go Congress in Brussels instead. Starting with a week in Scotland and ending with a week in Switzerland, this was my longest vacation in a while.

If you follow @smartgo on Twitter, you’ve already seen some of the highlights. I want to provide more context and better pictures of my favorite spots on this trip, for armchair travelers as well as those who are lucky enough to one day visit these places.

Scotland

Stirling Castle

Did you know the unicorn is the national animal of Scotland? Stirling Castle has all the features you’d expect of a castle, but unicorns on the roof? Unexpected.

The Kelpies

From unicorns to The Kelpies (shape-shifting water spirits): these 30 meter high sculptures celebrate the horse-powered heritage of Scotland.

Falkirk Wheel

To connect two canals at different elevations, you can build a series of locks. Or a rotating lift for boats. The Falkirk Wheel is ingenious, moving boats with very little energy.

Glencoe

The landscape around Glencoe is beautiful, and we’ll certainly come back there for more hiking.

Glenfinnan Viaduct

During the summer, you can take the Jacobite Steam Train from Fort William to Mallaig and back twice a day – a brilliant scheme for dumping a trainload of tourists in the picturesque port town of Mallaig at lunch and dinner. The viaduct made famous by the Harry Potter movies is now a major tourist attraction, and parking is limited, so get there very early if you want to time it such that you see the steam train pass over the viaduct. (Needless to say, we miscalculated.) Also, if you want to take the steam train, book far in advance. (A few weeks out, they had only a single one-way ticket left: our daughter got to take the train, and we were out of luck.)

Brochs

Brochs are 2000 year old double-walled buildings, found only in Scotland; not much is known about their origins and purpose. We were lucky to see two that are among the best preserved: Dun Telve and Dun Troddan near Glenelg. Really fascinating. The multi-level design with a stair between the inner and outer wall is impressive.

Glenelg-Skye Ferry

The little car ferry between Glenelg and Isle of Skye is quite an experience: it only takes six cars, and the car deck is angled to make it easy to drive on and off. For the crossing, the deck is rotated by hand to align with the boat. I have not seen the movie yet, but apparently, this ferry was featured in Made of Honor.

Edinburgh

We only had a day in Edinburgh, so while we got to explore the castle, see Greyfriars Bobby, and take a tour of the South Bridge Vaults, there’s so much more we have to come back to.

The highlight was a fun dinner with Matt Gemmell, author of the action-thrillers CHANGER and TOLL. (No, he didn’t reveal any secrets about his upcoming third novel.)

IMG_1148

Ireland

We stayed in Glengarriff in County Cork, a lovely area.

IMG_1175

Skibbereen Heritage Center

Skibbereen was badly affected by the Great Famine; it was sobering to learn more about the devastating potato famine of the 1840s (and the ever-present risk of monoculture), as well as the mismanaged response from England. Hard to believe that Ireland’s population was higher in 1841 than it is today.

IMG_1162.jpeg

Kerry Cliffs

The Kerry Cliffs are less famous than the Cliffs of Moher, but no less impressive. In the distance you can see Skellig Michael, famous for its monastery, birds, and Star Wars. Again, book far far ahead if you’re interested in visiting the island. While you’re there, I’d recommend visiting the nearby Skelligs chocolate factory for free samples. Their Lime & Black Pepper Chocolate Bar is delicious.

Gap of Dunloe

The Gap of Dunloe is stunningly scenic. We drove the narrow road through the pass by car; I’d prefer to hike it next time.

We’ll certainly visit both Scotland and Ireland again – many places I’d love to return to, and so much more to see.