I'm Aza Raskin @azaaza. I make shiny things. I simplify.

I am the cofounder of Massive Health.

 

Redesigning OSX Spaces: 45˚ Is All It Takes

This is a guest blog post written by reader Luka Vida, a front-end guy and computer science student at University of Zagreb in Croatia. If you’d like to do a guest blog post, send me an email.

Almost all Mac users have used, at least once, Apple’s solutions to windowing woes: Exposé quickly rearranges all open windows in an ad-hoc grid for quick perusal, and Spaces enables separate virtual desktop which lets you divide your workspace into sensible areas. It’s the second feature I want to discuss. Switching between each Space is quick and easy, but with a simple redesign tweak it could be greatly improved.

Current Condition

The default setup for Spaces provided by Apple is four spaces placed in two rows and two columns. Switching between spaces imitates physical world movements, so the user moves by pressing control plus the arrow key in the desired direction. This grid setup, while seemingly innocuous, is at the heart of a number of usability issues.

Movement

The first problem is the arbitrary distinction between solid and fluid boundaries. User can always go right and left (illustrated by the green and blue arrows), but can’t always go up and down (shown by the red arrows). That is, the topology of Spaces is that the left and right edges connect, but the top and bottom edges do not. Stranger, perhaps, is exactly how the left-right boundary conditions are treated. The mental model is as if you took a horizontal strip and rearranged them in a grid. Moving right from the top-right space moves you to the bottom-left space. In essence, it’s a topological spiral which results in a strange breakage of symmetry. While I can see the argument for why this makes sense, in the heat of the moment, it’s just confusing.

The true problem that comes from all of this is a lack of habituation. I have to know which space I am in order to figure out how to get to the space to which I want to go. Even if I know my email is in the lower-left space, without knowing which space I am in, I’m not sure which direction I need to move. That breaks my train of thought by making me think about the system-state and not what I’m doing.

The Solution

Before you get in a tizzy over whether Apple could ever make a design mistake, here is a simple solution that solves all of these problems. Just rotate the layout of the spaces by 45°.

Here’s why it is better:

  • No matter which space I am in, the keyboard shortcut to move to any other space is always the same. To move to the top-most space, I can always use the up arrow command. The same is true for the other three directions. If my mail is in the left-most space, no matter where I am, I can use left to get there. Unlike Spaces as it stands now, with this tweak the interface becomes habituatable.
  • There is no strange wrap-around behavior. It’s a much simpler mental model.

That’s about it. A change in orientation seems to solve all of the problems.

Aza’s Note: An open question with Luka’s solution is how to extend it to more than four spaces. If you’ve got a solution, put it in the comments.

RT @azaaza Redesigning OSX Spaces: 45˚ Is All It Takes | Follow @azaaza on Twitter | All blog posts

View all 111 comments


I would have to say I agree with this 100%. I think from a muscle memory standpoint even with a larger grid, this approach would work better.


My idea for extending 45° Spaces beyond 4 windows is to just stack the windows out in each direction. So you would end up with Top-Top, Left-Left, Right-Right, and Bottom-Bottom. To switch to Bottom-Bottom, you would have to go through Bottom. This requires 2 keyboard commands. However, this preserves the mental model.

Since the largest impediment to using Spaces effectively is that the windows keep changing relative orientation, extending 45° Spaces in each direction preserves relative orientation, at the expense of a second keyboard command. And keyboard shortcuts are a whole lot quicker to hit twice than to try and navigate to Spaces screen #8 through the relative motion that exists today.


    Your idea for extending is one of the first I thought of, but things are maybe too complicated for regular users because you get some sort of third dimension. Having four sets of screens in which you have multiple spaces gets you that third dimension which is too complicated for majority of users. Nevertheless this solution is good for pro users and could be set up using some extension.



    Matt

    I like this, with the proviso that each axis could extend separately – ie, I’ve got a “top” space and a “bottom” space, and then “left”, “left-left”, “left-left-left”, and “right”, “right-right” and “right-right-right”. In other words, the most-used spaces have direct single-key shortcuts, without expanding the dimensions beyond people’s standard visualisation capability.



John Pratt

Excellently simple idea! cheers! :)


