MBW 822: The Cheez Ball Progress Bar

Beep boop - this is a robot. A new show has been posted to TWiT…

What are your thoughts about today’s show? We’d love to hear from you!

Here’s what bugs me about the whole Stage Manager argument - unless I missed something in the demonstration it looks like an evolution of “Spaces” from the Mac. This is a feature that was available many years ago on much less powerful hardware. So when Apple finally manages to bring multitasking, in similar form, to the iPad it seems strange that it requires such beefy specs. 6GB of RAM and swap space? Does that not seem excessive for any modern operating system? On my M1 Mac, the podcast app I’m using from iOS takes up about 200MB. Is this an edge case, or are all iOS apps this slim?

Something about this just doesn’t click. I can understand that for the last 10+ years iOS has only been designed around having one active application, but does the bar really need to be set so high? Our complaint has been “unlock the iPad’s full potential” not “go balls to the wall with M1 and don’t worry about anything else”.

I have all M1 devices, so I’m not exactly being left out, and Stage Manager doesn’t really fit my workflow so I wouldn’t make much use of it anyways. It just seems like people were asking for multitasking and Apple heard “reinvent the wheel”.

2 Likes

That is an edge case, I would assume, and it is for people working on the iPad, so we are talking about things, like photo library + photo editing software + layout software in a stack or video library tool + video editing + effects and compositing.

If you are switching between a couple of lightweight apps, fine, that would probably work on most iPads, but on my iPad Air, if I switch between browser, Twitter and a game, every time I go back to the game, it has to reload the game. If it has to swap out chunks of the game to keep it active, they have to be swapped back in instantly, the storage on older/non-M1 iPads is very slow in comparison. That would mean, instead of instant swapping, you would tap on an app and it would take a few seconds to pop up, that is a poor user experience, when people are used to switching back and forth instantly, when both apps on are screen in the split screen view.

Needing more RAM is inevitable, plus, as you say, iOS and iPadOS spent the first 10 years of life “single” tasking, which meant apps could do what they want with memory, they didn’t have to be efficient, the could squander as much memory as the device had, now they are suddenly having to share that memory with others.

1 Like

Just finished the episode… I got name dropped! :star_struck:

5 Likes

I agree. Seems Apple only want a guaranteed premium experience, whereas their users might just want improvements to the way their current iPads multitask. Stage Manager does seem to be an attempt to rethink multitasking on a touch-first device though. It looks to be more discoverable and supports grouping apps.

My tablet isn’t that top-end (Snapdragon 856/6GB/UFS 3.0 storage) and I can have many windows open in a true window environment and it works well with no lags. Don’t normally run it like this, I usually have one or two apps I’m working in then a 4-finger swipe up to see all the apps and switch. Doesn’t have multiple desktops though, which I use a lot on macOS and Windows.

2 Likes

I understand that on the high end there are iOS apps that will use all the system resources available to them. Games and some pro apps, but without the tools to do any kind of system monitoring on iOS I’m kinda going into this blind. The only way I know how much RAM Overcast is taking up is because I can measure it on my Mac.

To be honest that’s part of my frustration here. I can’t remember who said it on the show but it would be nice if one of the engineers could show the numbers. Although that would still raise some questions in my mind, because how much RAM should a BSD-based OS and its mobile-centric apps really be using? Steve Gibson can do amazing things with 1KB of RAM (not literally, but close), but the recent discussion about Stage Manager is leading me to believe iOS has a memory management problem that should’ve been solved before Apple caved to pressure from folks like me.

Also, according to 9to5mac one of the iPad Air 5 models doesn’t have swap capabilities but is supporting this feature anyways?

1 Like

The entire use case for iPads has changed since the pandemic began. It made more sense when you were on the road to spend $500 to $700 on a device without a keyboard or a full size screen. It doesn’t really make a lot of sense anymore when you’re working on computers at home all day. The fact that they’re struggling to make multitasking work just makes it more obvious that it’s a consumption device not a true productivity tool, apart from niche cases like taking notes using speech-to-text or maybe scanning items while doing inventory. $329 is as much as I’d ever spend on an iPad. Those who can only really afford one device would be better off buying a Chromebook or a cheap Windows desktop.

The problem is that the apps, until now, haven’t had to be that efficient, they weren’t quite single tasking, but it didn’t matter how much memory you used, as long as there was enough left over for the OS to work - plus some push-stubs for other apps receiving notifications.

That meant you could use GB of space to cache data, for game play, for example.

Going back to an example from my youth, I had a friend, who had a friend, who worked for one of the games software houses. He managed to get his hands on the source code for Goldrunner, a vertical scrolling shoot-em-up. He had the source for the Commodore C64, which was tight, well written and an amazing feat of engineering, to squeeze synthesized voices into 64KB RAM, along with the graphics, music and the game itself.

On the Amiga, that exact same game fitted into 512KB. Yes, the graphics were a bit better and the music and the voices were better. But they didn’t need that much space.

Looking at the code was telling. On the C64 there was a delay loop to slow the game down in early levels, it loaded a register with a variable and decremented it, until it reached zero, that was about half a dozen bytes of code or so. That same routing on the Amiga? 20-30KB. The programmer had the space, so they didn’t care about keeping the code tight, so they had 20-30KB of NOPs (No-Output instructions, which just waste a clock cycle by doing absolutely nothing). It calculated, based on the level, where in that stream of NOPs it should jump to.

That is an extreme example and really shows that the programmer discovered copy and paste in the editor (or a macro in Emacs) and just blatted in page after page of NOPs, until there were enough to slow the game down. He could have used the same trick as the C64, or even put the process to sleep for a few milliseconds, using half a dozen or so bytes, but he had the space to go silly.

Modern languages aren’t that wasteful on space, but programmers don’t worry about making routines tight and economic, unless there are performance problems that can’t be compensated for by buying faster hardware. If they have 6GB RAM to cache their data in, why not load it all in up front, and why bother compressing it, so that it is “just there” and doesn’t have to pause between levels?

Now, suddenly, those apps have to play nice with others and share their toys (RAM and CPU time). Some already do this, some are already ridiculously small and don’t take up much space or processing time (E.g. calculator), but others, like games or video and photo editing software use a lot of resources, that means that some of their code and data needs to be swapped out, when they aren’t working and that needs very fast storage, among other things.

Yes, if you only use podcasts, the calculator and a few other lightweight utilities, you could probabyl multitask in windows on most iPads, but the reality is that the most people who really need this will be using multiple heavy-weight apps, so making it available on a low-spec (comparatively) chipset will make it a poor experience and Apple wants to avoid that if it can, and that means using an SoC with integrated storage that is incredibly fast.

2 Likes

Thinking about this, there are many precedents for this. Windows only really multitasked on the 386 and newer chips. They brought not only faster clock speeds, but also extra microcode features that made preemptive multitasking practical.

Apple has something similar with the move to 68030 and 040 chips, and later Power PC chips.