UI Bugs With RB 2005 That Bother Me

| | Comments (9)

I'm talking about Windows here, so if you're expecting to see me gripe about the Mac, you're in the wrong spot. ;-)

1) I never know what I'm searching with the search field. It's always the same magnifying glass icon, regardless of scope. To make matters worse, when I click (for click I must, there's no keyboard shortcut to drop the list down), the menu doesn't show any items checked. Ever. Blarg!

2) We use popup arrows everywhere! These little UI abominations should have died a firey death with Classic. There are two standard controls we should be using in their stead: a PopupMenu and a ComboBox. For example, the super field in the properties window should be a combo box. And the language field in the constants editor should be a popup.

3) Focus never seems to be where I want it to be. Make a new method, and the focus isn't in the name field. Close a tab, focus isn't on my last selected item in the newly revealed tab.

4) The autocomplete requiring a tab still really bothers me. Tab has meaning on Windows, and overloading it in a very common UI element such as an EditField is horrible. I may actually want to tab out of an EditField! Not change Boolean into BooleanProvider by displaying a floating list.

5) Aqua buttons for mode switchers. Come on, this isn't a Mac app running on Windows! It's a cross-platform dev environment. So why are there still blatant Mac-isms in it on Windows? Update: This one bothered me so much that I just up and fixed it.

6) Menus. Need I say more.

Surprisingly, that's pretty much my entire list. Overall, I think the UI (at least, on Windows) is really good. And the parts of it that are bothersome keep getting fixed, so it's only been getting better. There are very few things that jump out at me as being blatantly wrong like they used to do in 5.5.

9 Comments

I've gone on a pretty good rant a couple of times about Windows UI stuff in RB but it amazes me how well all the folks at RS have made the cross platform work (although I only use the Windows platform). Especially since I think most of them are Mac users and have had to adapt to Windows. Your short list helps to hilite how well everybody's doing.

Numbers 3 and 4 in your list are the ones I notice the most. I've put in a feature request to have the tab tab in the editor. I don't really have a problem with it being used for autocomplete though. I'd just like it to tab when it's not busy autocompleting.

Notice that I'm not mentioning Mr. Moveable.

As far as autocomplete goes, I prefer the way VB6 handles it. If the word I am typing is not in a string literal and it has a space before it, it doesn't do any autocomplete, unless I press Ctrl-Space, where it then presents me with a listbox of objects/properties/variables (that are within the scope of the sub/function/etc that I am in). Or when I'm outside a string literal, after typing a word and then typing a period (.) it shows the properties/methods for that object/class/etc. And when I get to entering the parameters for a sub or function, it shows the functions definition in a tooltip below the current line with the current parameter in bold.

That's *my* preference, but I'm sure there are many people out there who wouldn't agree.

PS-For the move pointer, it isn't the same behaviour as VB6 which only changes the pointer when it's over the control's sizing handles. But I have to say it doesn't really bug me at all. In fact I didn't even notice until someone pointed it out. I do believe however, that I've seen the way RB handles it on other applications as well. So hard to say what's best or what the "standard" is.

I'm actually leaning towards not using the move cursor in the way we're using it. I thing I prefer the way VC++ does it (if the control already has focus, then you get the cursor, but if not, then it's an arrow). I'm thinking of that simply because the cursor will be a move cursor *always* if you are over some sort of parent control like a page panel or a group box.

Any possibility of hiring me to fix all the issues that bother me? :^)

Speaks of UI design, (and I'm just curious) why didn't RB use the standard Windows tab control? And...how did you guys do the icon list on the left side of the Options window? Is that a Container Control? Or a canvas? or something else?

Here's a UI frustration of mine:
To get a 10pt font in RB (in Windows) you have to choose 12pt! And in the Options dialog, the font previews show even smaller than that!

@Scott -- We didn't use the standard OS tabs because they cannot have icons without making them entirely owner-drawn (plus, I don't know if they can have icons on the Mac or not). Furthermore, you can't have the close widget on them at all, even if it is owner drawn, unless you start doing custom hit effects.

As for the Options dialog, that's just a listbox where we draw the row pictures and text ourselves. It's quite easy to do with the ListBox.

And yes, I know about the font issues. There's a solid heart behind the idea, but it sucks in many ways. Perhaps I'll blog about it one of these days. You should ask it on the User Input post so I don't forget. ;-)

One little thing I've noticed on Windows XP. When RB starts up, you get a splash screen. Fair enough, but the splash screen adds a taskbar button that says "SplashScreen". That's a bit strange. You probably don't see it if you auto-hide your task bar because it disappears when the splash screen goes away.

Leave a comment