Thoughts on ‘The Great Ubuntu-Girlfriend Experiment’

Filed under: Compiz, Ubuntu

In The Great Ubuntu-Girlfriend Experiment a man runs his girlfriend through a series of seemingly common tasks and sees how she does with Ubuntu. The bit about downloading an album online seems a bit sketchy (use amazon, not bittorrent) but the main one I want to talk about concerns, of course, Compiz.

In the ninth task he asks his girlfriend to change her screen resolution and she of course picks the first one in the list, which is far too small and the Screen Resolution tool no longer fits on the screen. He then complains about the fact that he cannot make the window smaller (application problem) and cannot move the window past the top of the screen (Compiz problem). A ‘fix’ in either one would solve this problem but a fix in the application would fix it the best.

However, it is interesting to think about how to fix this problem in Compiz. First of all, you could just turn off the option that prevents you from moving windows past the top of the screen but then you’ll have problems losing windows off the top of the screen and having to use Alt-Button1 to move them back down. So clearly this option has a reason for existing and being turned on by default, but it isn’t always what you want.

My solution to this problem is to make it possible to move a window past the top of the screen if and only if the window is larger than the screen height. In this situation you’re screwed either way so stopping you from doing this gains nothing. However, you still need to be somewhat of a power user to know you can use Alt-Button1 to move a window in such a way as you cannot grab the titlebar to move it that far up. I can’t think of how to make this easier to figure out though and it is better than nothing.

Can anyone think of a better way to solve this problem in Compiz? Like I said, obviously the correct answer is to solve it in the application and leave Compiz alone but it is not realistic to expect every application to work in 640×480 or 720×400.

29 Responses to “Thoughts on ‘The Great Ubuntu-Girlfriend Experiment’”

1 Dave - April 30, 2008 5:30 pm

Could Compiz scale the window to fit in the space provided?

2 CookedGryphon - April 30, 2008 5:42 pm

I see a different problem here with a complete solution: Titlebars are ugly and redundant, what’s wrong with a simple frame around a window and then simple keyboard shortcuts to move/close the window.

You can’t say this is bad usability just because it is different from windows default behaviour. As someone who uses this approach, the ‘normal’ approach feels absolutely ridiculous to go back to. Alternatively you could make it so that you can drag any non active area of the window, as per many skinned applications.

3 Travis - April 30, 2008 5:49 pm

Being able to move the window from any non-active part of it is an interesting solution and probably the best one (combined with the compiz change) but that needs to be done in GTK+.

4 puntium - April 30, 2008 5:53 pm

What about making _just_ the screen res changing app (and whatever panel/gui you need to get to it) fit within 640×480. As far as I can tell, what’s what Windows has been doing for years. The display properties configuration hasn’t changed in years.

I believe metacity already implements the algorithm you’ve described.

5 Stoffe - April 30, 2008 6:16 pm

In this specific case, you could reasonably demand that the screen resolution change program is able to function in every possible resolution even if no other program did that…

Being able to move windows by any “dead” area is also a great feature.

6 James Cape - April 30, 2008 6:20 pm

Isn’t it also unreasonable to expect that anyone wants to manually set their resolution to something smaller than the resolution-setting application itself?

Just sayin.

7 Travis - April 30, 2008 6:24 pm

They may not want to but as seen in this case the user just picked the first option from the list. Then they did what regular users do and immediately dismissed the popup without reading it as it was annoying and in the way and those darn things come up all the time in Windows. :)

8 Travis - April 30, 2008 6:32 pm

Dave: Sorry, your post got caught in my spam filter (did you fail the captcha?). Anyhow, Compiz could of course scale the window as Compiz can do anything you can think of but you would not be able to interact with the scaled window as we do not have input redirection support in the X server yet. This means that when you transform a window (such as scaling it) the inputs do not get transformed as well so they no longer match up properly.

9 MikeMLP - April 30, 2008 8:15 pm

This doesn’t fix the problem, but is there a way to detect if the window is not completely visible on the screen? If so then it may be possible to notify the user through a popup or notification balloon that alt+leftmouse will allow them to move the window. Done right, it would not get very annoying for the experienced user, but At least the newbie gets educated this way. You might wish to limit the notification to low-resolution modes.

10 Travis - April 30, 2008 8:18 pm

That is an excellent idea. It can be done entirely within Compiz and solves the problem very effectively.

11 qhartman - April 30, 2008 8:38 pm

