Archive for August 2, 2018

Thursday, August 2, 2018

Apple Removes Apps From Their Affiliate Program

Juli Clover:

Apple currently offers its affiliate partners 7 percent of the money generated from an iTunes related purchase, including apps. Last year, Apple attempted to drop that rate to 2.5 percent on apps, but kept it at 7 percent after backlash from developers and publishers. Commission rates were, however, dropped to 2.5 percent on in-app content.

Apple plans to remove commissions for iOS apps, Mac apps, and in-app content from its affiliate program starting on October 1, 2018.

Eli Hodapp (tweet):

It’s hard to read this in any other way than “We went from seeing a microscopic amount of value in third party editorial to, we now see no value.” I genuinely have no idea what TouchArcade is going to do. Through thick and thin, and every curveball the industry threw at us, we always had App Store affiliate revenue- Which makes a lot of sense as we drive a ton of purchases for Apple. I don’t know how the takeaway from this move can be seen as anything other than Apple extending a massive middle finger to sites like TouchArcade, AppShopper, and many others who have spent the last decade evangelizing the App Store and iOS gaming- Particularly on the same day they announced record breaking earnings of $53.3 billion and a net quarterly profit of $11.5 billion.

Jake Underwood:

This is such a terrible community move for Apple. This program gave people like me a chance to write about apps and helped quality websites bring good apps to the forefront. It’s so disappointing.

Seth Weintraub:

Record earnings? $100B Tax Repatriation? $1T Market cap?

Let’s cut our publishing partners out of the affiliate revenue

Mark Gurman:

A move that seems without any benefit to anyone but Apple, and benefit that’s severely outweighed by the consequences.

This is going to hurt independent app reviewers and Apple news websites that have promoted and reviewed apps fairly for years and helped services become the nearly $10B a quarter business it is today.

Many great developers got their first big piece of exposure because of reviews from @hodapp @viticci @apollozac and many other independent reviewers. That will now slow down in favor of Apple-written reviews in the Today section. Independent voices are important.

Federico Viticci:

Apple killing the affiliate program for apps feels downright hostile and petty.

I am personally not that affected because we saw this coming years ago and we adapted – but it’s a huge blow to small publications, indie devs, and others who rely on this to earn commissions. Sad.

John Gruber:

There have been reviews before affiliation, there will be after. Write about what’s interesting.

Rene Ritchie:

Android Central has always done similar coverage of Google Play as iMore has done App Store and there’s never been any affiliate revenue from Google.

I might be naive, but I don’t think much will change that wasn’t changing already?

Michael Rockwell:

I think this change is bad for the community and disincentives existing sites from covering applications — you’ve got to go where the money is. And soon, there will be little financial incentive to write about the apps you love. The effort that used to go into app reviews, top ten lists, and the like could shift toward writing about iPhone cases, watch bands, and other accessories for which Amazon affiliate revenue is still present.

Rene Ritchie:

I always thought it was profoundly short sighted of Google Play not to provide an affiliate program.

Very sad to see Apple go this way now too.

Any revenue they save would be better invested in continuing to grow attention through affiliates.

Hopefully, they’ll reconsider.

Dan Counsell:

App Store affiliate revenue is going bye-bye. This is for one of two reasons. #1 Apple wants to increase its service revenue, this is a quick win. #2. Apple plans to take less than 30% from developers, and this is one way for them to recoup some of the revenue they would lose.

Stephen Hackett:

I can’t help but feel that Apple is waving off the wide array of sites that help consumers find apps as being unnecessary in light of Apple’s new editorial content within the App Store. I simply don’t believe that to be the case. The App Store is massive, and the crop of websites that have come to make a name for themselves comparing and reviewing apps add value to the ecosystem.

Bryan Chaffin:

Concerned about it’s bottom line, Apple found a way to boost Services earnings by no longer thanking publishers for spreading the word about apps in the App Store. The company announced Wednesday that apps and in-app purchases will no longer be part of the company’s iTunes affiliate program because discovery is just gonna be awesome in the new App Stores coming this fall.