Elegant and smart solution. Apple should use it :)
As for extending it to more, I think the answer is obvious, fill in the other 4 spots around the centre – a la the number keypad on the keyboard. You can then use either the keypad keys which map directly to the spaces, or alternatively you can use the arrow keys with a consecutive presses (let’s say down or down->left in quick succession.


    The number keypad idea is better because of stronger connection between physical layout and virtual layout, but most of the Macs don’t have num keypad. If you have number keypad you can set this workspace right now, but you get extra space in the centre. What you don’t have are arrow keys and magic mouse (trackpad) navigation.



Scott

If you have 8 spaces, you could put one more space at each side – so using the up arrow command twice will take you to the outer top space, while going using it once will take you to the inner top space. The same would be true for left, right, and down.

However, this obviously can cause a problem if you have more than 8 spaces – you would need to remember twice as much information as you do with 4. Obviously the more spaces you add, the harder the solution becomes.

Now, a solution that may work better for more space, using the up arrow command twice would take you to the top space of another set of spaces. Using the down arrow command would take you to the bottom space, of this new set. Using it again would take you to the bottom space of the original set.



    Scott

    And it looks like someone beat me to the punch on my first idea, but nobody proposed my second. Also, it should be “Now, a solution that may work better for more spaces”.


Even if we can’t come up with an extensible method for more than four Spaces, I still like this suggestion as new Spaces Preference for those happy with the standard four-pane configuration, Luka.

In anecdotal support of your approach, I’ve noticed that even though I have the Spaces icon displayed in the Menu Bar, and visual confirmation of the current Space I’m in is always right in front of me; the saccade labor to reference that data is more than I’m generally willing to exert; or as you mentioned, I simply haven’t habituated to that behavior. Surely I could practice that method, but instead, I use the shortcut keys and just guess.



gogloid

You have two different approaches – you can move either relatively to your current spaces (e.g. to the one on the right) or you can move absolutely (e.g. to the topmost space).
You can choose one approach (as you basically did in the article), but if you want combination, you can use the solution from Linux (xfce4 desktop environment exactly) – to number them.
I have only four spaces and they are mapped to Ctrl+F1 to Ctrl+F4. I could obviously use up to twelve spaces with this mapping. (And you can also only move left or right).


    Your solution is perfectly good for semi-pro users, but the problem with keyboard shortcuts is fact that regular users don’t use it.
    My idea for this solution came while using Magic Mouse which has configurable two or three finger swipes. I set three finger swipes for changing spaces and speed of moving around is fantastic. The problem was that flying around on big screen while searching for the right window was somewhat annoying. I needed more convenient solution, the one which gives me minimum flying and the mouse control.



Anonymous

The problem: you have four square spaces to display on a square monitor. Putting them at 45 degrees wastes a lot of space.


If you wanted to expand to 8 just use the 8 directions on the numeric pad. Really, does anyone need more than 8?



    bq

    I use 9 in a 3×3 grid. Central is for general purposes, while others are asociated with special activity, i.e. browsing, IM, etc. I have wrap-around turned off, so it’s very easy to move to corners. Therefor I prefer most used activities there.


      I also use the numeric keypad as a spatial metaphor for the underlying array of viewport grid. Note that it can be extended to 16-18 if you map all the arithmetic operator and other keys of the keypad to viewports, though you then lose some of the visual mapping.


I don’t care much about the arrangement of spaces. For me it’s always “virtual desktop”: I don’t care how they are laid out – they just have to be there and the switching between them has to be unobtrusive.

I’d be much happier if there was a way to turn off the animation when switching between spaces (it can get quite annoying if you switch a lot) and if Apple fixed some other quirks (like unpredictable automatic switching to another space when quitting an application).



    fredrikhl

    It is: « defaults write com.apple.dock workspaces-swoosh-animation-off -bool YES » in a Terminal, combined with a restart of the Dock should turn off animation. I’ve allways used spaces like that. I haven’t tried this for Lion, though.


Love it.

The key to any more-than-4 spaces solution may be to (partially?) lose the concept of a current location, and (nearly?) always make the switching relative to some fixed, central location. i.e. Aza, in your solution, pressing ctrl-down always takes you to the bottom screen, so in some conceptual sense, you are always just above the bottom screen – i.e. in the middle.

For Samuel Clay’s stacking out from the middle solution, I would therefore propose that two presses of ctrl-down should always take you to the very bottom screen EVEN IF you were starting from viewing the very top screen (i.e. 3 steps away).

There would have to be some emperically found time delay between conceptually, temporiarilly being in the loctaion corresponding to your screen and reverting to the conceptual middle.

The advantage being that the muscle memory of two ctrl-downs always takes you to the same screen.



    Scott

    Exactly, I do think he meant that – and in my solution, that’s what I’m proposing as well. No matter where you are, the same command always takes you to the same place.


    p.s. credit where it’s due: when I referred to Aza’s solution, I meant Luka’s, that Aza brought to our attention.



Calum

Seems like an inelegant, non-extensible solution to a non-problem, to me. If you’re the sort of person who needs to navigate directly to a particular space using the keyboard, just turn on the keyboard shortcuts that assign your choice of modifier+number to each one. Otherwise, if you really can’t remember where you are in your grid of spaces – which is rare, because people who use them at all tend to arrange them in a fairly organised way – Exposé works just fine.



    Alan D.

    I agree with Calum. Consider me old-school, but I think the current model works just fine. I started with the default 4 spaces, expanded to 6, and now 8. I have certain types of applications assigned to each workspace / virtual desktop, i.e. e-mail, web browser, iTunes, etc. Keyboard shortcuts are easy to remember and provide direct/instant access to whatever space I need, regardless of the conceptual layout of the overall “space map”.


    Actually, Exposé didn’t work for me, even though I organized my space pretty well. As I mentioned in the comment above, the problem I met was changing spaces using magic mouse, case which could be the simplest solution for most of mac newbies (like me:)
    The advantage of this solution was confirmed by Mac OSX Lion design which puts functionalities to the four sides of desktop (in Mission Control if I’m right)



Glen

To extend it to more than four spaces, you might allow additions in outward-extending lines. So, if the “space” you wanted was the 3rd to the left, you use 3 taps of the left arrow key.

Conceptually, the “starting point” would always be the center. You would never need to know where you currently are because switching would always start in the center and move in the direction of the arrow you are using. You could just keep a mental image of the layout and go to the one you want.


One benefit of Apple’s current implementation is that I can just hold Ctrl and then tap right to cycle through all of the spaces whereas your suggestion doesn’t seem to allow for that. I actually use this frequently to skim over the active tasks in the other spaces so this would be a bit of a downside for me


Two things:

1) every other virtual desktop system I’ve used supports unique background images per desktop, an easy, memorable navigational clue.

