The internals of App Review’s testing — quite fascinating! It seems like they create a trust score of your app based on a list of binary & metadata criteria, and then review what’s changed between versions ImageImageImageImage
Reviewers claim app submissions as they go through, and are then notified which elements have changed since the last approved version Image
Gotta wonder just what kind of slide decks were prefaced with snarky developer Twitter quotes over the past decade 😅 Image
Apple acquired SourceDNA in 2016 to improve the automated binary analysis portion of App Review Image
Apple was looking at AppThority too, but didn’t acquire them. Looks like Symantec did, though, a couple years later Image
As of 2015, there were 910 (!) different rules and other criteria that App Review used to approve/deny apps. Only a fraction of those are actually communicated to developers in the App Review Guidelines Image
Here are the top ten… Image
App Review’s static analysis includes checking for cookie-cutter apps, and the strings in your binary. Dynamic analysis runs your binary on a test farm and sees what you’re actually doing at runtime ImageImageImage
Am I reading this right? watchOS only has 17,551 apps in its ecosystem (as of 2019)? Image
If you’ve ever wondered why App Review is faster for tvOS and macOS, it’s because combined they have less than a thousand submissions a week. Just 27 new tvOS apps, and 152 Mac apps that weren’t updates Image
The vast majority of iOS apps on the App Store support iPad, making for ~1.1M apps Image
About 73 new apps for watchOS are submitted every week Image
Total apps on the tvOS App Store: 10,009 (as of 2019) Image
I guess this one washed over me: Apple rejects ~two thirds of new apps submitted for iPhone Image
Total number of macOS apps on the App Store (2019): 27,240.

Compare that to the 1.1M apps available for iPad and you can see why Apple would make some of the decisions it has over the past few years to try and unify the development process to align it to iOS Image
North of 40,000 apps are submitted to TestFlight every week, with ~half of them requiring App Review and the rest auto-approved Image
A couple of thousand requests to expedite App Review are made every week (as of 2017). That number feels way lower than I expected — I guess more developers than I’d imagine avoid expediting where possible Image
Apple says it has about 500 App Reviewers — if ‘overtime’ here means what I’d think it means, does that suggest that app reviewers work 7 or more hours of overtime every week? 👀 Image
Roblox was rejected for having minigames, and appealed to the App Review Board, saying that they would only add/remove minigames with submissions and not remotely. Nobody on the board replied to the email, so Roblox was given the go-ahead ImageImage
Apple can end your business and not bother to reply to your email asking why or how you can change. Tribe was thrown under the bus (UTB) by another app developer presumably wondering why they had been rejected, and as a result got thrown out after 3 years on the App Store ImageImage
XcodeGhost spooked Apple into making an acquisition of SourceDNA Image
XcodeGhost infected 2,500+ apps on the App Store and 128M customers, 55% of which were in China Image
96% of developers Apple surveyed in its ecosystem (in 2017) develop for iPhone. 82% for iPad. 16% for Mac. 12% for Apple Watch. 10% for Apple TV. 9% for iMessage Image
Apple thinks developers are liars or idiots for telling Bloomberg that they — correctly — were approved to be on the App Store. There was no rule at the time to justify removing them, so Apple did it anyway and invented one after the fact ImageImage
Apple didn’t want to come out publicly and say so, because it knew it had no actual rule to point to Image
Apple got so sick of bad Flash/AIR apps on the App Store that they considered adding ‘Flash’ to the list of disallowed trademarks for App Review 😅 Image
Turns out it’s developers, via the developer agreement, that are responsible for ensuring the quality of apps on the App Store, not App Review at all. This is not surprising, but it could be an important distinction Image
The idea was floated to build Apple’s digital storefronts right into the OS shell in a way that no third-party store or service could emulate. Clearly 2010 Apple was not expecting to run into serious antitrust issues a decade later Image
‘The reason we lost Safari on Windows is the same reason we’re losing Safari on Mac. We didn’t innovate or enhance Safari’