Jordan Merrick:

I do find it interesting that the only content being dropped from the affiliate program is that which Apple takes a sizable cut of. iTunes Store and Books content remains, so why only apps?

[…]

I can say with absolute certainty that the majority of apps I’ve purchased and enjoyed over the years have been through reviews and recommendations that used affiliate links. That’s how I, and many others, discover new apps.

Gabe Weatherhead:

Personally, I think number two is the likely cause here. A bit of hubris mixed with not actually using their app store much has lead Apple to believe most of the affiliates are app scammers trying to pump up apps to skim a profit regardless of quality.

[…]

I do happen to believe that Apple is wrong here and that they will dramatically hurt small app developers and the diversity in the App Store.

Nick Heer:

Is it for financial reasons? Is it because there are bad actors abusing the program? Nobody outside Apple knows for certain, but it feels like it’s dismissive of the greater Apple community.

Rene Ritchie:

The optics, announcing the end of the program right after announcing record-setting profits, were terrible. And the tone of the announcement itself was read by many as cold… even callous.

[…]

It’s the classic blunder — cutting someone else’s line instead of growing your own. And it also feels incredibly short sighted. Especially when it comes to the larger Apple community, and the ability to sustain many and diverse voices.

[…]

Many years ago, when the App Store was simpler and the bottom hadn’t yet fallen from under premium App Store pricing, iMore could pay a full-time app editor off of affiliate revenue alone.

Then came in-app purchases and value starting moving from one big up front purchase to bursts of micro-payments over time.

Previously: Apple Cuts App and IAP Affiliate Commissions.

Update (2018-08-03): John Gruber:

I don’t get the argument that it’s about Apple pinching pennies and not wanting to pay the affiliate fees. The whole point of affiliate programs is that they drive enough additional sales to increase revenue. That’s why Amazon has an affiliate program and heavily promotes it.

John Voorhees:

A byproduct of removing apps from the iTunes Affiliate Program is that developers will be limited to provider tokens for tracking the performance of advertising.

Adam C. Engst:

Although TidBITS is enrolled in the iTunes affiliate program and our previous content management system programmatically added the affiliate code to appropriate URLs, we earned too little money from it (roughly $1000 since 2014) to focus on it or even remember to move the feature forward to our new site. We’ve also always been somewhat uncomfortable with the inherent conflict of interest involved with affiliate fees—there’s an unavoidable link between publication revenues and encouraging sales.

[…]

Apple says that the new Mac App Store will have in-depth stories written by a global team of App Store editors, and while you probably won’t see their bylines on those stories, we’ve been watching Apple hire experienced industry writers for those positions. Of course, as it becomes ever harder for publications to survive, it’s not surprising that journalistic talent is being forced to make the jump to industry.

[…]

In the end, I’m disappointed in Apple. Not surprised, since Apple has never acknowledged that the media plays a vital role in the broader Apple ecosystem, but disappointed that a company that puts so much effort into bringing joy to users can simultaneously behave so callously to some of its greatest supporters.

Patrick Dean:

Apple: ads are bad and an invasion if privacy, here’s some OS level tools to get rid of them.

Also Apple: Please monetize your content about us exclusively with ads because we’ve axed the affiliate program.

Dave Verwer:

Apple is well within its rights to do whatever it likes with the affiliate programme, including shutting it down. They owe us nothing. But implying that it’s because the new App Store provides enough discovery by itself is arrogant, and also wrong! I’m a huge fan of the new App Store stories but they are just one part of what’s needed.

David Sparks:

It’s easy to think of Apple as an old friend and forget that they are a for-profit corporation. I think refusing to pay affiliate fees is silly in light of the fact that third parties are driving lots of sales in the Mac and iOS app stores every day. Frankly, one of the reasons I’m moving away from the iBooks platform is because I don’t want to get caught up if they decide it isn’t worth the effort in a few years.