The core problem here is “stuff Ineed to see, but can’t get to”, correct? It seems to me that the most well-known UI idiom for this is the scrollbar. So, have the window manager paint scrollbars on windows, weven if they don’t ask for them, if the contents of the window do not fit in the current window or if the size of the window is larger than the screen res. This is undoubtedly not an ideal solution, and probably not even a good solution, but it also solves the “rookie programmer didn’t think his program would ever have that much stuff in it so it doesn’t have scrollbars” problem.

12 Jeremy - April 30, 2008 9:23 pm

Regarding comment #2, Matchbox Window Manager has this functionality to an extent — you can drag a window by any unused part of the window canvas.

13 Rudd-O - May 1, 2008 1:11 am

Compiz should scale the window horizontally/vertically until it fits. Kind of like the maximumimize (is that the spelling?) plugin but the other way around.

14 Frank Quist - May 1, 2008 1:57 am

Might I note that this is a problem many programs have, most notably Ubuntu’s installation program? Unless you know about alt+left-click or it’s virtually impossible to install Ubuntu if it decides to run in 640×480. Sometimes, it can’t be solved at the program’s side, either, there’s just too many options. I think there should be an option to draw scrollbars, or to scale it down through compiz.

Or what about painting a handle/gripbar at the bottom or the sides of a window for moving it if the title bar is offscreen? Or even if the window is too large for the screen?

(I think the Ubuntu install issue was fixed in the latest version, but am not sure. Also, naturally Compiz won’t be much of a help in an Ubuntu install process. it’s just an example)

15 thorwil - May 1, 2008 3:04 am

A handle bar on the side or scrollbars for the entire desktop could be reasonable solutions. If the bottom of the window remains visible, the titlebar could go there (switch between titlebar on top or bottom as appropriate).

Being able to drag a window from any free space would be good to have, anyway. It could be advertised by changing the mouse cursor.

Alternatively, you could allow the window to be moved upwards, but keep the titlebar at the top. Add scrollbars to the window, then.

16 Kris Marsh - May 1, 2008 4:13 am

I think it’s both an issue that needs to be solved in the window manager (provide a way to scroll windows), as well as coverage in most applications as possible (ensure they are sanely proportioned).

It’s also important to think about the eee PC, which runs in 800×600 or something rather small, and I’m sure as we see more ultra-portable laptops this problem will become increasingly annoying for more and more people.

One suggestion could be to write a Compiz plugin to somehow allow you to scroll a window up and down. Consider the following:

If the {height,width} of an application window is greater than the screen {height,width}, then add a small widget to the {left, bottom} of the application window, to allow you to drag the window {up and down,left and right}.

17 bkor - May 1, 2008 5:18 am

Use Metacity. It is intelligent when allowing moving windows off the screen. Further, it will restrict the window to the screen size.

18 Andy - May 1, 2008 5:26 am

It is a bit of an extreme case, which makes me think that a general solution might end up harming the common case.

For example, in metacity if you have a window where the title-bar is off-screen, when you click on an edge of the window (as if to resize it), it instead pops up a menu, with one of the options “Move Titlebar Onscreen”. This is a nice way to handle that particular problem without making the general case stuff annoying (though I think it could be a bit more discoverable)

I think a reasonable solution would be to add window grab-able bits when a window is too big to fit on the screen. Imagine the title-bar of a window going the whole way around the window. It would probably look funny, but it would also be quite obvious what it is (since it looks like part of the normal title-bar) - and I think the funny-looking-ness can be tolerated (if anything it will just encourage the developer to make their window smaller)

If all the grab-able bits are offscreen (which could be useful if a window is too big in both dimensions, and you want to see the very middle of it) then I think something even more whacky would be needed (I’m not quite sure what… maybe some sort of proxy window that you can move, which moves the main window?)

19 Asa - May 1, 2008 8:27 am

Why do so many people want to add more things to the window, which makes it bigger and makes the problem worse. And I would get annoyed with the idea of poping up a menu instead of resizing the window. You don’t want the users to have to think about “will this do what I want, or will I get another menu before I get to move my window”.

I think detecting when a window’s title bar is off screen and poping up a balloon notification about alt+Button1 is the best solution. The only thing is that it shouldn’t say “Button1″, it should detect the settings and usually say “Left click”. I also like the idea of a titlebar that moves to the bottom if its off screen.

p.s. I forgot my email the first time on this comment, so I assume it wasn’t accepted as I got an error. then when I tried to post with my email it said it detected a duplicate comment.

