Switches in Unity menus

Plans for the next iteration of the network status menu in Unity include the use of switch widgets.

As has been brought up on the unity-design list, their placement on the right is likely to make the issue of diagonal movement often opening adjacent menus worse. Independent of improving the menu mechanics, enabling/disabling could be handled differently in style and placement of the widgets.

I think the adoption of light-switch style widgets in point-and-click interfaces is a mistake. Their look implies a sliding movement, not just a click. They are unclear about whether the labels refer to the current state, or the state to change to (only the use of bright coloration for the On state helps here, but does nothing, if all you see is an Off).

If all you have to communicate is On/Off, what is wrong with checkboxes? They do have unclear target areas (in proper implementations, the label is clickable, too), but are well established and do not suffer from the problems switches have, as listed above.

In the middle: a different take on the switch widget, trying to do without separate label and state-labels. The state that can be switched to is represented by a button, while the current state is flat, as it is not clickable.

Finally an experiment, to see whether a strike-through approach could work for a very compact solution. It is hard to find a balance between legibility of the label and making the stroke clear.

Advertisement

Fun with graphics card drivers in Ubuntu 12.04

Summary: If you have performance problems using the JACK Audio-Connection-Kit and the fglrx ATI grpahics card driver, switching to radeon may solve them. Unity 3D and radeon can work, but leftovers of other drivers might get in the way. Also: Proprietary, binary blobs smell bad and Ubuntu’s infrastructure around those drivers is dodgey.

On Ubuntu 11.10, I switched graphics cards and thus drivers from nvidia to fglrx without much of a problem.

I recently upgraded to Ubuntu 12.04 and was quite pleased by how smooth that went and glad for not having to reconfigure and reinstall a bunch of stuff. As with every release so far, some issues might have disappeared, but a very noticable new one arrived: focus-follows mouse combined with auto-raise does no longer work reliably. So far I failed to identify the pattern for the cases where windows are not raised, when they should be.

After a while, I wanted to get back to music production with JACK and Ardour. My system was still configured for JACK to run in realtime mode, but I got many disconnects, often right when Ardour brought up its main window. I found out this only happened with Unity 3D, not with 2D. So it seemed like either one or the combination of Unity 3D and the fglrx driver interfered with realtime mode. A fellow #lad inhabitant knowledgeable about this realtime kernel business suspects that the 3D accleration part of the fglrx driver is not preemptable.

Where does one even report bugs about that proprietary blob? And how would one diagnose what exactly goes wrong?

Now I could use Unity 2D, but I really miss window drop-shadows, dislike the look and different notification animations for the Launcher icons and hate the fact that the Dash doesn’t react to the same shortcut I configured while using the 3D version.

Initially, I thought I would need the fglrx driver for Unity 3D, but still wanted to try switching to radeon. The Additional Drivers dialog claimed that neiter of the 2 ATI options were active, but lsmod told me otherwise. I have some Wacom-related stuff in my xorg.conf, which had to be moved out of the way, to get that thing to work. After a reboot, radeon was in use, but Unity decided to drop back to 2D. The cause: Xlib: extension "GLX" missing on display ":0.0". The solution was purging any trace of fglrx and nividia(!) from my system. Also, for good measure, but I suspect it’s unnecessary: sudo apt-get install —reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core; sudo dpkg-reconfigure xserver-xorg.

Now I have a working Unity 3D, using radeon, no disconnects or xruns galore using JACK and Ardour. Only new problem so far: shaky mouse pointer on the login screen.

Dash

Scaled Screenshot of Ubuntu 11.10 Unity’s Dash on a neutral background:


Full size

The 8 items in the home screen of Ubuntu Unity’s Dash have been found to be confusing in user testing and will be replaced for the next release.

I think the initial content should be similar to the search results that will be listed once there is text input. Basically the first n matches for a search for everything.

The search should be sub-string based, maybe even fuzzy and even support the categories that can be used in the filter section, to make the most of the user’s input. Especially when searching for files, one might remember a part of a name, not necessarily the beginning. Fuzziness should help with typos or variations in either input or searched content.

Turning the top panel transparent on activating the Dash suggests a connection to the right-side indicator menus, where there is none. It necessitates a variation of the window Close, Minimize and Maximize buttons.

The lense-switching buttons at the bottom seem odd. This placement almost maximizes the distance from the Dash trigger button. It gets ridiculous, if you maximize the Dash, especially on a large display. These buttons determine the entire content, which suggests they should be at the top or maybe on the left side. But what if the layout can be simplified by using the lense buttons both as section headers and pathways to their sections?

Rough, explorative mockups:


Full size


Full size

A second click on the Dash button closes the Dash, making it have the same function as the window Close button in this state. Could this be visualized? An admittedly brutal attempt, just to illustrate the idea:

I wonder if avoiding the potentially disruptive impression of the entire screen being taken over is worth having a Maximize button for the Dash and a layout that increases the need for scrolling (or paging as alternative). The button is yet another detail on the screen and costs the user a decision, not necessarily only once. Without it, the always disabled Minimize button could go, too.

Ubuntu Unity Experience

I started out rather skeptical of Unity, since it clashes with my habits. But it wouldn’t be the first time I modified them …

I’ve come to enjoy launching and switching between applications via the Launcher. Making the distinction between running and not running applications less important and having stable targets for the most common applications is nice. But only as long as it’s about single window applications, as having to juggle windows after using the launcher just feels like a hassle. The single top bar switching between title and menu is great with maximized windows. This is barely enough to tolerate the shortcomings.

Alt-Tab window switching works for me only as long as no application has several windows. Switching on 2 levels, first application, then between windows of that application is too much work, costs too much thinking and thus breaks the flow. At least the Super-W shortcut for exposing all windows helps here, sometimes.

I sometimes run Ardour, which relies on the JACK audio server. This involves soft realtime requirements, which normally is not a problem. However, any use of Alt-Tab beyond a quick tap that does not even bring up the menu, causes Ardour to lag, making JACK kick it out. On Unity 3D, with nvidia driver. Isn’t this supposed to be GPU accelerated, leaving the CPU alone as far as possible? In principle this machine could record and playback several tracks while compiling the Linux kernel in the background, but I can’t use the window switcher without dropout. This made me try different nvidia driver versions, so I found out Jockey is confusing and sometimes claims there’s no driver enabled, while lsmod does list nvidia. Trying to switch between nvidia versions one can easily end up with an X in minimum resolution and a Unity 2D that likes to render artifacts more than rendering windows. It’s not obvious how to switch between nvidia and nouveau.

I’m used to 6 workspaces. I had to use CompizConfig to change that number. Initially, it looked like that didn’t work, because the change did not come into effect before logging out and in again. The workspace switcher icon remains static and always pretends you have 4 workspaces with 1 window on the first, making me miss GNOME 2’s panel indicator.

Since many years I have switching to specific workspaces bound to Alt-F1 to Alt-F6. I had to mess with both CompizConfig and Keyboard settings to make that work.

After a short break, I now went to pick up development with Emacs again. I have a number of window (what elsewhere might be called a pane or panel) related commands bound to the Super, aka Windows key. So I changed Unity’s trigger button, only to find that the setting has no effect; the Super key still triggers Unity, while the new shortcut has no effect at all. I found a matching bug, with a suggested workaround involving going into unity config by hitting Alt+F2, to enter about:config. Since my Alt+F2 is bound to something else, I tried to assign a new shortcut to Show the run command prompt. Whatever I try, it is ignored. Now I can either drop Unity, or edit my .emacs and retrain against my muscle memory.

UPDATE: I now had success in changing the trigger key for Unity, but I don’t know what exactly made the difference.

I haven’t done any real work with GIMP on Unity, yet, but guess I won’t enjoy the global menu behavior there.

Ubuntu Friendly Logo 7

Paul and Marcus from the Canonical Design Team saw a problem with the gap-less regular/light combo I used for the text in the previous iteration. So I offered a tweaked version of the 2nd variation from post 5:

But Marcus as head of visual design insists on the layout that is specified on page 105 of the guidelines, only allowing the symbol to be replaced and a choice of regular or light weight for the 2nd word:

Thus:

This makes the symbol appear so weak and fragile and highlights what I think is the biggest problem of the updated visual identity: the relative size of the Circle of Friends (and any symbol taking its place for a derivative or sub-project) leaves it ending up so damn small, given the usual sizes for the text as used on the web. I doubt that a person not familiar with the CoF would be able to make out its actual geometry, given that tiny pixel-salad on the upper right of ubuntu.com.

I made it very clear that this solution is not acceptable to me and that I think going with the plain CoF would be better under this circumstances. Ara and Co respect this wish. I’m done with this, but let me close with what will be the solution, if no one else comes up with another idea (and why would anyone, given those guidelines):

Ubuntu Friendly Logo 6

Ara Pulido, being the leader of Ubuntu Friendly, preferred the first logo and right sticker design from the last set and so do I. As a hopefully last touch, I tweaked the placement of the text on the sticker. As far as I am concerned, this shall be the final artwork for the project, but we will wait for feedback from the Design Team (Edited following Ara’s comment below).

The SVG files can be found in the Launchpad branch. The sticker file has an outline on a separate layer; it should only be used for presenting on white ground, not be printed on actual stickers.

My intent was to present a fairly linear process from conception to execution. In the end it became a bit chaotic, as this wasn’t one of those cases where a design just clicks after only few rounds. I had to cut down on presenting variations along the way, in favor of actually getting things done 😉

Thanks for the feedback along the way. especially to those who went beyond just stating a preference for one variation!