2) likewise, other virtual desktops have a “live” dock-type icon that graphically and simply shows you *which* desktop you’re on at a given moment (and allows a 1-click jump to anywhere).

Both of these work independently of the number of desktops. And FWIW, while I’ve experimented with this a lot, I’ve pretty much always settled on either 6 or 9 desktops: 2 or 3 rows of 3, or a vertical 1×6 layout.



Dmitry Gutov

You could extend the hierarchy 1 or 2 levels more.
To get up to 16 workspaces, divide them in groups of 4 and position the groups the same way. The first key combination invocation selects the group, the second one selects the workspace.
I don’t know the Mac combinations, so suppose it’s C+M+. To start workspace navigation, hold C+M, then input the path with arrow keys. To cancel, release all keys.


The proposed solution seems to be functionally equivalent to the option already provided in Spaces (modifier + space number). The existing option scales a bit better as well.

My solution for better control leverages Active Screen Corners in the Expose preferences. I have one corner set to Spaces and one corner set to Expose All Windows. A quick mouse swipe + click (or swipe + swipe + click for a specific window in any space) is all I need to get where I want to go. With a high speed/precision mouse it is faster/less awkward than using keyboard shortcuts in my experience.


    Using the Magic Mouse three finger swipes to move between spaces is even faster and requires less movement (especially on 27” screens). Your solution is ok, but requires looking at all open windows which takes some time.


The problem, as I see it, with the original implementation is that Apple seems to have started with a linear strip (thus the left-right wrapping), snipped and stacked it to create a grid (fits on the screen better), and then solved the “But 1 is above 3!” complaint.

How about this: keep the grid (fits Exposé, still allows m*n arrangements), make left-right navigation wrap to the same line and allow up-down navigation to wrap, then make the current space always be the central space in Exposé and slide the whole grid when navigating to a new space. The spaces in the row furthest from the current space could appear at both the top and bottom with a fade-out applied showing the same space is available by hitting either up or down.

The question then would be: Do the arrows move the selection relative to the spaces grid (i.e. right selects the space to the right) or do they move the grid relative to the selection window (i.e. right slides the spaces right, selecting the space to the left)?


    Very good idea.
    I’m not sure which is the right answer to your question. Second option (right actions moves everything right, selecting left space) seems more natural to me(Minority Report:), but as the scroll on Macs and PCs might show, the direction is sometimes opposite. I prefer tablet-like and iPhone like navigation in which you move screens just like physical objects, so my personal preference would be second.