One last thought is why they are only cancelling affiliate payments for apps? Music, video, and book affiliate links will presumably still work. Are those next or are there industry pressures keeping Apple from shutting them down.

Joe Cieplinski:

If you write reviews of apps, you need to post links to the apps, because your readers will think you’re nuts if you don’t.

Given this, it’s hard to argue that the Affiliate Program, whatever it cost Apple, was the best use of Apple’s money. Apple had all the leverage, and it acted accordingly, as anyone should expect. Continuing the program would be an act of goodwill, maybe, but there are more effective goodwill investments, no?

Escaping the Sandbox – Microsoft Office

Adam Chester:

Then, as we get closer to the end of the list, we see something a little bit strange:

com.apple.security.temporary-exception.sbpl
(allow file-read* file-write*
(require-any
(require-all (vnode-type REGULAR-FILE) (regex #"(^|/)~\$[^/]+$"))
)
)

This rule allows the Microsoft Word process to read/write a file as long as it matches the following regex

(^|/)~\$[^/]+$

At first I couldn’t understand why this exception was here, however when crafting a filename matching this regex, it actually starts to make sense, for example ~$document1.docx. This is the typical filename format for temporary files used by Office, so what this rule is doing is allowing the process to persist temporary files without prompting the user for permission each time. At this point alarm bells should be ringing, as although this rule allows Word to create a temporary file, it also allows us to create a file anywhere on the filesystem as long as it ends with “~$something”.

[…]

This means that all we need to do is craft a plist with a filename matching the sandbox regex, wait for a user to log in… and we should be able to escape the Word sandbox.

AdGuard Pro Discontinued Due to Apple’s Policy

Andrey Meshkov (via Hacker News):

Basically, this guideline makes it impossible to use the VPN API for any purpose different from establishing a real VPN connection. I can name A LOT of cool apps which can be affected by this change and can be taken down any time: Charles Proxy, DNSCloak, etc, etc. I hope they won’t, though, and the whole point of this is to get rid of known ad blockers.

[…]

We are not alone. It seems that Apple decided to ban all apps that do content blocking outside of Safari. Malwarebytes is another example.

Migrating an Objective-C Class to Swift: a Piecemeal Approach

Ole Begemann:

My usual strategy for this is to write a Swift extension for the Objective-C class. The new code goes into the extension. Where necessary, @objc annotations expose the extension’s code to Objective-C. This works great until the new code requires me to add a stored property to the class. It can’t go in the extension, I have to add it to the Objective-C class definition.

This in turn means the property must have an Objective-C-compatible type, even if it’s only to be used internally by the Swift code. This is a fairly big limitation that I regularly run into: it means no structs, no enums with associated values, no generics, and more.

[…]

Here’s the workaround I use: in Swift, I define an Objective-C-compatible class that acts as a wrapper for all stored properties I want to use in my Swift extension. In Objective-C, I add a property for an instance of that class to the main class definition. Once that’s done, everything else happens in the Swift code: the properties can use Swift-only features (assuming you don’t need to access them from Objective-C) — only the class itself must be visible to Objective-C.

Jérôme Alves:

Associated objects may work too for simple cases. But another great solution I adopted successfully for a very large class was to rename ObjC HHFooBar into _HHFooBar and redefine HHFooBar as a Swift subclass of _HHFooBar. If possible I take the opportunity to drop the prefix too.

Update (2018-08-10): Ole Begemann:

The subclassing approach is in many ways a cleaner design than the extension approach I discussed in the previous article. The ability to freely define stored properties is a clear win. And once you have finished the migration to Swift, simply delete the (now empty) superclass and you’re done.

The only significant downside seems to be the inability to call into the subclass code from the superclass (unless you work around it). The subclassing pattern may not be possible when the class you want to extend has Objective-C subclasses, however.