As a developer, very few things irk me more than seeing software that was designed by people who either don’t know or don’t care about how the users will interact with the software. This can be seen in many programs, from useless or confusing error messages (Eg. BSoD) or unintuitive interfaces that have no consistent tab-index and confusing labels. It annoys me especially because it makes us all look stupid & generally reinforces the image of the computer nerd as being someone who has little or no contact with The Real World™.
Taking the time to look at your software/website from the user’s perspective is absolutely critical if you want people who use your software to praise your name, rather than issuing a plague o’ both you & your company’s houses. This issue was brought up to me again recently while I was trialling a copy of Microsoft SQL Server. The trial version has a (fairly impressive) 120-day trial period. This is fine. However I get in to work one morning & the site that I’ve been developing to try out the software won’t load, complaining about the database connection failing. I check the SQL Server Agent & the server is in fact not running. I attempt to start it again, but it won’t. No error message, the agent just tries to start the program then reports that the server isn’t running.
Really helpful.
I do a full re-boot of the computer, but to no avail.
I then start digging into the server logs to see if there’s any more information there. In the application log I come across this helpful error message: 
Yes, that’s right, error %%0. Thanks very much. So I keep digging into the logs until I finally come across this message: 
The trial period had run out. That’s it. There was no warning, no Your trial will expire in 5 days
or something like that. Not even an error message when I tried to re-start the server. How hard would it have been to have some sort of user-alert about this. I understand that this is server software, so people won’t normally be there to see an error message, but when you try and start the software manually, obviously there is someone there to view the message. If you can write to the application log, you can write a message box.
SQL is, IMHO, quite possibly the best piece of software that Microsoft have produced. It’s a very well designed & powerful DBMS. This small failure in usability design could quite easily fool people into thinking there is something wrong with the software, which would put therm off actually purchasing the product.
Here endeth the lesson
Mate,
With all due respect, Microsoft did not design or build MS SQL.
They had a long and sad history with an existing DBMS vendor, where they (MS) wound up with the previous version of MS SQL.
Adding some polish and some problems to an existing code base is not the same as having produced the thing in the first place.
Having used and deployed a great many database systems over the years, on a great many different (Non MS) platforms, I can authoritatively state that MS SQL, as at 2008, is no great shakes.
However, having said that, neither is Oracle, or some notable others.
They all have their problems, quirks, shortcomings and odd behaviours.
Sadly, although I am no fan of the Microsoft product, I am also no fan of most of the competition, or the wanna be’s.
The reason for this sad attitude is simple. As you have noticed, no one wants to truly own their product.
Once apon a time, when you put your name to something, you also made sure that it wouldn’t embarrass you.
If it did, it was quickly and quietly fixed.
Sadly, for many vendors, such a concept is as alien as respecting their customers.
Until the IT industry stops referring to it’s client base as users, a distinction shared only with the Medellin drug cartel Drug cartels, such sad oversights will continue.
The moral of this ramble is simple, respect your client base, respect yourself, respect your tools and take pride in what you create with them.
For those that fail to understand this, understand this. We will all continue to suffer.
For those of us who suffer to much, we tend to change vendors, usually to those that make us suffer less.
Mate,With all due respect, Microsoft did not design or build MS SQL.They had a long and sad history with an existing DBMS vendor, where they (MS) wound up with the previous version of MS SQL.Adding some polish and some problems to an existing code base is not the same as having produced the thing in the first place.Having used and deployed a great many database systems over the years, on a great many different (Non MS) platforms, I can authoritatively state that MS SQL, as at 2008, is no great shakes.However, having said that, neither is Oracle, or some notable others.They all have their problems, quirks, shortcomings and odd behaviours.Sadly, although I am no fan of the Microsoft product, I am also no fan of most of the competition, or the wanna be’s.The reason for this sad attitude is simple. As you have noticed, no one wants to truly own their product.Once apon a time, when you put your name to something, you also made sure that it wouldn’t embarrass you.If it did, it was quickly and quietly fixed.Sadly, for many vendors, such a concept is as alien as respecting their customers.Until the IT industry stops referring to it’s client base as users, a distinction shared only with the Medellin drug cartel Drug cartels, such sad oversights will continue.The moral of this ramble is simple, respect your client base, respect yourself, respect your tools and take pride in what you create with them.For those that fail to understand this, understand this. We will all continue to suffer.For those of us who suffer to much, we tend to change vendors, usually to those that make us suffer less.