Archive for June 15, 2022

Wednesday, June 15, 2022

Transferring Apps That Use iCloud

Apple:

Apps that use iCloud can now be transferred to another developer in the Apple Developer Program.

This is huge news.

Previously:

Update (2022-06-24): Jordan Morgan:

The most impactful change to come out of W.W.D.C. had nothing to do with APIs, a new framework or any hardware announcement. Instead, it was a change I’ve been clamoring for the last several years - and it’s one that’s incredibly indie friendly.

[…]

When my last app, Spend Stack, was acquired - it took nearly four months to get settled. This was an experienced buyer who usually had things done and dusted in one week. Why did it take so long? Because I didn’t just sell Spend Stack, I had to sell my entire LLC, Dreaming In Binary, which I had owned for many years to that point. Instead of transferring the app, I had to manage a slew of logistical hurdles that neither I, or the acquirer, wanted to otherwise.

Now, there is no more creating an LLC per app.

[…]

The long and short of it is this - many of us would skip iCloud sync altogether because it meant we couldn’t transfer any app using it in the future.

Stage Manager’s Utility

Steve Troughton-Smith:

I do feel Stage Manager has a bit of an identity crisis. Who is it for? The long tail of users? It’s way too confusing and unpredictable, harder than a desktop. And for pro users? It’s far too rigid and opinionated, meddling.

I’m not sure that it’s harder than a desktop. Stage Manager on the Mac is not for me, but it seems like a useful feature for people who don’t want to manage windows but also don’t want everything full-screen.

I think I might actually use it on iPadOS, when I have an iPad that supports it. It seems less confusing than the current iPad multitasking system when multiple windows are involved.

Steve Troughton-Smith:

Related: where on earth is a system-level feature for tabbed windowing? That’s the kind of thing that should have been introduced several steps earlier than resizable, overlapping windows on iPad 👀

Dan Grover:

It’s nice macOS is getting attention, but demos seem to revolve around solving problems of imaginary person that uses only native, Apple-produced apps. Stage Manager does nothing for my 79 browser tabs I use to get work done.

Typical pro macOS user probably has things spread across a zillion Google Docs, Slack channels, various cloud services.

Previously:

Update (2022-06-16): Steve Troughton-Smith:

I don’t think Apple has figured out the nouns & verbs of the important elements of multi-window multitasking — what is an ‘app’, ‘window’, where does it live? Where does it go when I put it away? iPadOS is all just a soup of recent tasks that may be running, cached, or ghosts

Jack Wellborn:

The lack of names suggests to me that Stage Manager is not conceptually complete and incomplete concepts is how iPadOS multitasking got to where it is today. Here’s what I wrote about iPad multitasking back in January[…]

Update (2022-06-24): Steve Troughton-Smith:

As a developer trying to implement well-thought-out multiwindowing in my iPadOS apps, it’s super frustrating that Apple is letting window management balloon into a mess for users without giving developers the tools to manage windows and the UX properly at the other end

Simple one: I wanted to put the list of open windows in the app’s menu bar, like you might on macOS. Except iOS only allows menu bar items that map a key command to a selector — you can’t just have arbitrary menu items. And no two commands can have a blank shortcut

I looked into what Mail is doing to show the window list/shelf via the button in its toolbar, and it’s all private entitlements and SpringBoardServices SPI. Not fair 😜 Third party apps need the same kind of UX

Steve Troughton-Smith:

Honestly I feel iPad is still a good 2 or 3 OS releases away from getting the basics of windowing right, and I kinda don’t want to even try supporting it until they’ve figured it out. I think trying to compensate for this now, as a developer, is going to be a waste of a summer.

Guilherme Rambo:

Feels like in trying so hard to do something different than the traditional windowing model from computer GUIs, they somehow ended up with something that’s more complicated, for both people to use and for us to implement.

Parker Ortolani:

After more than a week of using stage manager on iPad, I’ve come to the conclusion that as great as it is to have for certain use cases (especially on monitors) legacy split view and slide over are still more seamless and intuitive.

Update (2022-06-30): Jack Wellborn:

The other and much more egregious problem is how the main components that make up Stage Manager simply don’t have names. This is nothing new to iPadOS.

[…]