On a computer with a number pad, you could use the numbers to switch desktops. This would give 8 desktops, with 5 perhaps showing an expose view of all desktops.

On a computer with a trackpad, you could use a swipe in a particular direction – this is only limited by the number of degrees you want between directions. Again, I’d suggest 8 is a sensible limit.

All of these options have the disadvantage that there are n buttons for quickly scrolling through the desktops until you find the one you need. Lets says I’m on desktop 1 and I want a window that’s on desktop 4.

Current process is:
* Find right arrow
* Press
* Press
* Press

With your proposal (assuming 1 at top, going clockwise) it’s:
* Find right arrow
* Press
* Find down arrow
* Press
* Find left arrow
* Press


    Your last assumption is incorrect. Luka proposes that the user is always conceptually located in the centre of all the spaces, so to get from any space to, say, the 4th space (using your clockwise model with 1 at the top), the user would always press Control+Left.


      Sorry, what I meant was “You want a window on desktop 4, but you don’t know what desktop it is on”



tlama

Your solution seems to work the same as referring to the individual Spaces by their numbers. Instead of pressing Cmd-Arrow, press Cmd-Number. And it works for up to nine Spaces.



Vebyast

I have a pretty simple solution that I’ve used for a while, though it’s a hair slower. Instead of worrying about a vertical column of n spaces. Modifier-up and modifier-down keys move you up and down the column, while modifier-left takes you to the top of the stack and modifier-right takes you to the bottom. Getting to space 1 is modifier-left, space 2 is modifier-left-down, space 3 is modifier-left-down-down, space n is modifier-right-up, space n-1 is modifier-right-up-up, and so on. Once you have the muscle memory, you can get to the six or eight outermost spaces in under half a second.


You could always extend to 8 spaces by allowing a double-press of a direction to take you to the “deeper” space. On any given workspace, you’re only one press away from 4 other workspaces (the first in the other 3 directions, and the alternate space in your current direction), and two presses from the remaining 3 spaces.


    Speaking of UI: I posted this because I didn’t actually notice that all comments were collapsed be default. :)



Alan

This is great!

For me, just extending to multiple screens in each direction makes sense – even though it would eliminate the one key press to each screen, it still allows a mental model that I could work with and remember… is this horizontal or vertical – and where is it in relation with the other screens.



Ankur Jalota

This design *seems* to be using spatial mapping, but the problem is that the starting point is always in the center. You may as well use number keys.

The original Apple grid has stronger spatial mapping – perhaps all that is needed is to restrict wrapping when reaching left\right boundaries.



Jay

Alt+Number (1, 2, 3, 4, …) gets you to your desired space in one shortcut, and to the same space no matter where you are.

You’re welcome.


I keep my Spaces arranged in a horizontal line of four. Then I just switch right until I arrive at the Space where my window is.



Jason

What happens when you have more than 4 spaces? I work with 6 spaces at home and I can switch to any space using the same command… CTRL+(0-6). The solution you provide to Apple’s *mistake* falls apart unless you use <= 4 spaces.

My Solution: try using the number keys to switch spaces. (Note: my solution falls apart after you have more than 10 spaces).


This is cute, but not necessary. This is a geometric way of saying that you want to name your 4 spaces by 4 shortcuts. So instead of having Cmd-1, .., Cmd-4 you want to use Cmd+ the four arrow keys to directly address 4 different spaces. You can do this in Spaces as it is by remapping the keys.


Real Spaces users don’t use the arrow keys, they use the numbering scheme. CMD-1, CMD-2, CMD-3… who cares where they are.


So, the note at the end here addresses the key reason why it’s not done that way. Spaces is intended to be expanded as necessary beyond the initial four. I have nine spaces, and I know some people with sixteen or even twenty five spaces. Ideally, I’d like to be able to even add and remove spaces in the zoomed out grid view, but at the moment that’s not possible. Spaces is really a power-user feature, I’m not sure it’s even turned on by default on most Macs (pretty sure it isn’t).

Your solution is good if you’re going to stick to four spaces, but it falls apart beyond that. It actually mirrors the solution to hit numbered key commands to get to distinct spaces, as you’ve now locked the arrow keys to distinct spaces. On an external keyboard, use the number pad and you’ve got nine spaces available in an easy(ish) shortcut, maintaining the key-specificity and avoiding the wrap as in your solution.

