|
|
Site Blogs
|
 |
|
|
|
|
|
Blog History
|
 |
|
|
|
 |
|
|
Ask ElCid73
|
 |
|
Location: Blogs Infinite Randomness Software Development |
 |
| Posted by: infrandom |
4/14/2006 |
Lately I've been trying to follow Eddie Lopez's blog "User Centered", as Eddie studies the designs of everyday items from a user's point of view.
Well being more technical, everyday things for me sometimes include technology. And today I finally reached a point where something just got me wondering, is this just me, or is this not intuitive. As a software engineer I've used a broad range of developer based software. This differs from end user software because developer focused software is intended to only be used by software developers. The lexicon of programming, and the symbols used aren’t expected to be understood by the lay man.
With that said, it always stumps me when I come across something that just isn’t right. At least not to me, so I thought I would post this one as an open question to the up and coming blogger. (I can't even keep up with his posts, does that guy ever work?)
This is a snippet from the Microsoft Visual Studio 2005 IDE. Microsoft has come a very long way with Visual Studio 2005. In fact, I'd say software development is finally now getting to a point it should have been 10 years ago. Finally the computer is actually doing things that a human shouldn't have to. Writing hundred if not thousands of lines of glue code just to tie and application to a data layer, or to present some simple web based layout, it's just been ridiculous. Visual Studio 2005 has greatly reduced the actual number of lines of code to implement something.
Focusing specially Microsoft has put a lot of work into the new IDE. Intellisense now is everywhere you need it to be (Ok so not inside of some of the Visual Studio Business Intelligence Development Studio) and part of that is the help box that pops up as you start to write a function letting you know what the method parameters are. If there is more than one signature, an up arrow and down arrow indicate the navigation to the alternative signatures as shown below:

So I’m thinking clicking the down error should take me to 3 of 3. Since I’m at the first one, going down would circle back to 3. Likewise if I was at the 3rd definition I’d expect the down arrow to take me to the 2nd definition. But when I click on the down arrow this is what you get…

2!! So down means next and up means previous. This is the opposite of what I expect considering the reverse direction. If I’m at 1 and want to go to 2, I want to go up. Up is what takes you from 1 to 2, and 2 to 3. Apparently Microsoft doesn’t agree.
So I ask the ElCid for his opinion, what is the usability take on up/down in terms of previous/next?
|
|
| Permalink |
Trackback |
Comments (13)
Add Comment
|
Re: Ask ElCid73 |
By The Cid on
4/15/2006 |
My dear boy.. first off, the answer is no. In fact, I never work.
But to the issue at hand- the perennial up is down and down is up thing. Unfortunately, there are violations of this all over the place, but noone pays as keen an eye as you.
I believe you are right- this is poorly designed, but I also thing there is precedence set in other places that led us to this faux pas. Most notably, html form select boxes (increasing goes down). Even a "choose your state" will scroll down throught the alphabet. With keyboards in hand, down is the new up. We are going down for the latest information. We start at the top/the beginning, or zero if you will, and scroll down to get greater.
Another (hit and miss) example is the television channel guide (hit or miss because they are often inconsistent themselves). See this great piece on channel guide up vs. down for more: http://mcfunley.com/cs/blogs/dan/archive/2005/12/17/890.aspx
So, the problem is a problem of convention more than anything as far as I'm concerned. You could switch it back the way it *should* be- but you'd probably end up confusing everyone else. And I can't think of a better way off hand that takes into account the space considerations and the efficiency that makes intellisense so damn useful. |
|
|
Re: Ask ElCid73 |
By infrandom on
4/15/2006 |
| Now see, that's odd. I've noticed the up/down on the TV Guide before, it always anoyed me the most with my Tivo if I recall correctly. However I can't say I noticed the same behavior in the web browser. I think my mind rationalizes that one and the down key is really moving the scroll bar positon on the right down. (And that must mean by some strage computer physics that pushes the page up. Meaning the Status Bar at the bottom must be filled with some liquid that changes the small movement of the scroll bar into a big movement of the content.) |
|
|
Re: Ask ElCid73 |
By Ilya Birman on
4/15/2006 |
When I saw the first picture and was still reading the text, I was sure the down arrow will take you from 1 to 3, and you will say how illogic that would have been. However, Visual Studio does exactly what I personally would expect, thank god :-)
You see, "down" and "decrease" are different concepts. When you read a paragraph of text on a web page and press pageDOWN, you can read the NEXT paragraph of text. Does this seem illogic to you?.. Not to me. Down means next, up means previous (apparently, because we write stuff from top to bottom).
In your example 1, 2, 3 are not values or degrees of something, but numbers of something. Pressing down surely must not decrease the number itself, but should take you to the next one, as it does here.
Imagine the opposite. A text field, like "How many suggestions would you like to see in IntelliSense popup box? [5 ]". Now, editing this edit field, I would except 5 to decrease upon pressing the down key.
Once again, don't mix up increase/decrease (when the talk is about quantity of something or degree of something) and prev/next (when the talk is about number of something in a succession). |
|
|
Re: Ask ElCid73 |
By Eddie Lopez on
4/15/2006 |
| Ilya- Good points. That's basically what I couldn't verbalize in my first reply at the end. I wanted to suggest using something other than a number to represent prev/next, but given the nature of intellisense, nothing else is as efficient (space wise). Those pop-ups need to be light weight, quick, and easy to read. Certainly, they shouldn't distract from the primary task of writing code. |
|
|
Re: Ask ElCid73 |
By Me on
4/15/2006 |
Yes, good points. I would have had the same expectation as Ilya, being that this is not a building (elevators) or a television. Ilya put it quite well, in that way, the difference between up and increase. By-the-by I've never encountered a TV where pressing the down button actually increased the channel number.
In that example, it does seem rather arbitrary, though a little more like I'd expect because I am used to going to the next value by pressing down. As reading this web page, the next line of text was viewed by pressing that key.
Interesting discussion. |
|
|
Re: Ask ElCid73 |
By infrandom on
4/15/2006 |
Well I can certainly see the accepted use of the up/down now. Looking at it again this morning however, it seems the same ammout of space would be consumed by rotating the arrow directions to point left and right. This would be much clearer.
Now this is something I'll have to verify, but I'm curious if a pervious version exibited a different bahavior. I only think this because I don't ever recall having an issue consistently going the wrong direction I expect to until I started using this latest VS 2005.
As much as I love about the new version of VS2005 I suppose I do have a decent sized list of things that drive me crazy. 2 years of "look what's coming" presentations and yet we still end up with some parts that seem very beta and incomplete. |
|
|
Re: Ask ElCid73 |
By Eddie Lopez on
4/15/2006 |
Me-
about the television- I don't think it's always about the actual channel numbers- but the way channel guides are listed: Look at this, You have to page down to get increasing channel numbers... http://my.opera.com/usability/blog/show.dml/61589
|
|
|
Re: Ask ElCid73 |
By Eddie on
4/15/2006 |
eh- I added too soon- tack this on the end of the previous comment...
So, we have BOTH of the situation that Iyla described above in the same UI for changing channels.
The Increase/Decrease with the channel numbers, and the Prev/Next with the guide. I think we all can seperate them pretty easily, but it's still (at the very least) strange.
And Dan- I do like the idea of moving the arrows to point left/right. Nice solution. |
|
|
Re: Ask ElCid73 |
By Ilya Birman on
4/15/2006 |
On left/right - @infrandom, @Eddie, guys, you are missing the fact, that left/right arrows should still work for moving cursor through your code. And if they put left/right arrows in the suggestion box itself, but use up/down on keyboard, THAT would be confusing :-)
On TV remote controls. On my satelitte receiver I can choose a channel from list or by just selecting next/prev (as on a regular TV). In a list view channels go from top to bottom, of course, so if your current channel is 5, "up" will go to 4 and "down" will go to 6. This is logic. Without a list view, however, "up" will go to 6 and "down" will go to 4. Logic or not, but that's how every TV on Earth works, so that's how it should have been done. So let's call it logic too. Now we have two logic thing that are 100% opposite. Well, OK :-)
What makes me crazy is that the list goes away after a number of seconds of being displayed. So, if you think too long in a list mode, and then decide to switch to the next channel 6, but the list has time to dissapear - welcome to channel 4 :-) |
|
|
Re: Ask ElCid73 |
By Eddie on
4/15/2006 |
I see your point. I didn't think about it because I never use left of right to move through code there..
also, it's strange that it would use different behavior than it does when invoking a method on an object- you get this interface: http://my.opera.com/Eddie_Lopez/homes/files/VS2003.gif which seems like something dan would like prefer here as well (although it would have to be bigger to allow the full method signature, which is why it's probably not used)
I'd also say that it currently behaves the way I would expect it to (and prefer) just that I can understand- especially a programming tool- to have the up arrow logically map the the increasing method signature.
And on the TV- I don't think I would call it "logic." I would prefer to call it "convention." as I did in my first post. Referring to this quote: "so if your current channel is 5, "up" will go to 4 and "down" will go to 6" I'd say that it would defy logic *if* your remote has a "plus" sign on the Up button and a "-" sign on the down button.
Again- I'm not disagreeing, because as I've mentioned, we have the list view of the channel guide which is different than the "channel increment" up/down controls, and these are ok- I think we get most of that. But I will disagree that this is logic. It's convention. Sometimes we just have to go with the flow.
For the sake of argument let's say the Dvorak keyboard layout proven to be more effecient, more logical etc, etc (yeah, I know, let's just pretend though)... but getting people to use it is an entirely different matter. The conventional keyboard is so ingrained and pervasive that it continues to win out. Convention wins out.
There- now I've changed the subject *twice*
Going back to our IDE comments- this is a bit more than just convention though. As we've all said, it has to do with the way we read.
Maybe Dan needs to dissassociate the up/down arrows on the keyboard with greater/less and just map those instead to mean "scroll up/scroll down" "prev/next" or "older/newer"... whatever is more intuitive to you.
I'm just saying that putting numbers there doesn't seem to help him.
In any event, this is what I'm talking about. I can't believe how much I'm thinking about all of these subjects just because of this strange little feature of VS2005. This is why I love my usability blog, and hearing people talk about other points of view and hearing "but you're not thinking about..."
And in conclusion- Dan, your comment form on this blog is kinda crappy. I doesn't help people write long comments. Either increase the default number of lines shown, or add a preview button :)
|
|
|
Re: Ask ElCid73 |
By infrandom on
4/16/2006 |
Eddie,
Yeah, that's the old VS2003 interface and now I'm reminded why I never hit this problem before. But your example image isn't quite the same situation, that's fine to only show the method name, its when you get to the "(" that you need to know about the signatures. If I recall, VS2003 (it hasn't even been that long but it pains be to load VS2003 to verify) also pops up the yellow signature help box once you hit the "(".
So I'll just state it here once, the remaping my keys to a more preferred function is a great idea. One that I'll never do. I just use way too many computers for me to try and manage keeping all my key mappings in sync. Just for right now I have a work desktop, a work dev server, a work laptop and my currently only one hooked up home computer. Each of which I might fire up Visual Studio. To find myself working on a machine that's not in sync would be fustrating. Perhaps I'm exagerating the time cost of making the changes when I discover the error, but then there is always that feeling of having to sit down at some one else's computer and not being able to have you own custom mappings. This is why I just keep it standard.
I have too many projects going on at once. Personal site customization got some time slicing this week. Your request is put into the queue. (needs an image upload feature too) |
|
|
Re: Ask ElCid73 |
By infrandom on
4/16/2006 |
Ilya,
Ok your right, I overlooked that fact. But now you just reminded me of one more thing. I'll argue that my up/down/left/right arrow keys should be never be locked from their intended purpose, to move my cursor around my text editor. Sooo many times I find myself mid function call needing to look up a variable name or some other reference before I finish. I don't try and use a mouse if i don't have to make the extra arm movement. So here I am I type the following...
myObjectThing.doesSomething(
and there I stop realizing I need to do something else somewhere else. Intellisense has said "Oh hey, he needs my help!!" and has poped up the method signature to which this doesSomething happens to have more than one. Here I am hitting trying to get a screen higher to see what I'm looking for. Its like a bad dream where you're being chased and your feet are moving full steam but you're not going anywhere. Intellisense has you locked in its tractor beam.
I won't pretend to have a better solution, I'm just stating that gets dang anoying after time.
This thread just reminded me of another item I have a love hate relationship, and I know The Cid is familar with it. I might have to post another question. I might have to mail a product out to him too for testing before he can render a full desision. |
|
|
Re: Ask ElCid73 |
By aster on
12/30/2009 |
| Merci pour cette information intéressante et commentaires!<br><a href="http://www.jouercasino.eu">casinos virtuels</a> |
|
|
|
 |
|