20 Mackenzie - May 1, 2008 10:23 am

I’ll third the popup about Alt+Click&Drag, but why even specify which click? When you just say “click” righties assume left and lefties assume right.

21 perspectoff - May 1, 2008 10:59 am

I tried the same experiment with my 8 year old daughter, but using Kubuntu (the KDE desktop) instead of Ubuntu (the Gnome desktop).

She has been using Windows XP for about 2 years, mostly for games, school projects, looking up stuff on the Internet, graphics and posters (for science fairs and stuff).

I set the menus in Kubuntu to look nearly identical to Windows.

She transitioned without batting an eyelash.

When I had tried the experiment with Ubuntu (Gnome), it was frustrating for both her and for me.

The experiment with the afrorementioned girlfirend was the wrong experiment.

22 Frank Quist - May 1, 2008 1:51 pm

“Why do so many people want to add more things to the window, which makes it bigger and makes the problem worse.”

The idea is that this only occurs when the titlebar is off screen, so normally windows would not be larger. It does not have to be an entire bar, a visual cue of some sort that you can drag it would work. I think a popup might be too easy to miss, or click away. A handlebar could provide a more consistent visual cue.

23 coward - May 2, 2008 4:25 am

most people are not aware of alt+right_mouse_click combo …

24 Robin - May 2, 2008 6:41 am

As someone with an eeePC running Ubuntu, there are a lot of dialogues that are too large for the screen, many with no good reason (e.g. the desktop effects window, which is full of empty space). I think the first goal should be convincing developers to make all windows resizable, and the second having the window manager force the issue. While I use alt-drag a lot, it’s completely not discoverable. Allow the application to override if it simply doesn’t make sense for the window to be less than a certain size, but in general I’d be happier with more scrollbars than having to alt-drag on a touchpad.

25 alex - May 2, 2008 10:17 am

Put the titlebar at the bottom.

26 Gerald Butler - May 3, 2008 11:46 am

This particular problem is one that endlessly frustrates me. I do know about “Alt-Click” to drag a window around the screen, but, it is still annoying and difficult. It is the one thing, that when it occurs, I feel ashamed of my chosen Open Source OS (Ubuntu Linux).

I really feel that the only reasonably “sane” solution that would accord with nearly everyone’s expectations would be to automagically provide scrollbars for any window that requests (demands?) a size large than the chosen screen resolution (minus toolbars, title bars, decorations, etc).

I sincerely believe this would be the easiest thing for a “newbie” to understand and provide the greatest comfort usability-wise.

It should provide a simple way to turn off this “feature” and default to the standard “Alt-Click-n-Drag”. In fact, “Alt-Click-n-Drag” should still work even with the scroll-bars by instead of moving the window up and down off the screen, it should move the viewable area of the underlying window within the window manager provided scroll-bar area.

What do others think?

27 Gerald Butler - May 3, 2008 11:48 am

THIS IS NOT A DUPLICATE COMMENT!

This particular problem is one that endlessly frustrates me. I do know about “Alt-Click” to drag a window around the screen, but, it is still annoying and difficult. It is the one thing, that when it occurs, I feel ashamed of my chosen Open Source OS (Ubuntu Linux).

I really feel that the only reasonably “sane” solution that would accord with nearly everyone’s expectations would be to automagically provide scrollbars for any window that requests (demands?) a size large than the chosen screen resolution (minus toolbars, title bars, decorations, etc).

I sincerely believe this would be the easiest thing for a “newbie” to understand and provide the greatest comfort usability-wise.

It should provide a simple way to turn off this “feature” and default to the standard “Alt-Click-n-Drag”. In fact, “Alt-Click-n-Drag” should still work even with the scroll-bars by instead of moving the window up and down off the screen, it should move the viewable area of the underlying window within the window manager provided scroll-bar area.

What do others think?

28 pato - May 3, 2008 2:03 pm

Call me radical, but:

I learnt ALT+Button1 when I used mwm long long time ago.
There is no reason why this key-binding not supposed to be known… at least in a UNIX environment.

29 Topher Hunt - May 4, 2008 5:55 pm

Here’s an idea…
If the draggable title bar is out of sight, add a “Drag Me Here” widget somewhere on the visible border so that the user can still move the window around. How difficult would this be to implement? It might be good timing; from what I’ve read, some thoughts for Ibex include a reworking of the Compiz window manager system.

Leave a comment

Comment