…speaking of throwing developers under the bus 😅 Image
(It should be noted that Apple couldn’t lose Safari on iOS… because the App Review Guidelines prohibit competing browser engines. At a time when Apple felt Safari was withering on its other platforms. Food for thought)
Apple was utterly convinced of its iPhone (P2) security in 2006 right before it was announced. iPhone made it a month and a half after release before being jailbroken to run third-party apps, bypassing every security measure there was.

Never underestimate a bored teenager 👀 ImageImage
Forstall wanted to let Yahoo widgets on iOS.
“Take the high ground and let them build it and compete”

Schiller: “we have a way to do Widgets that competes with theirs, so who cares? This sounds like a relationship issue not worth considering” Image
There is a fun Apple Internal pitch for what would become the third-party development & security model of iPhone OS 2.0 (Aspen). They called the platform ‘Mac OS X Embedded’ before they eventually named it iPhone OS

Ignore the ‘November 2, 2020’ date here; this must be late-2007 ImageImageImageImage
I’ve enjoyed going through these court exhibits, there’s a lot of developer-specific information that’s quite fascinating that wouldn’t be picked up on by the wider press. I certainly haven’t seen all of the above elsewhere. I think that’s it until tomorrow, though
Last one: Apple would ‘help’ CNBC write a story about how App Review is not a sweat shop despite its targets and overtime 🤨 Image
More Epic v Apple docs!

“Google and Apple are so large, there are beat reporters on them as their job. […] these writers will defer to Google and Apple and defend them”

“Our company is too successful to be sympathetic about. It’s a rich company vs a rich company” ImageImage
Epic’s possible outcomes for its fight against Apple & Google include them changing its policies to ameliorate the bad press, but without helping Epic directly. “The problem with this fight is that nothing new will happen. We will not win with a sustained battle”
Reading this, you’d get the impression that the Epic v Apple suit was designed just to get Apple to the negotiating table and change its policies by turning developers against them (which is exactly what happened). The antitrust sharks circling made this the best possible shot
To be fair, dev sentiment has been simmering for the past decade, and it’s only now that it looks like something might actually happen that a lot of us are comfortable talking about it. We lost an entire generation of 3rd-party innovation on iOS that just didn’t fit the App Store
Epic calls out specific tech publications that it expects to be biased against it Image
Epic also laid out how it would expect anti-Epic tech press to react. Hands up if you think this looks familiar, even point-for-point 😂 Image
Fun email thread between Steve Jobs, Phil Schiller & Scott Forstall, where Steve & Scott are arguing in favor of removing the 2008-era iPhone NDA, and Phil is against it

“we’re going to lose the University class market then for sure. [They] will all teach Android instead” ImageImageImageImage
Apple compiled a damage report for Phil with all the HEY fiasco article snippets last year.

“We do want the app on the store if it will follow our guidelines to offer IAP (I don’t think he will, but we should try). We shouldn’t have approved the app in the first place…” ImageImage
Ooh there are plenty of interesting documents I missed from the Epic trial, like this 2015 Apple report on the Mac App Store and why developers are rejecting it (including testimonials) ImageImageImageImage
In 2017, Apple planned on adding… A/B product pages, and paid upgrades to the App Store? 👀 Image
Apple developer observations (2013): ‘Android fragmentation is a non-issue’, iPhone fragmentation was starting to become a problem, and developers publish on Android first to get users, and then launch on iOS to make actual money ImageImage
The eternal struggle between Apple the developer-friendly platform maker and Apple the ruthless business Image
The mystery of @pbsIdentity’s ‘fart’ apps on the App Store, revealed: it looks like when he joined Apple, he put together a 12-page internal report about what the development/submission process is like for a ‘real’ developer, including the frustration of App Review rejections 😅 ImageImageImage
Wherein Apple strongarms Uber into switching to IAP, knowing that Uber would have to raise subscription prices and pass Apple’s 30% along to the consumer Image
Interesting tidbit: it can take hours for an uploaded app to be received by App Review due to the time it takes to run the App Thinning passes on the binary — especially for bigger apps like games. Epic wanted a guaranteed two-hour review process, and was told no Image
Fun exchange wherein an Apple VP thinks Apple should invest in cloud-streamed apps, and is shot down by Craig Federighi with an expanded form of ‘what are you smoking?’

