Archive for February 28, 2022

Monday, February 28, 2022

Still No Instagram iPad App

Chance Miller (via Ryan Jones, MacRumors):

This time around, Mosseri has taken a slightly different approach to address this complaint. In response to a tweet from Marques Brownlee about the lack of an iPad app, Mosseri this time acknowledged that Instagram gets this request “a lot,” while simultaneously saying there aren’t enough iPad users to justify the work.


Also, just a note: analyst data indicates that Apple likely shipped over 51 million iPads across all of 2021. I’m sure a pretty high percentage of those iPad users have an Instagram account and would love a way to use the social network that doesn’t involve a web app.

Matt Birchler:

I can’t share details, of course, but ask any iOS developer how many users demanded an Apple Watch app and then proceeded to never use that watch app.

Don’t get me wrong, I would love to see a great Instagram app for the iPad too, I just have to don my PM hat for a minute here and see where he’s coming from.

This may also be related to advertising. They can get more information about you if you read Instagram from your phone. And an iPad sweet solution bypasses App Tracking Transparency.


Update (2022-03-09): Francisco Tolmasky:

I trust they have the numbers to know it’s not worth it, which is sad, but goes back to the same points about the iPad as always. This is interesting though since it kind of reveals demographic info (iPads seem to not meaningfully intersect with Instagram’s target demographic).

Instagram feels like a “companion app” to me — much like Messages. It’s the thing I’m doing while I’m doing something else. I prefer to respond to a text on my phone, even while using the iPad, because multitasking is so disruptive on the iPad.

Jesse Squires:

At least around ~2015-2016 the real answer to this was “tech debt”

And, based on my experience, I imagine addressing that is still a low priority


The most outrageous thing is they already built iOS tablet UI for their Windows app (which was the iPhone app running under osmeta’s translation layer) and they let the code rot when they ditched the Windows app

But they could have just used it for an iPad build at any point

Rob Jonson:

The crazy thing to me is what this says about what an app becomes in the hands of a big company. The work that is ‘a bit extra that we obviously do’ for indie devs becomes an enormous undertaking for a giant sclerotic company.

Axel Rivera:

I don’t really care that much about an IG iPad app. What I’d like to see is a native Mac App comparable to TweetDeck.

Update (2022-04-13): Michael Love:

For anyone watching, this is a major reason for our lack of investment in iPad development - only way we can monetize things like mouse / kbd / multi-instance support is to launch a standalone iPad app, Apple won’t let us sell an “iPad Feature Enhancements” or whatever add-on.


Jim Dalrymple Retires From Writing

Jim Dalrymple (tweet):

After almost 30 years of reporting on Apple, I am retiring.

I guess the biggest question is what happens to The Loop. Daily posts will stop, but the site will remain online, and we’ll use it to host The Dalrymple Report podcast, which Dave and I have decided to keep going. I may be officially retired, but I still have things to say and opinions to give.

Over the past couple of years, I have taken time to address issues in my personal life. In that time, I realized that there is so much more to life than work—I’ll be honest, that revelation came as a massive shock to me, but I couldn’t be happier.

Thanks and congratulations to Jim. I’ve been reading his work since the MacCentral days. Hopefully, Dave Mark will continue writing somewhere.

App Store Small Business Program Now Allows Transfers

The App Store Paid Applications Agreement used to say:

Beginning January 1, 2021, You will not be eligible for the App Store Small Business Program if You participate, either as the Transferor or the Recipient, in the transfer of a Licensed Application. For example, if You transfer a Licensed Application from Your developer account to another developer account using the App Store Connect tool, both you (the Transferor) and the other developer account (the Recipient) will not be eligible to participate in the App Store Small Business Program. Similarly, if another developer transfers a Licensed Application from its developer account to Your developer account using the App Store Connect tool, both you (the Recipient) and the other developer account (the Transferor) will not be eligible to participate in the App Store Small Business Program.

Steve Troughton-Smith notes that this has been removed. It now says:

If You participate, either as a Transferor or a Recipient (hereafter referred to as an “App Transfer Party”), in the transfer of a Licensed Application, the proceeds associated with that Licensed Application will be included in the calculation of total proceeds of any App Transfer Party to determine eligibility for participation in the App Store Small Business Program. For example, if You transfer a Licensed Application from Your developer account to another developer account using the App Store Connect tool, the proceeds associated with that transferred Licensed Application will be included in the calculation of Your total proceeds and in the calculation of the total proceeds of the developer account to which you transferred the Licensed Application. If a Licensed Application is transferred multiple times in a given calendar year, the proceeds associated with that Licensed Application will be included in the calculation of total proceeds of each and every App Transfer Party.

I received a different notification e-mail from Apple, which didn’t mention this change.

Tyler Hillsman:

Good news! Now about that “no app transfers for apps with iCloud entitlements” thing…

See also: Filipe Espósito.


Swift Type Checking Is Undecidable

Slava Pestov, in 2020:

More precisely, the introduction of SE-0142 and SE-0157 has made canonical type computation into an undecidable problem.


Clearly, the GenericSignatureBuilder is able to solve word problems for at least some semi-groups today (as well as protocols that don’t correspond to semi-groups; which is any protocol that has at least one associated type that does not conform to the protocol recursively). After all, the standard library and a large amount of user-written code makes use of generics, and works correctly.

We are also aware of examples where we don’t manage to canonicalize types properly, causing miscompiles and crashes. We’ve been fixing these gradually over time, but we continue to discover more problems as we fix them. This was a strong hint that the underlying approach was not correct, which is why I spent some time thinking about the fundamentals of this problem. Indeed, we can now see that the reason we have struggled with correctness in this area of the language is that a solution is impossible in the general case.

What we need to do is come up with an appropriate restriction to the combination of SE-0142 and SE-0157. If a protocol obeys the restriction, the algorithm should always terminate with the correct result. If a protocol does not obey the restriction, we want to be able to produce a diagnostic instead of crashing or miscompiling.

Note that the C# and other languages also have undecidable type systems.

Slava Pestov:

A year and a half ago I wrote how Swift type checking is undecidable, then last year I sketched out a new way of formalizing Swift generics as a term rewrite system . Since then I’ve been working on implementing this idea with the goal of replacing the GenericSignatureBuilder.


It uses a lot of memory, because answering generic signature queries requires keeping these rather large lazily-built GenericSignatureBuilder instances around for each generic signature the type checker encounters. In extreme examples you can make it allocate gigabytes of memory and end up with an effectively non-terminating compilation.


The new implementation is called the “Requirement Machine”. The source code is in the lib/AST/RequirementMachine directory of the source tree. […] I’ve measured a significant memory usage reduction when the Requirement Machine was enabled for queries in Swift 5.6.


I started writing a paper about the Requirement Machine. I’m not going to post a PDF yet because it is still a work in progress. In particular, the minimization algorithm is not documented, and some parts are out of date since it represents the state of the design from June last year. If you’re curious, install a TeX distribution and run “make” in the docs/RequirementMachine directory of the source tree.