Monday, October 15, 2018

Spaces, Apple’s Mostly Ignored macOS Productivity Feature

William Gallagher:

If you use Spaces on your Mac then you probably love this feature so much that you can’t imagine not having it. More likely, though, you’ve vaguely heard of it and not looked to see whether it could be of use to you.

Even Apple seems to have forgotten this feature as it received no updates at all for macOS Mojave —at least no visible ones —and unfortunately it has call to be updated. Right now certain elements feel oddly unfinished and others are downright confusing.

Spaces has been around since macOS 10.5, but it still feels unfinished. It never got full API support in Cocoa, so applications can’t really control which spaces their windows appear on, and neither can scripts. The system decides where new windows will appear, and you have to live with it.

The more complex a Spaces workflow you decide to use, the greater the chance that the system will mess it up, so it’s best to keep things simple. In general, Spaces is better at grouping windows by application rather than by task, which is unfortunate because it’s so natural to want to put separate tasks in separate spaces.

A simple case where this falls down is with state restoration. I often have Safari windows spread across multiple spaces: windows related to customer support in the first space, windows related to development in the second space, and windows related to blogging in the third space. If I quit and relaunch Safari, it restores the windows but combines them all into the current space. As far as I can tell, this is not a Safari bug; it’s just the way macOS’s window restoration feature works. And because there’s no Space API, it’s not possible for third-party apps like BBEdit—which has always had fantastic state restoration in other respects—to do it properly themselves.

24 Comments RSS · Twitter

Not to mention how half-baked and mostly forgotten Split View has been since its introduction three years ago.

Let's be honest. OSX (nee macOS) has a slew of interesting features largely neglected or forgotten. They become disused but that's often simply because Apple forgot them not that they were bad ideas. It's a side effect of how Apple frequently doesn't have teams dedicated to certain features or apps but moved people around so much. So we could mention Spaces but also Dashboard or even the Dock itself. In many ways much of OSX has been neglected -- although don't get me wrong I appreciate the work on long standing bugs.

It's weird; Finder seems to be one of the only apps that restores its windows to the spaces on which you place them. I don't know if Finder is accessing an undocumented API or what, but it seems to be technically feasible for apps to restore windows to spaces across launches.

Settings – General – Don’t close windows when quitting an app
actually does wonders for state restoration of windows with spaces and for spaces-based workflows in general

@Max I’ve long have it set not to close windows when quitting, and I’m seeing these problems, anyway.

Clark: “They become disused but that's often simply because Apple forgot them not that they were bad ideas.”

I think it’s simpler than that: a lot of features which seemed like a good idea at the time simply failed to find a significant audience. The trouble is, it’s a lot easier to add new features than it is to take them out again, so they end up sticking around gunking up the place, adding to its cost without adding to its value.

As to Spaces in particular, Spaces is purposeless because macOS itself is app-oriented, not role-oriented, and Apple lacks the wits and/or stones to change their platform’s braindead app-centric model to one that would make multiple desktops actually useful to all.

A multi-desktop environment of use to *all* users would bind each Space to a specific usage role: one space for general day-to-day usage, another high-security space for online banking, another strictly sandboxed space for browsing around BigAndBouncy-dot-com; and so on, with each environment having its own security rights and restrictions, and isolated from the others.

The Safari process you'd run in your high-security “Fort Knox” role would be a totally different beast to the Safaris you’d run in others: different bookmarks, different plug-ins, and so on. The environment would allow only what is required for that role and nothing more; it wouldn’t even launch apps or open webpages outside of its whitelist. Even the desktop background would be non-user customizable—and non-spoofable too.

The “Las Vegas” environment might be a 100% sandboxed temporary VM that is created and deleted before and after each session; what happens there stays there.

The general-purpose “hometown” environment might impose a degree of protection on, say, accessing personal data without being overly onerous, and even if it was compromised your most sensitive financials would remain protected because they don’t even exist in that world.

Think about what Apple’s (laudably) trying to achieve in 10.14 with its enhancements to SIP, particularly wrt IPC and personal-data API access. It would be so much simpler and so much more user-friendly and useful if it didn’t start by trying to make one set of rules fit across all possible user tasks. They might have avoided a lot of future pain and problems for everyone had they started by defining workspaces as visual representations of different levels of security available to users; instead of something as cheap and vacuous as screen real estate which is much more simply and robustly solved by the addition of more and larger monitors. Of course, to go back and change things now… well, you do the math.

