Usability depends on context!

Here’s a little story on how usability decisions need to depend on context.

In Unity editor pretty much any window can be “detached” from the main window. An obvious use case is putting it onto a separate monitor. But of course you can just end up having a ton of detached windows overlapping each other.

Here I have four windows in total on OS X:
Overlapped Windows on OS X

Here I have four windows on Windows:
Overlapped Windows on Windows

However, users of OS X and Windows are used to applications behaving differently.

On OS X, it is very common that a single application has many overlapping windows. Usually users don’t have problems finding their windows either, thanks to Exposé. Press a key, voilà, here they are:
Exposé on OS X

On Windows, there is no Exposé. So there’s a problem: when a detached window is obscured by another window, how do you get to it? One would ask “well, what’s wrong in having windows partially overlapped, like in above screenshot?”, to which I’d say “you’re a Mac user”.

Windows users do not have a ton of windows on screen. They tend to maximize the application they are currently working with. I was doing this myself all the time, and it took 3 years of Mac laptop usage before I stopped maximizing everything on my Windows box!

So what a typical Windows user might see when using Unity is this. Now, where are the other three detached windows?
Maximized

On Windows, it is very uncommon for a single application to have many overlapped windows. When an application does that, the “detached” windows are always positioned on top of the main window. There are some applications that do not do this (yes I’m looking at you GIMP), and almost everyone is not happy with their usability.

So we decided to take this context into account. Windows users do not have Exposé, and they expect “detached” windows to be always on top of the main window. Unity 2.6 will do this soon.
In Front on Windows

Of course, you still can dock all the windows together and this whole “windows are obscured by other windows” issue goes away:
Docked on Windows

Hmm… I think the screenshots above show two new big features in upcoming Unity 2.6. Preemptive note: UI of the stuff above is not final. Anything might change, don’t become attached to any particular pixel!

7 Responses to 'Usability depends on context!'

  1. yarpen

    Is that Unity’s internal profiler? Looks sweet!

  2. Aras Pranckevičius

    @yarpen: yeah, built-in Profiler is coming in Unity 2.6 soon :)

  3. col000r

    yay! Animation!

  4. Lewis

    You make a good point, I always wondered why my colleagues (who are mac users) tend to have an inconsistent mess of windows. So mac have a neat tool (expose) and windows ppl are forced to buy more monitors!

  5. Vincent Scheib

    I must not have enough hours logged on a mac, I still don’t understand why users would want to throw away so much of a limited resource. Screen space is one of the key ways computers have failed to scale up in the last few decades.

  6. Aras Pranckevičius

    @Vincent: well, in quite a lot of cases a fullscreen window does not really improve things. Take fixed width websites, or text editors for example – they need vertical space (which is not enough), but usually have quite a lot of unused horizontal space.

  7. Jessy

    It’s not even as simple as Exposé – I use two monitors and still spread my apps across multiple Spaces. I tend to use a different Space for any case in which I anticipate overlap within the same app. It’s faster to hit Ctrl+arrows than it is to use Exposé. Although, with the multitouch trackpad, Exposé is no slouch. Four-finger swipe down to activate, two-finger scroll to choose a window, four-finger swipe down to bring it to the foreground. A little nicer than cycling through with Command + ~, to be sure. But I never used Exposé much before that multitouch functionality was enabled.

    Vincent, maximizing an app with panes, such as Unity, Blender, or Logic (Apple loads its Pro apps in maximized mode by default), is different than maximizing an app without panes. To further what Aras said, maximizing a web browser, for example, actually decreases usability. Part of efficient workflow is not having to move the cursor any farther than necessary in order to click/drag. The smaller you can make a window, the closer its elements can be to other elements to which you may need to perform a cursor action. FWIW, I keep Unity maximized on one monitor, with the Console on another. (I have no idea what I’ll start doing if Unity iPhone ever gets the 2.5 Editor – I really only use Unity iPhone anymore at length.)

Leave a Reply