Tuesday, November 6, 2007

Links and Usability

Another developer told me that Amazon, Microsoft, eBay, and Apple were terrible sites. I completely disagree. Specially since Amazon and eBay have millions of users daily and I am sure some of them are not too bright. If their sites were confusing to the users they would loss business.

One of my favorite books is "Don't Make Me Think" by Steve Krug. In my opinion, the best book on Web Design and Usability. This is a “must read” for any web developer.
Steve goes back again and again to Amazon to explain why they are a great example of usability. Sometimes we need to break with OLD consistence practices to make a more usable site.

Don’t get me wrong, I'm all for consistence within a web site. Five years ago, I would not have questioned the usefulness of underlines on links. Yes, normal state, on hover, etc… ALWAYS use an underline on a link. However, web standards are changing constantly. There are advancements coming because the web culture is growing and changing. Developers need to keep up, or their sites will look as old and Windows 3.1.

It seems to me that an accepted practice for several years has been the design where "Navigation" links are expected to be on the top and/or left of the page. Often these links are encircled in someway to make them standout as "Navigation". They standout, and users have come to expect this on a page. Because the user knows they are there, the web developer does not need to make them look like every other link on the page. When you hover over them they change appearance. They may have an underline on hover over, the background color may change, and the mouse pointer changes. I like to do all of these. I was already doing all of these in my application. And I should say the site had ALREADY BEEN USED by 20 users with ZERO complaints about the navigation links. I know 20 is a small test group, but this application is intended of school professionals. They just did not need an underline to know they could click on it. Since there were no complaints, I believe it was obvious to the users that the words in the box labeled MENU were links. In the end, I added the lines in the CSS file to make the links in my menu have underlines ALWAYS because our manager wanted to error on the side of OLD link conventions. I really could not believe he and my coworker were making such a big deal out of it.

When my users are using the site, which by the way is a dynamic data entry, review, and collaboration web site meant for teachers, I want their eyes drawn to the content of the page, and not to the navigation stuff that appears on ever single page.

My real beef is against the mind set that this way is always the right way to do something.

Monday, November 5, 2007

Web Site Links Question

Jeff Atwood of Coding Horror had a cool post the Art of Hyperlinking.

I agree with almost everything he listed with regard to links.

However, it brought to mind a disagreement that I recently had with a coworker.

A coworker reviewed an application that I built and made the statement that EVERY LINK on EVERY PAGE should have an underline. I disagreed and was shot down. I was not complaining about the work. It was only a few lines in the css file to implement. However, if you look and Amazon, Microsoft, Apple, and other big name web sites that have millions of uses, they do not follow any rule that says EVERY LINK on EVERY PAGE should always have an underline. I was already using an underline on the hover over event, and changing the background color for the cell. They felt that was not enough, and was inconsistent. They said, that if you underline one link on the site, you should underline every link all the time.

So I guess my real question is what do you think of the rule that some want to make that "EVERY LINK on EVERY PAGE should have an underline"?

Friday, October 26, 2007

Validation and MaxValue

I am using a control that allows me to enter a number on a web form. Ex: We have a field for year. I can set a max value to 2020. What should happen if the user enters 9999?

Should it?:
1) Automatically change the value to 2020 when the control loses focus?
2) Allow 9999 in the display, but display an error message like (Max value allowed is 2020).
3) Other?

What do you think?

I like option 1, but I have a customer that wants the second option. Have have you dealt with this?

Friday, October 12, 2007

Open in new tab

OK, this is cool. I just had to share.
You can open a link in a tew tab in IE7 simply by holding down the Ctrl key when you click on the link.

Sunday, August 19, 2007

It can't be true.

Well, I am proud to be a visual studio developer. I know VB, C#, and 10 other languages. I love visual studio, and in general I think Microsoft is a great company. I mean, I would work for them. But sometimes I just have to take a step back and say "It can't be true!"



Do a search for the topic of developing code with admin rights. There are hundreds of comments with advise about how developers should not develop code under any administrative account. Clearly, this is a good practise in today's world. Developers don't need admin rights. The reasoning makes since. I agree. In fact, I don't just say I believe it, my company and I are drinking the cool aid. That is the way to have been developing for 2 years now. I develop using VS2005 on XP Pro and I am a standard user. It is a real PAIN sometimes. Sometime in the future I will have to enumerate all the issues I have encountered and how to get around them. There are lots of issues, but you can get around most of them. It is possible to develop code WITHOUT admin rights.



Soon our company will be changing my development box to Vista. I thought, sure, maybe I will do more .NET 3.0 development. (I know I can do that now, but when the company has Vista everywhere, the question of "Does the client machine have .NET 3.0 installed?" is gone. )Anyway, I was not worried. Then a coworker emailed me the following comment and link:



Microsoft’s advice when using Visual Studio 2005 under Vista: Run as an administrator. Period.
Here’s the link:
http://msdn2.microsoft.com/en-us/vstudio/aa972193.aspx



I do mostly web development against a local copy of SQL Server. The company now has a policy that developers can not develop as an admin.



I hope this is fixed soon. How are we suppose to follow the excellent advise to "code under any administrative account" if we have to using Microsoft's products. "Come on...." :(



Well, can I develop as a normal user with VS2008? I will look into that. Since you can target .NET Framework 2.0, 3.0, or 3.5 with VS2008, if standard user development is possible that would not be a bad change. I just have to convince the company to make that move as well. At this point, I can not assume anything.



OK more later.