I am not the first person to point out that iPadOS multitasking is broken. I mean, it’s kind of obvious to anyone that’s ever attempted to multitask on an iPad. This particular post was just going to be about the iPad’s poor command-tab implementation, but comparing iPadOS’s app switching to that of other user interfaces brought to light just how fundamentally broken iPadOS’s multitasking paradigm actually is. Before getting to that mess, let’s look at some paradigms from those other user interfaces.
In macOS, the primary element is applications. macOS contains Applications, each of which contain their own windows. While the Dock can hold minimized windows, it’s mostly there to hold applications. Command-tab cycles through applications and the secondary command-` cycles through windows of a given application. Selecting an application’s icon in either the Dock or the Application Switcher, brings forward all windows of that application.
In Windows, the primary user interface element is, well, windows. Windows contains (sigh) windows, some of which contain applications. While the task bar also contains shortcuts to applications, it’s main purpose is to manage windows. Alt-tab cycles through all windows of all applications. Selecting a window in either the Task Switcher or the Task Manager naturally brings forward just that window.
In iOS, the primary element seems to be apps, but I would argue it’s screens. iOS contains screens, each of which contain apps and other things. When you tap on an app icon on the Home Screen, iOS either opens that app in a new screen or takes you to the screen containing that app. Conversely, the App Switcher in iOS is really a screen switcher in that it cycles through screens. It works well enough as an app switcher because of the one-to-one relationship between screens and apps. Each screen can contain only one app and each application only exists on one screen. Furthermore, it never feels limiting because iOS runs only on devices with small screen where you’d only want to see one app at a given time.
iPadOS is descended from iOS and thus shares much of its user interface paradigm. iPadOS contains screens, each of which contain apps and other things. Also like iOS, the iPadOS App Switcher is effectively a screen switcher in that it still cycles between screens. The problem is the iOS paradigm completely breaks down as soon as the one-to-one relationship between screens and apps is lost. Enter iPadOS multitasking, where one screen can contain multiple apps and a single app can live across multiple screens. An iOS-style screen switcher can’t navigate to a given app when screens can have multiple apps. iPadOS also supports command-tab, but a macOS-style app switcher can’t show an entire app that is divided across multiple screens.
I first assumed that iPadOS’s command-tab was just poorly thought out because app switching should be conceptually simple. The reality is app switching isn’t conceptually simple on iPadOS. This becomes obvious when comparing app switching on iPadOS to other platforms. Say you want to get to particular part of a given app.
In macOS, you can command-tab to cycle through applications, then you can further command-` to cycle through that application’s windows.
In Windows, you can alt-tab to cycle through all windows.
In iOS, you gesture to the App Switcher and swipe to the screen containing that app.
App switching on these other platforms work well because they are conceptually simple, and they are conceptually simple because of functioning paradigms. Command-tab in iPadOS doesn’t work well because app switching isn’t conceptually simple, and app switching isn’t conceptually simple because Multitasking in iPadOS is a fundamentally broken paradigm.