The interaction in your solution is also much more difficult to visualize. Your drawing of your solution is an abstraction, but try to imagine it in practice. If you’re in the leftmost space, where are the other spaces around you? What happens when you switch to the rightmost space? Then to the top? Rather than having spaces with static positions in the grid, you’ve created a dynamic grid where the unseen spaces are moving around the outside of your current space every time you switch. And then what happens when you move into the zoomed out grid view to move windows between spaces?

This was an interesting article because it made me think about some possible flaws of Spaces I hadn’t encountered before, but your solution is far from perfect, and certainly wouldn’t accommodate Spaces’ current functionality as a power-user tool.



Matt

Not sure if this was mentioned but you can extend this idea to 8 spaces pretty easily.

It would be something like:

[1][2][3]
[4][5][6]
[7][8][9]

Where the middle is your default main desktop area. You can then use the numpad to go to either of those spaces or use arrows. So just like you mention to get to space 1 you could go up 1 and left 1. Or left 1 and up 1. This way you could always keep your email lets say in space 1.

Really I don’t think people need more than 4 spaces, let alone 8, so this should be a pretty decent compromise.



Craig Overend

An extension beyond four could be simply involve Control-Arrow, Arrow. eg: Control-Up, Left or Control-Up, Up. I think the difficulty for the user then becomes remembering the spatial context in which they find themselves, in which case a map of distance from home with thumbnails would then be useful. Something as simple as holding down Control could overlay the spatial information needed.



dom

A solution might be to have multiple “big spaces” that contain each 4 spaces. So, cmd-1 go to the first “big space” and you can use the model described here.

I see myself using that by using “big space”-1 for work and “big space”-2 for fun. So, I could have terminals, browsers, ide, doc on “big space”-1 and have emails/msn/etc. on “big space”-2.


Agreed that this is easier to navigate. But one thing Apple advertise in it’s spaces functionality is the ability to drag windows from one space to another. While in the current layout they use the space preview is a little less them 1/4 the actual window size, on you’re proposal the preview and drag and drop actions would waste a lot of screen space and the ratio would drop to less them 1/9 the actual size.
Many people could prefer the large thumbnails as opposed to better shortcut keys and visual memorization. It really is a difficult choice. IMHO this should be user configurable.



Denis Molony

It seems to me that the user actually lives in the middle area, and drags a space into the middle (ie makes it the current space) with an arrow key. Left arrow drags from the right, up arrow drags from below etc.

You could then double the number of spaces by using a double tap on the arrow key. Two left taps brings in the space two slots over on the right. And so on.



Matthew Boatman

Unfortunately this does not solve the problem for users with more than four virtual desktops.



Boris

I use 9 spaces, and I never use the arrow keys to move between them. I just use the “to switch directly to a space” setting with Ctrl+(number key). Back when I was using a full 101-key keyboard on Linux, I bound that to Ctrl plus the corresponding numeric keypad number key, since those were laid out just like my desktops and all.


> If you’ve got a solution, put it in the comments.

Just number the spaces. If you want more than ten, assign letters. If you want more than 36, well, you’re brain has more capacity than mine :-)


    Try to think of a scalable solution which doesn’t scare new users away ;)
    If iPhone had keyboard shortcuts (ok, iPhone doesn’t have keyboard, but some other kind of shortcuts) nobody would use it’s multiple screens so often. If Spaces were attached to trackpad and magic mouse actions by default, more users would use spaces. That’s why OSX Lion now has three finger actions for important parts of OS.


      If you insist on three-finger-swipe as a method for switching virtual desktops (ok, spaces…), then all I can propose is the same 3 fingers swiping to diagonal positions. Or, as a messy alternative – swipe right, then swipe up to go to North-East, for example.
      If scalability is a bigger issue than hardware/software (and I don’t think so), then allowing user to assign desktops to arbitrary symbols drawn on synaptic surface is a great way to solve your problem.

      But I suppose that any user that is “powerful” enough to use more than 4 desktops and care about speed of switching them should seriously consider using oldie-goodie keyboard.

      Problem is not in “How many spaces are there in Spaces” or “how to switch between them”. Problem is in “task switching”, that nowadays is not actually “switching users’ tasks”. It’s only “switching windows”. And every window can be part of one or more groups = tasks, that user actually care about. Switching windows does not get your job done. At all.

      I encourage anyone interested to look into window managers and their paradigms, especially on Un*x – there are many different approaches and solutions, but they are still not ultimate ones. However, tagging and tiling are great advancements in the quest of making WMs automatically do their work of and allowing users to do work they want to do, with less distractions.

      P.S. I <3 that zooming desktop was mentioned below in the comments.


