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!

PDF

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

Jun 21
I had an inkling it might be able to patch AppKit in Mac OS X 10.0 to re-enable the NEXTSTEP interface style after it was removed during the Developer Previews — and I was right! So here’s the shipping, consumer Mac OS X without Aqua turned on. It’s rather broken and crashy
I did it by returning NSNextStepInterfaceStyleDefaultValue from __NSGlobalInterfaceStyle, a four-byte patch. Have fun!
Follow-up: Platinum also works 😄
Read 9 tweets
Jun 7
So, Stage Manager on iPadOS 16. I’m coalescing my feelings about it, which so far are a net negative for b1, so bear with me.

I hate that it shuffles/resizes windows on me.

It also unhelpfully decides which side of the window you’re allowed resize from via touch (but not mouse) ImageImage
Here’s an example of why its ‘smart’ resizing is so frustrating. You could be working in a three-column app one moment, but dragging in another window kicks you out into a smaller window and throws away your sidebar. Huge context switch and painful to return
Having the windows shuffle around as you drag them makes it impossible to organize anything the way you want it. It’s adding unnecessary complexity that doesn’t help anything. The least it could do is implement Windows’ snap modes that everybody loves — Microsoft did it better
Read 15 tweets
Jun 7
How can I put this…

The new System Settings app on macOS brings the performance, reliability, and Mac-optimization you’ve come to expect from SwiftUI to a core system app. It’s exactly as good as that sounds.

😅 Image
👀 A screenshot to better illu...
Overall I’m not sure how I feel about System Settings. A lot of things that were very graphical and spatially organized are now walls of text and tiny switches. Granted, I was constantly getting lost in the old app, so it did need *something* — improving the new layout might work ImageImage
Read 5 tweets
Jun 6
“The NSUIViewToolbarItem class lets you display a UIView in an NSToolbar. Use this class if you have a custom UIKit view you want to appear as a control in a toolbar when you build your app with Mac Catalyst.”

developer.apple.com/documentation/…
Big update to UIWindowScene that lets you set a bunch properties in Mac Catalyst, like can be closed, minimized, fullscreened, etc. You can also get and set the window frame (!) developer.apple.com/documentation/…
Lots of new stuff for UINavigationBar that seems like it is automatically hosted in a Mac toolbar now in various different styles. Curious to see what that looks like in practice
Read 7 tweets
Apr 23
From the start, we knew the App Store was a symbiotic environment designed to create value-add for Apple devices by giving devs great tools to make apps to entice customers to Apple, whilst also ensuring to deny devs any ability to ever remotely threaten Apple's position of power
It was an incredibly-delicate, calculated 'truce' that relied on Apple not overstepping into abuse. Apple, through greed, was unable to maintain status quo. Instead of reform, set in motion to burn it all down + spent 3 years illustrating to devs just how small & worthless we are
The idea that governments would ever step in and ‘save’ the platform from Apple’s nannying, abuse, was a pipe dream few of us back in ’08 thought would happen in a million years. Yet somehow, bit by bit, Apple pushed far enough across that line to bring us to where we are today
Read 7 tweets
Apr 22
Going through the process of importing all the old backups of my first major software project (c. 2004) into a git repo and trying to re-create the commit history based on the release notes. The big decisions and major forks in the road — really brings back memories 🥹
Feels really good to have that first year of ‘real’ Cocoa development documented all the way up to the end of the project. I can see from my projects folder that it split into two completely different projects at that point, with no real throughline, so I won’t include them here
Just a couple of tweaks, and a manually-rebuilt project file, and up it comes! Seventeen years later (☠️). This version of the app lasted but a month before I remade it from scratch, and I barely remember this particular interpretation
Read 4 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

Don't want to be a Premium member but still want to support us?

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

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(