Stage Manager introduces a hierarchy that I hope Apple leans into. Windows belong to sets and sets belong to stages. Given this hierarchy, I don’t think command+tab should switch between apps because, just like with existing multitasking, an app switcher can’t work when an app is divided across multiple stages. Instead, I think command+tab should switch between sets and command+` should switch between windows in the set that is currently on stage.

Update (2022-08-02): Steve Troughton-Smith:

I genuinely don’t think iPad Stage Manager is salvageable in its current form. It’s layered on ton of behaviors that interact in bizarre, inconsistent & unpredictable ways, hidden behind mystery gestures, unmarked tap targets, screen regions. Hidden destructive actions everywhere.

Steve Troughton-Smith:

When you think about it, it’s kinda hard to believe that Apple introduced Stage Manager windowing on iPad without giving developers a single new API to tailor their apps for it. It even actively ignores all the API that Apple built for Catalyst to allow for great windowing support.

Update (2022-08-05): Steve Troughton-Smith:

What Stage Manager does to apps that specifically flag themselves as needing fullscreen is bonkers. It forcibly windows them and scales them down

Federico Viticci:

Here’s one of the many Stage Manager for iPad issues that makes it really hard to work with windows right now:

I have a link in Trello and an active Safari window in the same workspace.

If I tap the link, you’d expect it to open in that Safari window in the same set, right?

Update (2022-09-26): Sami Fathi (via Francisco Tolmasky):

Federico Viticci, the founder and editor in chief of MacStories and a prominent member of the Apple community, outlined his frustration with Stage Manager in a Twitter thread earlier this week. Viticci says that design decisions built into Stage Manager are “fundamentally misguided,” arguing that the feature is unstable, hard to use, and has user interface glitches across the experience.

“If Stage Manager is the future of iPadOS for pro users, I hope Apple understands that it can’t be rushed. We waited years for this; might as well get it in Spring 2023,” Viticci says, suggesting Apple delay Stage Manager’s release entirely and rethink its approach.

Steve Troughton-Smith:

Two apps onscreen — you’d think the currently active one (check the three dots at the top) would be the one casting the shadow on the other? Nope! Shadow is cast by whichever you resized last, no idea why. The app you interact with could always be in shadow, like it or not

Steve Troughton-Smith:

I can’t use Stage Manager for five minutes without it falling apart in some new and novel way. At this point, I think it needs to taken out back and Old Yeller’d. Tear it all down and come back next year, without a marketing name, and without a device compatibility matrix

I am strongly in favor of iPad gaining some manner of windowing, and I don’t want it to be macOS on an iPad. But doing everything different, and worse, just because, is no way forward for the platform. Throwing new ideas at the wall and destroying the UX at our expense?

Stage Manager’s iPad Requirements

Matthew Panzarino (Reddit):

This approach to workspace management does appear to be very obviously iPad-centric. But Federighi says that two independent teams at Apple, one working from the iPad side and one working from the macOS side to try to make multiple workspaces more obvious and friendly, arrived at a similar concept and met in the middle. This means, he says, that both perspectives are represented in this approach.

[…]

Federighi says that the extremely high bar Apple has for interactive responsiveness was at the core of the issue. On iPad, he notes, there is this tremendously high bar for interactive responsiveness and the experience where every app you can touch needs to be able to respond essentially instantaneously. This meant that, historically, whatever apps were immediately accessible to the user needed to be entirely resident in RAM. Something that has not been true of apps on macOS, which made heavy use of virtual memory.

In order to reach that level of responsiveness, several factors needed to collide. First, a combination of a lot of RAM and “extremely fast IO virtual memory” were needed to host multiple apps in the active bucket.

As a result, Stage Manager requires an M1 iPad. I honestly don’t understand his argument. I don’t think it’s that pre-M1 iPads couldn’t support virtual memory, since even the A12Z in the DTK did. That processor also had great performance running more simultaneous apps than iPadOS supports. Stage Manager is also supported on older Macs with Intel processors—and older graphics—that are less capable than recent-but-not-M1 iPads.

Then he talks about needing fast flash storage for the virtual memory, which only the M1 iPads have, but PowerPC Macs were using spinning hard drives for virtual memory 20 years ago. Surely those were much slower.

He also says that Stage Manager is a “total experience that involves external display connectivity.” Why is an external display a requirement when most M1 iPad users don’t even use one?

Thomas Brand:

I understand the Stage Manager experience is all about simultaneously running up to 8 overlapping apps on a 6K external display, but at the very least Apple could throw three year old iPad Pro a bone with a minor software update. Bring basic full screen external 4K app support to the 2018 iPad Pro.

Matt Birchler:

Let’s say I open up a LumaFusion project that uses 3.5GB RAM. On an iPad with 4GB RAM, that’s basically everything, so when I move LumaFusion to the background and open Safari and Messages, LumaFusion is killed so that I have RAM available what what’s on screen now. That’s reasonable because the app was physically not on screen anymore, so the fact that process was killed doesn’t really impact my usage overall.

My iPad doesn’t support Stage Manager, so I can’t try it, but I don’t see how this would really be different than with regular iPad multitasking. External displays aside, you aren’t actually in more apps at the same time. Yes, you see images of their windows, but that’s also the case with the app switcher or with Exposé on the Mac. You don’t need the app’s full memory footprint to show what its window looks like.

Switching to an app that isn’t fully in RAM will be slower, sure, but that’s already the case with iPad multitasking today. Also, apps use different amounts of memory, so given how Stage Manager supports 8 apps, there are probably cases where it’s slower on an M1 than fewer/smaller apps would be on lesser hardware. So it’s not as though the M1 baseline guarantees a more responsive experience.

Joe Rossignol:

The latest interview was published by Forbes contributor David Phelan, who asked Federighi if Apple attempted to make Stage Manager work with iPad models without the M1 chip. In response, Federighi said Apple did some early testing of the feature on other iPads, but Apple was not satisfied with the experienced delivered on those devices.

“We began some of our prototyping involving those systems and it became apparent early on that we couldn’t deliver the experience that that we were designing toward with them,” he said. “Certainly, we would love to bring any new experience to every device we can, but we also don’t want to hold back the definition of a new experience and not create the best foundation for the future in that experience. And we really could only do that by building on the M1.”

Andrew Cunningham:

it’s not unreasonable to expect a 14-month old $1,000+ computer to support new OS features, and if Apple couldn’t do that, they should have designed the feature differently.

Damien Petrilli:

The question isn’t about why the windowing system requires M1 iPads hardware.

The real question is why Apple didn’t manage to ship a windowing system working on most iPads which are far more powerful than any intel-Macs, knowing macOS had a windowing system since the 80s.

Apple controls everything at every level. Yet with this luxury, they manage to support less hardware for shorter time than Microsoft which must supports everything from netbook to workstation.

Steve Streza:

Without the might of the M1 chip, this computer wouldn’t be able to perform the crushing task of running a window manager.

Filipe Espósito:

As noted by developer Steve Troughton-Smith on Twitter, the base model of the iPad Air 5 is not compatible with virtual memory swap. That’s probably because the 64GB of internal storage is not enough for memory swapping. As Apple quietly suggests on its website, memory swapping on the iPad requires at least 128GB of storage in addition to M1.

This is totally understandable, but then comes the question: Why does Apple keep saying that virtual memory swap is a requirement for Stage Manager when the 64GB iPad Air 5, which supports Stage Manager, clearly has no virtual memory swap?

paul:

If your window management software is so resource heavy that an iPad with an A12Z processor aka “faster than most windows laptops” cant run it, then maybe it’s time to reconsider your approach.

Dmitrii:

You either claim this, or you claim that you can’t show app previews side by side. You can’t do have both.

Meek Geek:

If after all this, Apple still won’t budge, then maybe it’s time for these myths to die?

  • Apple will give you feature x if the hardware allows for it
  • iOS is very efficient and needs way less RAM to run
  • Apple generously provides many years of updates with the latest features

Previously:

Update (2022-06-15): John Gruber (tweet):

Virtual memory on Macs back in the spinning hard drive era was ridiculously slow.

Yes, when there was a lot of paging to be done, but clicking from one app to another was still fast because it didn’t have to bring in all of the app’s memory at once.

I can see what Apple is thinking by drawing a hard line with M1 iPads: they want to deliver Stage Manager for iPad without a slew of asterisks regarding which aspects of it work on which devices. As it stands with developer beta 1, an iPad either supports all of Stage Manager (including support for driving up to 6K external displays, and up to 8 apps), or none of it.

It just makes no sense to me that the baseline is 8 simultaneous apps when many people would be happy with 2 or 3. And this “all of Stage Manager” thinking assumes that the 64 GB iPad Air that doesn’t have virtual memory supports the same Stage Manager experience as the higher end iPads. If Apple says it supports 8 apps, I assume it does, but some of them are going to get suspended or be severely memory constrained—which is just what would happen on a non-M1 iPad if that were supported. Of course, there are also A-series iPad Pros that have plenty of storage for virtual memory. Would paging in on those devices really be slower than resuming a suspended app on the M1 Air?

Filipe Espósito:

Here’s a quick thread with a few times when Apple came up with some pretty controversial and questionable limitations.

Plus, Ventura dropped support for Macs that were sold until July and December 2019.

Update (2022-06-16): Quinn Nelson:

Well, Apple said swap is required for SM and this proves it isn’t otherwise only the 256GB iPad Air would be getting SM.

Maybe it’s just that the A12Z can’t handle SM and requires the M1’s power. But if that’s true, why would Apple lie about swap?

After all, a slightly modified A12Z ran the entirety of macOS on the DTK. Are we to believe that the A12Z can’t run a simple window manager? And if it can’t, what does that say about Apple’s software optimization? I mean, the thing can run Unreal Engine but not a window manager?

Greg Pierce:

Stage Manager will definitely not keep your apps running on iPad. I’m sure it’s built on existing windowing support, which takes image snapshots of your app to display and will still happily kill the window/app.

Francisco Tolmasky:

The iPad already allows 2 apps open at once, just in an incredibly frustrating UI, which people more often than not bring up accidentally rather than on purpose.

[…]

Stage Manager and the M1 didn’t suddenly invent multi processing. The underpowered 12” MacBook had no such restrictions. People don’t want whiz-bang animations, they just want to reasonably interact with 2 windows the way they’ve been able to do on a Mac with megabytes of RAM.

[…]

And yeah, it’s hard to add windowing, that’s why they shouldn’t have waited 11 years to try. But either to create artificial market segmentation, or just being stubborn, they’re now just throwing this over-engineered thing at us and still limiting it.

Benjamin Mayo:

Detach from the phrase ‘Stage Manager’. What people want is to put a few apps in floating windows, and connect up to an external display and actually be able to use the app on the display. I think it’s pretty clear that iPads older than 1 year are powerful enough to do that.

This isn’t just about appeasing people with old iPads. Adding those kind of features to non-M1 iPads would be a huge boon to the newest on-sale-now $329 iPad and iPad mini.

It’s not even clear that M1 iPad owners want Stage Manager, with all its quirks. So if they could make a mode for moving an app to the external display in interactive mode without entering full-on Stage Manager, that would be even better for M1 users too!

Filipe Espósito:

What we have found is that, in fact, Apple has an internal mode to enable Stage Manager on older iPads.

The codes reference an internal setting that enables “Chamois” (the Stage Manager codename) for “Legacy Devices.” In other words, it makes the feature work with every other non-M1 iPad running iPadOS 16.

Josh Centers:

However, developers may resent the M1 requirement even more than users. Developer Steve Troughton-Smith points out that most developers do not own an M1 iPad and the iOS Simulator doesn’t officially support Stage Manager, which will make it hard to optimize apps for Stage Manager. M1 iPad owners may be disappointed to find that Stage Manager doesn’t immediately work as expected with their favorite third-party apps.

Troughton-Smith suggests that Apple should let beta testers enable Stage Manager on non-M1 iPads.

Tanner Bennett:

I’ve heard many stores from inside Apple where features were artificially limited to new devices, like AirDrop when it first came out.

Tanner Bennett:

Also FWIW everyone, there was a jailbreak tweak back on iOS 8 called “OS Experience” that allowed you to open as many apps as you want at the same time and use them all at once.

There were no noticeable performance issues, and apps didn’t just close out from under you

Update (2022-06-24): Matt Birchler:

The best I can come up with is that while the 64GB M1 iPad Air doesn’t do virtual memory swap, it does have the 2GB extra RAM, more CPU power, and more GPU power compared to the older devices, and those advantages are enough to make it doable.

[…]

First, fix the bugs and improve some of the weird usability parts of Stage Manager. This is table stakes for a beta, so I fully expect this to get done.

Then figure out a stripped down version of Stage Manager they can release for 2020 iPad Pros, and maybe even 2018 Pros as well.

Dr. Drang:

So watchOS 8 basically did to my Apple Watch what Federighi says Stage Manager will do to older iPads. I guess that means I’m defending Apple’s Stage Manager decision. But it also means that stuff about extremely high standards for responsiveness is bullshit.

Manton Reece:

I think the root issue is that when people choose a computer to buy, they don’t expect the operating system to change significantly for different computer models.

[…]

I can’t think of anything comparable to such a major feature as Stage Manager being limited by hardware across a current, latest-generation product line. Maybe the closest is when Portrait Mode was first available. Portrait Mode is nice to have, but it doesn’t fundamentally change how you interact with apps in the way that Stage Manager does.

[…]

Users on non-M1 hardware will understand if Stage Manager is slower or more limited — for example, no external display support or fewer windows open at once — and those limitations will naturally drive iPad upgrades. But it’s a unique and confusing precedent to have fundamental iPadOS features limited by hardware.

Nick Heer:

The restriction of Stage Manager and memory swapping in iPadOS 16 is the complete inverse. No matter which iPad model you have, you will see gorgeous graphics and use super fast flash memory — but you need a recent iPad Pro or Air model to more efficiently multitask. That is kind of weird. Buying a MacBook Pro does not unlock a better workflow model than what is available on a MacBook Air, but buying an iPad Pro means you get exclusive system capabilities.

Riccardo Mori:

See, I don’t even think Apple “didn’t want to degrade the overall experience to make that happen”. I think Apple didn’t want to waste resources to engineer a separate, optimised implementation of Stage Manager for non-M1 iPads — while being well-aware that most people don’t upgrade their iPads every 1–2 years.

[…]

When Dashboard was introduced in Mac OS X 10.4.3 in 2005, it featured certain effects and animations that not all Macs were able to perform. To enjoy the full experience, your Mac had to be equipped with a powerful-enough graphics card supporting CoreImage. Still, Dashboard was made available for all Macs, and those models with lesser graphics cards simply didn’t show those effects and animations. There was no true loss of functionality, just an absence of further eye candy.