"Failed to find an audience" is easy to say when the features aren't developed. *Maybe* you'd have a point with Dashboard but I bet that had an indie developer maintained it that it'd still be selling reasonably well. Maybe not huge, but enough to be worth it. Maybe that's not enough for Apple but that gets at the problem of "find an audience" being rather vague. One can point to Apple Events too. A very useful feature given pretty crappy treatment after Apple pivoted away from print automation at the beginning of the millennium. But for the people who need it it's very useful. Enough users complained when it was left out of the new iWork that Apple added it back in.

But I think there are lots of things that feel half done in OSX. Tags and search in the Finder feel like it's an other iteration away from being useful yet have been neglected for years. Some metadata editing was put back into iBooks but nowhere near enough making large libraries difficult. We finally got voice memos that work better than the old Quicktime app. iTunes is of course a mess but is likely to be replaced soon.

To complaints about Spaces, I think part of the issue was that Apple tried to repurpose Spaces to make laptops more useful. It's a fundamentally different mindset for them from how one thinks of them on a 27" laptop. It became a way to repurpose apps into being more like iOS apps. I get what you want Apple to do with Spaces, but honestly I think that's just too complex for the typical user.

> Failed to find an audience

Not sure if this is even true. There's definitely an audience for Spaces. I don't know how big it is; anecdotally, all of my developer friends who use Macs use spaces, and none of my non-dev friends who use Macs do. This probably means the audience isn't that big, but it's there, and they use Spaces consistently, and might not be able to use Macs without such a feature.

>*Maybe* you'd have a point with Dashboard but I bet that had an indie developer maintained it that it'd still be selling reasonably well.

It's funny (actually, not funny at all) that Apple sherlocked Konfabulator, only to then let its own product die a slow death. That didn't help anyone.

Regarding space persistence across launches, what I see is that it does not work when quitting and reopening the app, but it works when restarting the computer. At least for Safari. But not for TextMate. Not sure about other apps, because these are the 2 main apps for which I have lots of windows on multiple spaces, and that I care about.

I wish they restored how Spaces/Expose worked in Snow Leopard. I don't use mission control at all as it is too confusing to know what Window is in which Desktop Space when you perform "App Exposé"

That + let us configure "Show Desktop" gesture.. Even after 3 years I can not perform "Spread with thumb and three fingers" reliably. Resorted to hot corner for "Show Desktop" feature.

@Clark That is a good point about Spaces now being a mix of two different and conflicting ideas.

@Lukas Yes, just like with the actual Sherlock…

@charles Yes, it usually works across restarts for me as well.

@Mndgs I also preferred the old Exposé and the 2D grid of spaces.

@has
> A multi-desktop environment of use to *all* users would bind each Space to a specific usage role: one space for general day-to-day usage, another high-security space for online banking, another strictly sandboxed space for browsing around BigAndBouncy-dot-com; and so on, with each environment having its own security rights and restrictions, and isolated from the others.

If you really want this sort of role separation, why not just use multiple user accounts? The differentiation you describe is so extreme that I'm not sure what you gain by having them all within the same login.

Clark: "Failed to find an audience" is easy to say when the features aren't developed. *Maybe* you'd have a point with Dashboard but I bet that had an indie developer maintained it that it'd still be selling reasonably well. Maybe not huge, but enough to be worth it.

Apple doesn't get out of bed for less than 10 million customers, and rightly so. Relatively niche products like DashboardKonfabulator are better left to indies, who can happily make a living selling them to 10K audiences. What's annoying is that once they're clearly proved a mass-market dud, Apple don't just rip them out again. That kills both markets. Hell, I've been Sherlocked myself; at least I could acknowlege when it was time to pull the plug. Apple's rigor in its software strategy has always lagged its hardware strategy, alas.

Doodpants: "If you really want this sort of role separation, why not just use multiple user accounts? The differentiation you describe is so extreme that I'm not sure what you gain by having them all within the same login."

Because that's not how actual real-world users mentally model their world. They have their familiar home. They have their special tasks. Moving from one to another is a natural transition, not a backing-out-and-starting-all-over. You're thinking like a geek. Stop it. Hell, I'm sufficiently techie to pass as a nerd, and I don't work the way you describe. The difference is: at least the current setup creeps me the fark out.

Being able to promote/demote an individual task is something that users will arrive at through experience and practice, not through nerdish pre-planning. The ability to *evolve* your existing environment is what empowers you, not being punished for failing to plan sufficiently ahead before you've even begun to learn what you need. That's the pathological nerd mindset talking. Hate 'em, don't be 'em. Tech is not what matters; people are what matters. Start with them, or GTFO.

Lukas:

>> Failed to find an audience

> Not sure if this is even true. There's definitely an audience for Spaces. I don't know how big it is; anecdotally, all of my developer friends who use Macs use spaces, and none of my non-dev friends who use Macs do. This probably means the audience isn't that big, but it's there, and they use Spaces consistently, and might not be able to use Macs without such a feature.

