Skip to main content

On the debate of iOS vs. macOS

· 8 min read

I've been seeing a lot of opinions on this topic and decided to articulate some of my own after having spent a month primarily using an iPad for nearly everything. I've closely monitored the few cases where I've needed to use my MacBook Pro and effectively made a list of things iOS should implement for feature parity with macOS.

First, a summary. macOS takes the old approach: everything is a file (a la UNIX) and apps are tools to manipulate files. iOS takes a new approach: everything is an app and files are byproducts of the apps. Furthermore, macOS offers to its apps the organization paradigms of spaces (virtual desktops), windows, tabs, and menus (the vertical variety).

The biggest confusion I had was thinking about where my files would go in iOS. The ~/Desktop on macOS would just be the Files app's local app container. ~/Documents would be the set of ALL app containers on the device. (Side note: this is actually how the iCloud Drive folder works.) /Applications isn't a folder at all in this case, obviously. ~/Music, ~/Photos, ~/Videos, and so on are just the app containers for those apps. Because there's only one user account on iOS there's no /Users folder (or ~/Applications folder, for that matter). Likewise, there's no need for UNIX chmod permissions or the ~/Public folder anymore because of the single-user model. ~/Library, /Library, and /System/Library are basically all merged into a new "System" app container, if such a thing were to exist. This model, however, doesn't account for any loose files in the home directory or system directories, though they might hypothetically be merged into the Files or System app container.

The System app should basically be responsible for the app launcher, dock, gesture navigation, notification center, and the lock screen. These are actually all things that the Dock app on macOS handles with NotificationCenter. The macOS login window is also basically the lock screen as well. The System app should also offer extension points (how about letting third-party apps define extension points?) for the control center actions, notifications, today widgets, and lock screen quick-launch (instead of just the Camera). Spotlight and Siri should be merged as a system feature into System instead of standalone apps. While I mention this, why are Mission Control, Dashboard, Launchpad, Siri and other system features their own "apps" on macOS? They shouldn't be (and Dashboard is long dead anyway).

Instead of multitasking showing all recent apps, it work like Mission Control on macOS - if enabled and supported by the device. Currently on iPads, Split View app pairs are remembered in the multitasking view, and if you open an app that was placed in Split View, iOS will bring you to the Split View instead of re-opening the app on its own. This effectively is the same idea as Spaces on macOS, which further remembers and separates multiple windows from a single app.

macOS is already much closer to the iOS model than I had previously thought: I've always ran defaults write CreateDesktop -bool NO to disable Desktop icons as soon as I've set up a new Mac. Using the five-finger pinch, I'd be able to see all my apps in Launchpad (though I stick to using Spotlight with CMD-Space instead). If you've enabled iCloud Drive, nearly every app that supports it will open with a document picker as well... I could full-screen every app I use on a Mac and completely avoid using Finder if I really wanted to replicate iOS. One incongruency in Launchpad is actually that it doesn't hide apps that you've already pinned to the Dock because the Dock also serves as a "recent apps" view, and you can't add the virtual (as opposed to actually putting apps in sub-folders) Launchpad folders to the Dock.

And now for an unpopular opinion: the Touch Bar's Control Strip is the macOS replacement for the Control Center on iOS. It serves exactly every same purpose, but does lack the action buttons to create a new note or voice memo, shortcuts for timers/alarms/stopwatch, and HomeKit toggles. However, macOS basically just got the half-baked Voice Memo and Home apps, and still lacks a Clock app so I think just the Notes action would be nice for now... The Touch Bar on macOS however lacks discoverability: just like the trackpad, it needs force touch to mimic physical keys. When you "touch" or "scan" your fingers across, you should feel the haptics of keys, dials, or sliders - but only when you deep press, should you "activate" the button or control, mimicking a physical keyboard press. Also, why doesn't every single Mac come with it? By fragmenting features like 3D Touch or the Touch Bar to just a few devices, only a few good developers support those features, and most people dismiss it as a gimmick because it's not fleshed out or integrated into every single app.

The Files app is also missing Quick Look extensions, system-wide Spotlight, filtered-and-sorted search, smart folders (which rely on the two before), customized folder views with background images, aliases, jumping to a location by tying it like "Go To Folder", a built-in Archive Utility for folder compression, and support for DMGs, external drives, or remote servers. When selecting multiple files, the app no longer offers you a tap-and-hold menu which is very inconsistent design, but further doesn't support multi-rename, multi-copy, or multi-quick-look (but multi-get-info on macOS is a terrifying experience if you've accidentally done that for 1000+ files so maybe this is a good exception). The most heinous crime is actually that "Open With" isn't possible, thanks to the lack of File and URL associations; this way you'd be able to go from file TO app instead of vice versa, like with macOS. It's very clear that on iOS, the Files app is a majority of the bottleneck in the experience of interoperability.

Folder Actions however could instead be integrated into Shortcuts or Automator (one of which should be renamed to match the other...). Also, Apple should commit to either dropping AppleScript/Apple Events on macOS and implementing Intents-based automation as with iOS, OR bring AppleScript support to iOS apps. Chances are the former is more likely, which means I'd like to see AppleScript or JSX transition to become a textual language for Shortcuts workflows. Also, global keyboard shortcuts aren't even supported on iOS - I can't quickly switch to an app or invoke some action when I'm within a different app.

In apps like Notes, I'd like to see the addition of physical files that I could move around to represent the notes being taken in the app. One might claim the Notes app then couldn't keep track of all its generated notes and that might confuse the user... but that's the indexing job of Spotlight at the end of the day. Speaking of Notes, I'd like to see on both iOS and macOS, the integration of TextEdit for basic RTF editing and the features of the Stickies app. Notes on macOS already supports floating notes, it just has a massive title bar and can't shrink to a smaller size. Furthermore, why can't they just add a Today Widget on macOS?

There's a long list of apps I think iOS needs from macOS: Activity Monitor, Terminal, Console, Disk Utility, Dictionary, Image Capture built-into Camera, Grapher and Calculator merged, and Keychain, Audio/MIDI Setup, Font Book and ColorSync in Settings. macOS however definitely needs a Clock app. There's also some hidden core apps on macOS like Directory Utility, Network Utility, RAID Utility, System Image Utility, Wireless Diagnostics, Certificate Assistant Screen Sharing, Storage Management, and some others probably not mentioned that could be useful on iOS someday, even if only managing a macOS network remotely.

At the end of the day, I can have 5 to 10 different documents from 3 or 4 apps on say, 4 spaces, between two displays. iOS just doesn't support that. If it added support for multiple windows and opening different apps on the external display when attached, I could then see this becoming much much closer to reality, but I'm doubtful. A user shouldn't be forced into picking sides, especially when both iOS and macOS have pretty much all the same capabilities. iOS apps and Mac apps aren't even all that different most of the time and what framework or language is used to make an app is probably the least of anyone's concern if the app does what it's supposed to do well enough for most users.

The convergence of iOS and macOS features isn't a limitation but a blessing to users who can now pick and choose to build their own unique workflows. Not everyone uses full screen apps, not everyone likes using tabs for web pages, and that's fine. The goal should be to empower users with choice, not make their decisions for them and tell them to look elsewhere, if they can't fit in.