This idea is really analogous to mapping each screen to a directional key. With the idea spread over to the 9 semi-directional 10 key numpad on the keyboard, you could have immediate selection control of up to 8 surrounding screens and a central hub screen. Probably enough for most avid multi screen users. Of course you could just go and get 6 physical LCD screens like my good friend Terry Pratchett ;)


This is exactly what the alternative Android home screen software DxTop does:
http://www.dxtop.com/
(But don’t ask me why they label the section “five screens”.)

I think they’ve done this for at least a year.



Vivek Gani

Thanks for the tip aza! For the lesser class of people using Windows 7, you can actually sorta implement this using virtuawin via custom hotkeys.

1) Setup a 2×2 desktop.

2) This is where we leverage hotkeys. I use ctrl+alt+wasd so this helps.
In the Virtuawin setup menu, setup:
WIN: Move to desktop #1 (top space) – Alt + Ctrl + W
WIN: Move to desktop #2 (right space) – Alt + Ctrl + D
WIN: Move to desktop #3 (bottom space) – Alt + Ctrl + S
WIN: Move to desktop #3 (left space) – Alt + Ctrl + A

I would similarly setup “Move to desktop # AND FOLLOW” as Alt + Ctrl + Shift + appropriately



Giri Senji

Why not position the spaces in circle?

If there are 5, they are at the corners of a pentagon, 6 spaces like a hexagon and so forth, always on a circle. User navigation would be very intuitive, using keyboard up/right arrow keys to go in clockwise direction and down/left arrow keys to go anti.


    So when you’re at the bottom of the circle, you press left to go right?
    (Alternately, you’re talking about a 3-D circle that wraps around behind the scree, which is pretty much what ctrl-left and ctrl-right do in spaces now)
    … or am I missing something?


What is actually happening is remapping the system to bind keys to screens instead of binding keys to screen transition. It just happens that the arrow keys are heavily associated with movement, there’s no reason this system couldn’t be adapted to the symbols a,s,d,w.

The solution to a higher problem space is simply more keys.
If you want 8 screens use the number pad. If you want 26 use the alphabet.



njn

Linux distros like Ubuntu gets this right — don’t let the left/right or the top/bottom edges connect. That way, if I want to get to the bottom-left space, I just do “ctrl-left, ctrl-down”.

The real problem with OS X Spaces, in my opinion, is that you can leave one space, do some stuff, go back to another space, and the ordering of the windows in that space can change. That’s infuriating!


Umm…why do we even need the spatial metaphor?

How about Command+number where number is that space you want to go to. Seems easy enough to me.



Racketeer

So if I understand your model correctly, to move to the top space I will always push the up key. The absolutes apply for every other direction.

You lose the absolutes when you add more than 4 spaces. That being said, maybe you could have a different ‘desk’ where you left some work. This could be modeled with a different cube space or something. so then you would know, “i leave my mail on the right most desk in the bottom space” you would need some hot key to switch ‘desks’ but then you could expand to 4 desks that would be absolutely defined (e.g. my right desk, my up desk, etc.) and each desk having 4 spaces

i agree that apple’s current model is broken. i’d like to try this out as you’ve described it and see if it is any better…


I think Spaces is a terrific enhancement, but it is not to my tastes. All I want is a desktop much larger the screen, with the same interface as Google maps. In Google Maps, of course, you can’t drag New York to Newark, so the interface on the desktop would have to permit some way of positioning folders. It might be a matter of dragging the folder to the edge of the desktop and then having the desktop move “under” the folder appropriately. There are other navigational problems, but I think they would be interesting to solve.

Roger Purves



Jesse Weaver

Just a small comment for those using Compiz on Linux: this can be done quite easily now. Using the Viewport Switcher plugin, you can assign Ctrl-Alt- to “Switch to Viewport 1-4″ under the “Go to specific viewport” tab. Just did this, and already enjoying it.


Aza, I would rather have no restrictions on moving up and down, in a global circle rather than a flat map.



Jonas Bülow

Use a 3×3 grid in spaces and you will get the layout you describe.


Great idea. The next obvious step is to add in the four ordinal directions.


I knew one approach earlier..but this one seems easier to me..thanks a lot…