Mention of Apple investing in cloud-based build services.

Also, what is ‘Olive’? ImageImageImage

• • •

Missing some Tweet in this thread? You can try to force a refresh

Keep Current with Steve Troughton-Smith

Steve Troughton-Smith Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!


Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @stroughtonsmith

5 Jun
While the ‘iPadOS should run Mac apps’ idea is a long shot, it would be kinda interesting if iPadOS evolved to run Catalyst apps — iPad apps with menus, resizable windows & toolbars, mouse & keyboard optimization. Early versions of Catalyst handled toolbar in UIKit, not NSToolbar
A leap like this is the most reasonable way for them to bring more ‘desktop-like’ experiences to iPad — sticking with the frameworks that already produce great iPad apps, and not trying to shoehorn touch into AppKit. It would effectively provide another platform for developers
Right now, Catalyst is not set up to handle transitioning between iPad and desktop modes and layouts — a lot of stuff is ifdef’d out at compile time — but it would make sense to someday move those to runtime checks instead
Read 13 tweets
5 Jun
⭐️ Since I’m in a sample-code-creating mood today, here is a demonstration of how to use window scenes & SwiftUI to make native Mac-like preferences windows in Catalyst powered by live views, not static Settings bundle. Similar to what @jamesthomson does:…
(I wanted to move to this approach for my own apps, so decided to figure it out in something I could share on GitHub)
It should be said: key to making this work is adopting the Mac idiom in Xcode (Optimized for Mac). Otherwise, it won’t look so native:
Read 5 tweets
4 Jun
I’ve heard a few members of the press wonder ‘where are the Catalyst apps?’, but I think the fact that you’re not even noticing them anymore is a good thing. Looking at the ‘Apps and Games We Love Right Now’ feature on the Mac App Store, a high percentage are Catalyst
With a cursory glance, Catalyst powers Timery, Dark Noise, Darkroom, Cheatsheet, Craft, Scenecuts, Tasks, Instapaper, LookUp, PSPDFKit’s PDF Viewer, Codye, my own Broadcasts, and more — which pretty much covers every new indie Mac app I’ve heard about in the past 18 months 😂
I’m sure with each coming OS, whether or not the apps are AppKit, Catalyst, SwiftUI, or a combination of all 3 will just blur into the background. Those distinctions don’t matter; this is Apple’s Universal app platform, and it’s breathing new life into the Mac development scene
Read 4 tweets
3 Jun
📊 Reading the room

Do you, as a developer, try to avoid stepping on Apple’s toes in fear that you could be removed from the App Store, or be put out of business?
📊 Have you, as an Apple developer, ever had to bend over backwards to appease App Review in a way that you don’t think was fair or justified?
📊 Have you, as an Apple developer, ever been pushed into implementing a payment model you didn’t really want, just to fit into the App Store?
Read 11 tweets
11 May
I have feelings. It sucks Panic just wasn’t able to make iOS work, and it’s a struggle I’m sure many Mac devs can relate to. The iPad pro-app-ecosystem is its own beast, needs new mindsets. A bittersweet passing of the torch to a new generation of indies…
With Transmit, Panic tried to build a product iPad wasn’t ready for, at the time. And when iPad evolved to match, Transmit didn’t meet it. iOS users formed new productive workflows around Files, drag & drop, Shortcuts and modern APIs, and Transmit was stuck in a pre-file world
How do you solve for this? For one, I think you have to design for cross-platform from the get-go. Don’t give iPad users trimmed down versions of your apps, give them as close to parity as you can, respect their intelligence and their workflows. It’s not 2010 anymore

(Adobe. 😜)
Read 5 tweets
18 Apr
Would be really nice to see VMWare & other Hypervisor-based virtual machines on iPad next week 🥺
I totally forgot that Apple recently added new entitlements to make JIT-based emulators possible on iOS
Officially-sanctioned Hypervisor apps on the iPad App Store could tie up a lot of the loose ends on iPad, like providing a sandboxed Terminal environment & scripting, a safe place for unsigned code, and self-hosted development via Xcode on macOS. Feels like a clear win
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!