PDA

View Full Version : Client UI - things to fix


jeanlain
05-12-2010, 03:13 PM
Ok the Steam OS X client is out. I see that problems in the UI have made it through the beta tests. I suppose that many bugs are in the queue, but I'm going to list them here anyway.
I also suppose that for the sake of cross platform development, you guys at Valve are not using the standard OS X developer tools and framework (e.g. Cocoa, Core Animation) for the Steam client, so I won't bother you with requests about mutlitouch support, smooth scrolling and the like (though these would be cool). I won't ask that things behave and look differently on the Mac, except when they relate to OS X paradigms and widgets. I will just focus on oddities that I think should be fixed irrespective of the development environment (note, I have not written a single line of code, except Excel macros and DOS programs in PASCAL. :D)

So here are the problems:

Traffic light (close, maximize, minimize) buttons are inconsistent. Almost all windows that cannot be resized have an (ineffective) maximize button and some that can be resized lack this button (e.g. the browser used to add non-steam games). You should enable/disable the button when appropriate.
Minimization into the dock should not be permitted for some windows, especially those that have settings and text fields. The yellow button should be disabled when it is inappropriate.
Some parents windows should not be closable or even activated when "child" windows are still open. For instance, closing the settings windows when the sound input window is open doesn't make sense, and acutally causes a bug.
Frontmost windows may sometimes appearing as inactive. This can happen when these windows (let's take the friend list as an example) have been activated not by clicking on them, but via a button (e.g. "view friends") or a keyboard shortcut. If another window is activated and then closed (this could be the "add a friend" dialogue), the main window will become active despite standing behind the friend list. Clearly, the friend list should have taken the focus. It wouldn't be so much of a problem is clicking on the friend list didn't activate whatever is in the main window, sending the friend list behind. This is really annoying as it can happen quite often with almost any window (the sever and setting windows, for instance). Tooltips that relate to the main Steam window will also pop-up through the friend list. This must be fixed.
The way to add non-steam games has several problems. The scroll wheel, trackpad doesn't work properly in the file browser. It shouldn't list invisible files but it should list devices (volumes) at the very root, above the startup volume. If possible, implement a standard OS X select/open dialogue or even better, drag and drop from the finder to the game library.
There is almost no keyboard shortcuts. Apple-W is the bare minimum (for closing windows).
Some windows lack a default button (activated when hitting enter) and an "escape" button, although it some cases, the attribution should be obvious (e.g., the sound input window). OTOH, the friend list can be closed by hitting escape, although it doesn't have an "cancel" or "close" button.
(not critical) The "Ok" button should be the rightmost.
Button width should adjust to the names. Too often are button names clipped "...", especially in other languages.
Likewise, the minimal width of a window should adjust to the title (e.g. the server info window). Sometimes, titles overlap with traffic buttons.
The "refreshing list" text in the Servers window overlaps with the button.
Drop down menus and tooltips behave a bit like actual windows. Activating a menu or an info box will alter the drop shadow of the parent window, which is visually annoying. Plus, this cause some weirdness in exposé. Tooltips also don't immediately pop-up at the expected position. For a fraction of a second, they pop-up at the position of the previous one.

GUI responsiveness is generally subpar. I haven't experienced any lag while dragging a window around since OS X 10.1 on my old G4 "sawtooth". Now the Steam main window (especially the game library in detail view) offers me that dreaded vision again. Yikes. This happens on both my Macs (2.66 GHz quad xeon and 2.4GHz Core2Duo). Upon further inspection with Quartz Debug, it appears that Steam behave differently from all other OS X apps I have, and redraws windows are at every position. So Steam can use a fairly high amount of CPU time just redrawing the main window. For other apps, quartz compositor (window server) takes care of the job, not the app itself. I suspect that Steam's drawing model bypasses Quartz Extreme when moving windows (but exposé appears to act normally and smoothly).

Similarly, redrawing isn't parsimonious. The smallest change in a window will involve the redrawing of its whole contents. This the case in my profile: the dimming "currently online" text will cause the whole window to redraw continuously. This alone can use up to 55% of a CPU core which in turns trigger my Macbook's fans. This is terribly wrong. Embedded videos (Flash) are problematic too, probably for the same reason. They can't play smoothly an use 100% of my CPU (e.g. the intro movie of the L4D website). On other browser, they play very well use use less than a quarter of the CPU time.
Scrolling and resizing aren't smooth when compared to web browsers. I recall that Chrome's scrolling was choppy too on the Mac, because they redrew every view twice. They fixed this and it is now smooth. I suspect it's even worse on Steam, because the windows frame, not just the web view, is constantly redrawn when scrolling.


Thanks for having a look into these issues and sorry for my English.

FuzzyPuffin
05-12-2010, 03:19 PM
You use a word like parsimonious and then apologize for your English?? :P

Good list. This should be added to the bugs/suggestions thread, there are more GUI problems noted there as well (Traffic lights don't obey the system color if you use graphite).

jeanlain
05-12-2010, 03:21 PM
Yes I have now added the list to the other thread. I hadn't seen it.

(PS: I know about "parsimonious" because it's very similar to the French word.)

d10sfan
05-12-2010, 03:23 PM
Good list. I would also like to add that the steam content should be moved either to the ~/Library/Application Support/Steam directory or to /Library/Application Support/Steam.

jeanlain
05-12-2010, 03:34 PM
I really wish Valve used Cocoa for Steam (as well as the system's webkit.framework). If they did, none of the listed problem above would exist.

Vornicus
05-12-2010, 04:25 PM
Error with popup widgets and Spaces:

Steam is on space 4. Any time I put my mouse over something that automatically pops something up -- friend or achievement icons, view-change buttons for the library, pause buttons on the download screen -- focus moves to space 2 immediately and then the widget appears.

PhantomAGN
05-12-2010, 05:51 PM
Ah, it looks like the guy above me here noticed the same thing I did.
Steam should use proper windowing.

It's doing the same thing it does on windows, creating a whole new window-thing for every popup tooltab menu etc.
Anyone who has run Steam under WINE would recognize that evilness.

Nocashvalue
05-12-2010, 06:49 PM
if you drag windows around too much then the mouse falls off the window - so you are effectively dragging the window with thin air

also the growl-esque notifications appear behind other windows, pretty much negating the point in them. it would be a lot visually nicer and generally easier to use to just use growl i think

nhex
05-12-2010, 06:55 PM
Steam windows can't be dragged into other Spaces that you didn't start in.

Entegy
05-12-2010, 08:14 PM
I found a fix for the popup windows appearing in other Spaces for now: Go into System Preferences>Exposé & Spaces, go to the Spaces tab and set an Application Assignment for Steam to a certain Space.

Mangr0v3
05-12-2010, 08:42 PM
Nice list, but can we please keep all the info in one thread, rather than 5 or 6?

RatherDashing42
05-16-2010, 04:40 PM
I almost made a new thread about this, but then I saw this thread, and thought maybe it should go here (maybe not?). Every time I try to add non-steam games to steam, they work great after I add then, but then get deleted from my steam list after I restart my computer once or twice. Anyone else having this problem?

Entegy
05-16-2010, 09:21 PM
I almost made a new thread about this, but then I saw this thread, and thought maybe it should go here (maybe not?). Every time I try to add non-steam games to steam, they work great after I add then, but then get deleted from my steam list after I restart my computer once or twice. Anyone else having this problem?This is a problem on the Windows version as well. After a while it becomes permanent.