For more than 4 screens, it would be useful to label a space and use a Quicksilver-like system, for instance CTRL+the-first-letter-of-your-space.

You will no longer think about the virtual position of your spaces but about what you want to do.



Masklinn

OK. Now how does this solution deal with a 3×2, 2×3 or 3×3 grid exactly? Or a 1×3 or 1×4 grid for that matter?

2×2 is the default spaces configuration, but not the only one by a long shot.



pstadler

Excellent post!
For me what works best is a simple 3×1 grid: [1][2][3]

You can reach every space with one command while it feels natural because you don’t have to remember multiple dimensions. Last but not least it’s enough to separate your applications and the workflow logically:

[1] Communication/Organisation/Entertainment: Mail, Messenger, Calendar, iTunes, …
[2] Browser
[3] Production: Editors, Terminal, Photoshop, …



Anthony Briggs

One way to extend it to multiple spaces would be to start ‘counting’ from the center as soon as you hit control and add the extra workspaces to the outside of the existing ones. So to get to the second space on the left, hit control-left-left.

You could probably also extend this to a grid – control-left-up.



Mr_Wartung

The suggested model does not improve anything. The way apple handles it is not optimal either. Every user should be able to select his/her own preferences here (imho).

Either you have a grid with boundaries.
Or you use the approach from apple
Or you use the default torus approach, where up and down rotate through a column and left/right through a row.

What is missing is a possibility to uniquely identify each workspace by a different background graphic or color.

Just my two cents anyway.



Matt

How about laying another set of spaces in 3D space above the original 4? Then to get to the forward set of spaces, hold a modifier to zoom out to that set of spaces. A different key could zoom you through the current space to a third set, etc.

Easy to understand plus opportunity for eye-candy which is a must for Apple



Michael Thorne

Have three layers, like a stack of pancakes. The arrow keys move you on the middle layer, Alt-arrows move you on the bottom layer, while Ctrl-arrows move you on the to top layer.

You could increase the layers with additional combinations; Shift+Alt, Shift+Ctrl, Crtl+Alt and Shift+Crtl+Alt but I think that would end up causing to much cognitive load.


When I look over the comments here (sixty or so) I find many references to doing things by pressing keys. To put it mildly, I do not enjoy things like key combinations, and prefer get my hands off the keyboard to drag, click, etc. I am saddened that so few programmers comprehend what Xerox Parc and Apple brought us.

Let me give a relatively recent exception. You can drag a folder from the Mac desktop to the Terminal window. Lo and
behold, the Terminal window shows you the path name of the file e.g. “/Volumes/Macintosh\HD” No typing! (Moreover, you can start doing things in the Terminal while barely understanding the conventions of the path name.) However the rest of the Terminal interface is glass teletype, as far as I am concerned. Programmers seem to love it.



Tim

I love when people say no one should need more that 4 spaces. I run with 9, I have all my apps assigned to different spaces, some have office/ilife, some have my IDE, some have mail, etc. I know conceptually what is in each space and the ctrl-# sequence works fine.



Sandy

Solve only a minor problem, but is limited to the default 4 spaces configuration and would make drag’n'drop between space a nightmare. Also, if you know exactly that you want to go to the lower left space, why not go directly there with ctrl-3? Or is the 1-2-3-4 grid layout would “break your train of thought”?

Go back to the drawing board for this one!


I use 9 spaces, and set up specific apps to always open in specific spaces. I know Photoshop is always going to open in space 5, the center one, iTunes will always be top and center at space two, and system Preferences will always show up in the lower lefthand corner at space 9. If I’m moving to a neighboring square I often find myself using the arrow keys to navigate, though, if I’m traveling farther, I will use the commnds associated with the numbers attached to the spaces (control 2 for space 2, etc.)



David

I see a lot of suggestions that rely on the number pad, but most Macs ship without one.

I personally don’t use the control+arrow method for switching spaces because I don’t think about them having a spacial layout. To me they’re desktop 1, 2, 3, and 4 and they always snap into the same physical location in front of me. I reserve the concept of physical layout for multiple physical displays.


You are missing an important point about Spaces. The four pane layout is only the default. If you open preferences, you can add rows and columns to the grid of available spaces, so you rotation concept because more difficult to actually implement. At what angle do spaces transition in to view? It starts getting visually confusing with spaces sliding in from every possible direction. Personally, I have eight spaces and I use short cuts to navigate to different ones. And I don’t use all of them all the time. I keep some reserved for special tasks.



