Archive for May 13, 2019

Monday, May 13, 2019

App Store Monopoly Lawsuit

NY Times Editorial Board:

The actions by Apple highlight the inherent tension in the company’s fierce control over its mobile operating system: On the one hand, the closed environment is a boon to consumer privacy because the company has the leverage to insist upon it; on the other hand, that environment fosters a kind of monopoly.

Adi Robertson (MacRumors):

The Supreme Court is letting an antitrust lawsuit against Apple proceed, and it’s rejected Apple’s argument that iOS App Store users aren’t really its customers. The Supreme Court upheld the Ninth Circuit Court of Appeals’ decision in Apple v. Pepper, agreeing in a 5-4 decision that Apple app buyers could sue the company for allegedly driving up prices. “Apple’s line-drawing does not make a lot of sense, other than as a way to gerrymander Apple out of this and similar lawsuits,” wrote Justice Brett Kavanaugh.

Apple had claimed that iOS users were technically buying apps from developers, while developers themselves were Apple’s App Store customers. According to an earlier legal doctrine known as Illinois Brick, “indirect purchasers” of a product don’t have the standing to file antitrust cases. But in today’s decision, the Supreme Court determined that this logic doesn’t apply to Apple.

Ryan Jones:

I believe this is true and right.

Only Apple charges, refunds, owns the customer relationship, sends receipts, etc.

Marco Arment:

I’m no lawyer, but two things have been obvious to me:

- Customers absolutely buy apps from Apple, not developers.

- Apple’s requirement that all in-app transactions go through their system (which takes 30%) is anticompetitive, and should absolutely be challenged by regulators.

Add this to the pile of significant legal anticompetitive challenges that Apple faces by their in-app purchase rules.

They’ll never allow sideloading or reduce the 30%, but I expect all of this to result in a relaxing of the “can’t even mention other payment methods” rule.

Michael Love:

Could be forced to do a lot more, c.f. Microsoft having to un-bundle IE; Apple could be compelled to not only allow other app stores but actually provide a startup alert to invite you to pick an alternate one.

Steve Troughton-Smith:

If antitrust rulings against Apple are finally what it takes to bring Gatekeeper to iOS, then so be it. It is crazy that non-developer users pay for $100 developer accounts just to sideload apps


Update (2019-05-14): John Paczkowski (Stephen Nellis):

Here’s Apple’s statement on the #SCOTUS antitrust ruling

Michael Love:

This is… not great spin. And “if the developer chooses to sell digital services through the App Store” is outright misleading - if you choose to sell digital goods for one of the world’s two main mobile operating systems, you have to pay Apple their 30%.

And in the US at least Apple controls more than half of the mobile OS market (almost 2/3) - if you want to sell digital goods of any kind to the majority of Americans, you have to pay Apple 30%, you’re not really offered a ‘choice’ to distribute through the App Store.

Kyle Howells:

1. Yes Apple holds a complete monopoly on iOS users with the AppStore and aggressively shuts down any other options.

2. Simultaneously “app buyers could sue the company for allegedly driving up prices” is laughable. The AppStore is a race to the bottom.

Ben Thompson:

The antitrust case against the Apple App Store is going to move forward. It’s the wrong decision, and the reasons why explain why new legislation is needed.

Michael Love:

I get Ben’s argument, but I can’t sue Apple, because the systems that are supposed to ensure that Apple can’t punish me for suing them are not reliable enough for me to stake my livelihood on. So only way to see justice is to let consumers sue.

Also, I would put myself forward as a textbook example of Apple’s 30% being passed onto consumers: I pay quite substantial royalties on a lot of the stuff I sell and my prices are to a large extent determined by what margins I can live with on that content.

Joe Fabisevich:

I think Apple abuses its App Store monopoly but that this case was ruled incorrectly, and the conservative side of the Supreme Court ruled correctly but lost in this case. If you need me I’ll be hiding in my hole where Twitter doesn’t exist for a bit.

What to Expect from Marzipan

Craig Hockenberry (tweet, Hacker News):

It will be exciting for a lot of developers, including yours truly, to press that button. But it’s also important to temper this enthusiasm with reality: that build setting is just the first step on a long and complicated road. Good interaction doesn’t come for free.

As you saw above, the Mac has seen a lot of tool and framework transitions. But this is the first transition which involves a large group of developers who don’t have any experience on the platform they’re targeting. A Mac developer moving from CodeWarrior and C++ to Project Builder and Objective-C didn’t have to learn anything new about conventions: they were still on a Mac. That can’t be said about iOS developers who are starting to use Marzipan.


Many of the thoughts in this essay got their start while developing a tvOS app: I found that having a common user interface toolkit wasn’t much help. It’s nice to have familiar UIKit items like UIImage, UIColor, and UIButton, but in the end I found that little code was shared between platforms. Some views could be ported directly between platforms, but anything involving a controller was out of the question.


Keeping two wildly different groups of customers happy with a single app won’t be an easy task, but it’s one that you’re going to be taking on with Marzipan.


It’s my opinion that Universal apps were the worst thing to ever happen for the iPad ecosystem. There’s no way for a developer to recoup the costs for new interactions and the extra work needed for more sophisticated apps. Apple makes it easier for a customer up front by offering a single download, but at the same time they make things worse because a Universal version of the user’s favorite app isn’t financially viable.

Brent Simmons:

As a Mac developer, you should do what other Mac developers do: understand and respect the platform and get help from Mac users, power users, and fellow Mac developers.

