Archive for September 1, 2021

Wednesday, September 1, 2021

South Korea App Store Bill

Sami Fathi (Hacker News):

South Korea today passed a bill that bans Apple and Google from requiring developers to use their own respective in-app purchasing systems, allowing developers to charge users using third-party payment methods, The Wall Street Journal reports.


The bill is an amendment to the existing Telecommunications Business Act. It aims to ban Apple and Google from unfairly exploiting their market position to “force a provider of mobile content, etc., to use a specific payment method.”

David Heinemeier Hansson (tweet):

But as much as South Korea is an important market, particularly for Google, it’s not the fifty million people there that truly scare either of these companies. It’s the crack in the dam. The one that’ll soon flood their scarecrow arguments on app-store payment mandates around the world.

South Korea just made it a lot easier for every other country in the world to pass their own laws outlawing anti-competitive app store payment mandates. These countries will be able to point to South Korea to show that allowing developers to use Stripe, Square, Braintree, PayPal, or whatever to charge their customers won’t bring about app armageddon. Reality is going to refute the fear that Apple and Google have been working so hard to stoke.

Steve Troughton-Smith:

Lot of the discussion around this, especially from Apple’s side, makes it sound like a potential in-app payment wild west. What that ignores is that there are payment processors that customers do trust — Amazon, Stripe, PayPal, et al

Those services are just as easy, if not easier, as Apple’s to cancel/refund/unsub with. And prices will be lower, as a result, if offered side by side. There is nothing stopping Apple enforcing — by policy — that all apps using IAP must adhere to the system IAP family controls

How does Apple’s in-app purchase stay as a preferred option for consumers given the choice? By competing. Lower rates & better terms for developers. If Apple’s IAP really were the best option out there, developers wouldn’t be looking elsewhere to try and sustain their business

If Apple cared about consumers more than the paltry sum it makes from developer revenue, it would drop App Store & In App Purchase commissions to as low as realistically possible, so that everybody would want to use the system. Match other processors — you can afford to

John Gruber:

I see a clear difference between purchasing an app or game from the App Store and making an in-app purchase within an app or game after having installed it. My understanding of the new South Korean law is that it only pertains to in-app purchases, so the distinction, I believe, is more than just semantics.


I am confident that the overwhelming majority of typical users are more comfortable installing apps and making in-app purchases on their iOS and Android devices than on their Mac and Windows PCs not despite Apple and Google’s console-like control over iOS and Android, but because of it. And if these measures come to pass and iOS and Android devices are forced by law to become pocket PCs, I think there’s a high chance it’ll prove unpopular with the mass market. The masses are not clamoring for the app stores to be opened up. These arguments over app stores are entirely inside baseball for the technical and business classes.


The part of Apple’s statement about “Ask to Buy” and parental controls, though, I think is sophistry. It’s certainly true that the “Ask to Buy” feature currently wouldn’t work with third-party in-app payment processing, but that’s because nothing in iOS is built to support outside payment processing for in-app purchases. If required to support third-party payment processing, Apple could and should create APIs to support them through the existing “Ask to Buy” process, and the App Store guidelines could and should be expanded to require supporting all parental control APIs regardless of how payments are processed.


Update (2021-09-10): John Gruber:

I have a rough English translation of the law, and my understanding is that the above ban on “delaying” or “deleting” apps is specifically related to retaliation for using their own payment processing. It’s not a ban on removing apps from the stores for just cause.


On the Shift From Imperative to Declarative UI

Peter Steinberger (tweet):

The trend of declarative UI on mobile began in 2013 with React Native, which started as a Facebook hackathon project. The goal was to improve the developer experience by bringing everything people loved about the web—rapid development, instant reload, platform agnosticism—to mobile. The first major declarative UI framework, React Native offered a way to build cross-platform apps with very little platform-specific code.


Today, React Native is a polarizing framework. Some companies are dropping it (like Airbnb), while others are doubling down (like Coinbase).


Google had similar ambitions to bring web development concepts to mobile, although it took a different approach. Flutter started as a fork of Chrome animated by the question, “How fast could we go if we dropped all that backward compatibility from the web?” […] This didn’t always work out—especially on iOS, where the infamous “jank” problem (choppy animations on first render) hurt the experience, though a recent release has resolved the issue.


With this in mind, Apple and Google created their own “first-party” solutions, SwiftUI and Jetpack Compose. Both were announced in 2019 and are now becoming production ready.


Despite their structural similarities, Jetpack Compose tends to be easier to adopt than SwiftUI. Whereas Google distributes Compose as a library that works on every Android version down to 5.0 (released in 2014), most apps that adopt SwiftUI need to target iOS 14 (released in 2020) or later.

Shortcut for Tapback in Messages

Sommer Panage:

On Mac, you can do ⌘+T to bring up your Tapback responses in Messages and then you can use the number keys, 1-6, to select your reaction. 🤯 Get ready for lots of ❤️ and 👍🏻 everyone…

It also works on iPad.

What I’d really like is to be able to choose a Tapback right from the notification, especially if the Messages app isn’t even open.

Catalyst Sample Code Roundup

Steve Troughton-Smith (tweet):

I thought it would be a good idea to round up the various pieces of sample code I've created for Mac Catalyst just to get everything in one place. These are by no means step-by-step guides, merely illustrated examples that have come about over the course of developing my own apps and responding to questions from developers.

Apple Acquires Primephonic

Juli Clover (Hacker News):

Apple today announced that it has acquired classical music streaming service Primephonic, and will be folding it into Apple Music.

Primephonic offers an “outstanding listening experience” with search and browse functionality optimized for classical audio, plus handpicked recommendations and “contextual details on repertoire and recordings.”

Andy Ihnatko:

I’m very pleased and optimistic about Apple’s acquisition of Primephonic. Classical music is idiosyncratic and absolutely requires a bespoke streaming experience. Apple acquires the whole catalog and promises a custom app and experience for classical.

Mainstream platforms are usually disappointing. “We’ve loads of opera…we’ve got ‘Nessun Dorma’ by the Three Tenors and that little girl from ‘America’s Got Talent’! Here’s some 70s soft-rock that our algorithm thinks people who search for opera would rather listen to…”

Well, maybe not that bad. But many of the greats record for labels that don’t have streaming distribution, or aren’t even given a chance to record at all. And much of the best stuff ever recorded is locked up on an opera company’s servers with no plans for distribution.

So it’s a big opportunity for Apple to seriously move the needle. Not just to provide better search and playback tools (which are sorely needed) but to do things like help change a legendary 2009 performance from a thing that fans have heard about to a thing that fans can hear.


Update (2021-09-07): Kirk McElhearn:

Apple’s Primephonic acquisition is interesting. The company was a very small player in the streaming market, but with only classical music. Apple making a separate app for classical music is some I would never have expected. I’ve been critical of classical support in iTunes and Music for as long as as I’ve been writing about digital music. While Apple made small improvements over the years, they never got remotely close to providing what classical listeners want. This is very good news.

Update (2021-10-20): John Gruber:

What I find interesting is Apple is going to use this acquisition to launch a dedicated classical music app, not to expand the Music app. iTunes, infamously, expanded greatly over the years, and everyone seems to agree that the user experience suffered for it. I wonder if that’s in the back of Apple’s mind here.