Jeff Cohen

Spaces could have 12 rooms. Just as in the face of a clock; as in the 12 Function keys. Control, Function Key for the task of the hour. Control, Function Key for those other parts of your day, your life. If you wanted a central location, you could use Control, Left Arrow (as the keyboard on my MacBook Pro is printed with ‘Home’). If you only wanted 8 spaces, how about Control, Up Arrow and Right Arrow simultaneously, etc.?



MonkeyT

Great until you use more than 4 spaces ( I use six ).


What if you have more/less than four Spaces?


Forget arrow keys and just give each space a unique hotkey. Ouse ctrl-1, ctrl-2, ctrl-3, etc. I never have to think about wrapping or spacial arrangement. Scales up to 9 spaces if you use digits. You’d need to use hex, or fn keys (with modifiers) to scale to 16.


I guess there’s always the option of holding down two keys for a diagnoal space (the up & right key for the top right spot, for example). Thought it’s not ideal, it would work, especially because only more adept powerusers would really need more than 4 spaces. However, that’s a fix not a solution. Truly good design doesn’t need to be justified.


If each space were assigned a number, you could do “control-#” and switch instantly to the space you want to go to.


This makes navigation with the arrow keys easier for the default 4×4 grid but makes dragging windows between spaces substantially more difficult as you’re always having to drag to a corner. Anyone that drags windows often will know that the action of dragging diagonally between spaces is not as straightforward as doing so horizontally or vertically. Not to mention that the default flow follows the pattern of reading in the Western world and is therefore easy for most people to grasp.



Naresh

keep four more windows in corners and a window in center. use(3*3 grid)

ctl+up+left for top left corner,
ctl+up+right for top right corner,
ctl+down+left for down left corner and
ctl+down+right for down right corner.
ctl+up+down+left for center.


If each space were assigned a number, you could do “control-#” and switch instantly to the space you want to go to.


goood ,, I liked Jqa



Vanja Pejovic

How about arrange all the spaces in a circle, and have a mouse gesture, or a held button plus mouse movement select the desired space. I imagine it kind of like having a joystick which you lean in the direction of the desired screen. With 4 spaces, it would still be really straight forward. If you had many, lets say 12, you might miss on the initial movement but then you could adjust. So it would always require no more than 2 mouse movements.


Men cry in secret behind closed doors, often called “Men do not cry, ” he becoming enlarged.


nice sharing thanks :))


goood ,, I liked Jqa


Men cry in secret behind closed doors, often called “Men do not cry, ” he becoming enlarged.


What if you have more/less than four Spaces?



Eric

The real problem is that most mac users I have meet don’t even know the feature exists – and many non-mac users dislike mac in part because they think it lacks a feature to perform exactly the function the current version of this feature does.

OSX is great, but there are some big issues with very simple solutions that they seem to be overlooking. It seems like they are trying to make a compromise between catering to the much more efficient and effective “expert” users, and the more common “simple” user, and it is coming off as weird and unfinished.


You are genious…


This is really perfect! thanks!


Hurry to select your own Oakley sunglasses! You can enjoy 75% discount now,so the price is very low. And we provide best service and free shipping here.


Initially my thoughts were that this was brilliant. I happen to use only 4 spaces as I find more to be unmanageably complex.

That said, you can “fix” this problem with Spaces by simply changing the way you think about switching spaces. If you think about them as numbered spaces instead of just “top left”, “top right” etc. you can simply use the ctrl+num on the number pad to quickly switch to the correct numbered space. I’m aware of this fact and yet I still flounder occasionally trying to find the correct space. Granted this only works well if you have a keyboard with a number pad. Apple has decided that we can – should – do away with that “feature” which keyboards provided since the advent of the IBM computer.


    I somehow didn’t notice any of the other comments which also provided this answer since they were hidden when I began typing in the comment box. This has already been proposed. However I forgot to mention that ctrl+num still works on the number row of the smaller Apple keyboards.


lovely bunny and we hope you all have a wonderful holiday.


I dugg some of you post as I cerebrated they were very helpful extremely helpful



Evan

This is a great solution. I love the cartesian convention in navigation – recognition vs. recall. The only constraint that I think you have forgotten about is the fact that this will only work if you limit yourself to 4 spaces. Personally, I have rarely used more than 2, so it wouldn’t be a problem, but apple allows you to utilize many spaces in the existing version.


Leave a Comment