I’ve always found that Mac users are rooting for our success. They want us to make great apps — and they reward us for it. It’s a smaller, more intimate community, and warmer than iOS world. But you can also blow it by not trying, by not respecting the Mac and Mac users.

Craig Hockenberry:

Here’s a thread of some thoughts that didn’t make it into the post (it was already too long!)

Martin Pilkington:

I often feel that AppKit is under-appreciated by those who don’t have a lot of experience with it, and especially with switching back and forth between Mac and iOS development. To help try and fix that, I am going to go through some of the features in AppKit that don’t exist in UIKit. In this post I’ll cover the many controls of AppKit, and in a future post I’ll go into some of the less user-facing features.

Dimitri Bouniol:

I feel like neither AppKit nor UIKit, nor a “declarative framework” that sits on top of either, depending on the platform, is really the right answer.

AppKit is amazing in that it allows an app’s UI to easily match system conventions, but needs easy customizability badly.

Similarly, UIKit offers a huge amount of flexibility to customize system components, and make new controls, but lacks the depth that AppKit has in terms of great defaults for a newly developed app.

I feel like the ideal on both platforms would really be to have a cleaned up version of AppKit that offers the visual customizability of UIKit, but starts with an excellent set of defaults that any app should expect to have.


.NET 5 = .NET Core vNext

Microsoft (Hacker News):

Today, we’re announcing that the next release after .NET Core 3.0 will be .NET 5. This will be the next big release in the .NET family.

There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more.


This new project and direction are a game-changer for .NET. With .NET 5, your code and project files will look and feel the same no matter which type of app you’re building. You’ll have access to the same runtime, API and language capabilities with each app. This includes new performance improvements that get committed to corefx, practically daily.


Objective-C and Swift interoperability will be supported on multiple operating systems.

Frank A. Krueger:

What lessons can be learned from .NET Framework’s replacement by .NET Core/.NET 5? Platform lock-in is bad? Backwards compatibility can only be achieved for fixed time? Consolidation’s energy efficiency outweighs diversity? Names are arbitrary? Sic transit gloria mundi?

See also: .NET Dynamic Code Execution.


Google’s Apparent Turnaround on Privacy

Lauren Goode:

On Tuesday, The New York Times ran an op-ed about privacy written by Google CEO Sundar Pichai, in which he argued that privacy is not a luxury good, and that Google intends to give people “clear, meaningful choices” around their data. On the same day Pichai’s op-ed ran, Google held its annual developer conference, I/O, where it announced that Android Q, its latest mobile operating system, would ship with something like 50 privacy and security features.


But as Google increases the number of privacy features—part of an attempt to scrub its reputation clean of data-tracking dirt—the setup of the settings, toggles, and dashboards within its apps seems to put more responsibility on the individual user rather than the platform. As Pichai himself said, Google aims to give people “choices.” So it’s your choice if you want to take the time to adjust, monitor, take out, or toggle something off. Just like it’s Google’s choice to not change its fundamental approach to gathering data to help better target advertising and thus make heaps of money.


We announced at I/O that we will be updating Chrome to provide users with more transparency about how sites are using cookies, as well as simpler controls for cross-site cookies. We will preview these new features later this year.

We are making a number of upcoming changes to Chrome to enable these features, starting with modifying how cookies work so that developers need to explicitly specify which cookies are allowed to work across websites — and could be used to track users.

Chris Smith:

A report says that Google will launch a new feature for the Chrome browser that will make it a lot harder for companies to track you online, but only as long as those companies are not Google.

John Wilander:

What Chrome has announced is a change to their default cookie policy, going from allowing third-party cookie access to not allowing it. However, developers can simply reconfigure their cookies to opt out this new policy and we should expect all trackers to do so immediately.

For a cookie policy to have meaningful effect on cross-site tracking, you also need to partition storage available to third-parties, such as LocalStorage, IndexedDB, ServiceWorkers, and cache. Safari is the only major browser to have such partitioning and we shipped it in 2013.

Nick Heer:

It looks like something spooked Facebook and Google. Instead of ignoring the privacy implications inherent to their business models, they both decided to reposition themselves as privacy-forward companies. Facebook did so by having an op-ed from its CEO published in a national newspaper, and by trying to redefine privacy itself. Google’s strategy has, so far, been similar.

Jack Wellborn:

The use and presentation of this bulleted structure would have a glancing reader coming away with the impression that Apple merits the most skepticism and that Google is doing the most for their privacy. Even close readers could easily come away thinking that the companies are effectively no different when it comes to their privacy.

Whether you trust these companies in the long run or not, the false equivalency rewards the worst privacy offenses happening right now.

Ben Thompson:

Google, on the other hand, didn’t just admit it collects data, it highlighted how that collection makes Google more helpful. Google didn’t just admit that its goal is to be the Aggregator of information for every customer on earth, it bragged about that fact. And Google certainly didn’t engage in any self-effacing comments about how technology could be used for both good and bad: the entire keynote was arguing that technology is not only good, it is going to get better, and Google will lead the way.

David Sparks:

When these lines were first drawn years ago, there was a lot more digital ink being spilled on the wisdom of Apple’s position. You don’t hear as much about it lately.

So how is Apple doing? From my experience, Apple still is lagging, but not as much as I worried it might.

Ron Amadeo (via David Heinemeier Hansson):

Migrating to a Google Account means turning all your Nest data over to Google—data that previously had been kept separate.