Spaces as it exists… yeah, I think I've addressed that. It serves the subset of nerds who are too tight to buy a second monitor, or too OCD to stand their mashed potatoes and meatloaf touching. Guess what, they aren't even a rounding error on the rounding error that is macOS, which Apple only keep around as the feed pump for their iOS App Store anyway. Frankly it's an excellent argument for stripping back the macOS desktop environment to the absolute bare bones necessary, and leaving the APIs to extend and customize it open to those who actually need it. Niche markets need niche vendors. Apple is magnitudes too large to be able to service them, and trying to do so just screws everyone.

>>*Maybe* you'd have a point with Dashboard but I bet that had an indie developer maintained it that it'd still be selling reasonably well.

> It's funny (actually, not funny at all) that Apple sherlocked Konfabulator, only to then let its own product die a slow death. That didn't help anyone.

Yep, covered that one again. (Ask me about Mac Automation sometime.) It's bugger all fun trying to waltz delightfully in the same room as the eight-billion-ton gorilla. The first step toward wisdom is realizing that when they squash you, it's not because you have something special they want; it's because they don't even know (or care) you are there.

@Mndgs

"How do you get to Carnegie Hall?"

"Practice, practice, practice."

Good link. Though I don't think it illustrates what OP thinks it does. Had the initial release been a mass-market success, it's unlikely they'd have feel the need to 'fix' it to begin with. Alas, ad-hoc tinkering in search of the answer more commonly just digs the initial hole deeper, until nobody is happy at all. At which point it's shamefacedly abandoned altogether—neither living nor dead; the worst result of all.

A shipping production OS is the absolute last place to be figuring out from first principles what works for the vast majority of users and what does not. Hubris and inertia; the unhappiest bedfellows of "just good enough" products already on the market. Whatever happened to Blue-Sky R&D? (No need to answer that.)

> It serves the subset of nerds who are too tight to buy a second monitor,

Who carries around a second monitor with their MacBook Pro?

> Guess what, they aren't even a rounding error on the rounding error that is macOS

That seems unlikely, particularly since they tend to buy higher-margin Macs. Also, Macs make up ~10% of Apple's revenue. Not great, but far from a rounding error. But yeah, Apple should just remove Spaces from macOS, and allow third-party devs to fill the hole.

"Apple should just remove Spaces from macOS, and allow third-party devs to fill the hole."

Problem is that software that modifies significantly the system or its function seems to be getting squeezed. In some cases Apple will provide hooks like it did between Dropbox and the Finder. In others it doesn't and these days installing such system hacks is hard. Look at how hard it is to install things like TotalFinder. While third party developers years ago could have made a go doing their own Spaces or Dashboard these days it's hard to get users to turn off SIP to install an utility. It's amazing that utilities like Keyboard Maestro work without tweaking SIP.

Has, the one advantage to Apple's Dashboard is how Safari lets you specify a region of a webpage to roll your own Dashboard. That's difficult to imagine a developer doing although possible. But in general, yes, I agree. I think getting rid of a feature and making it possible for an indie developer to take over would make a ton of sense. I like Apple leaving APIs to do things so that developers don't need to disable SIP and hack the system. Hopefully they do more of that.

The one place I'd potentially push back is the whole pro vs. causal users distinction. I think that pros have different needs and while they make up a minority it behooves Apple to placate them far more than they have been. (Where neglect is probably an understatement) In the past I think Apple had the balance better. It's odd since the most causal users really would be better off going to an iPad these days anyway. You'd think macOS would be the system for users who need to do more and want more features even if it requires more complexity. Yet most of what's happened with OSX/macOS since Lion is bringing features from iOS over. There have been precious few features I'd call power user features.

Michael, yeah I was a much bigger fan of Expose than the current system too.

We tried Spaces as a third-party-opportunity before, and it’s just not possible for a feature like that to work reliably and smoothly across apps without system-level support.

Yeah, the "allow third-party tools to fill the hole" part assumed that Apple would provide the necessary APIs.

@michael, I'm researching third party access for Virtual Desktop but have not dug deep. What are some resources you'd recommend? I gathered from this discussion that macOS has poor system level support (none); what about Windows Task View?

It is 2021 and I found this post when I was looking for a third party app that will give me a decent task-based space experience. I am so fed-up by this 1 trillion $ company's not finding a few good developers for each feature. What is that difficult? My love for Mac has been turning to a big hate every time I try to find another adaptor, every time I try to hookup an external monitor and every time I am desperately looking for a lost window in spaces.

Leave a Comment