Everybody knows a good UI is important; everybody adds help and documentation to his or her solution. Well, are you sure? In my opinion, it is worth repeating the importance of those three things.


You can start with UI. Web applications are now fashionable; many Windows applications are converted to thin-client versions. Many times the new interface means pain for end users. To me, it seems that people are forgetting a Windows application can consume Web services. Some developers forget administrative tools need interface as well, not just end user tools. I can give a concrete bad example: SQL Server Reporting Services. You can configure SSRS through XML configuration files. What is the default interface? Yes, yes… good old Notepad. Personally, I do not really care how SSRS stores its own information – in a database table, registry, or XML file. I become concerned when I see you have to change properties directly, without a UI. Make an error, and your SSRS will stop.


The more complex a system is, the more help users need. I cannot say I still see IT systems without help; at least in places where I was hanging last couple of years, help was always available. I can complain about quality of help though. How do I measure quality? Simple – the faster I find an answer for my problem, the better the help system is. Do you want a bad example? In my opinion, SQL Server 2000 Books On-Line were better than they are in version 2005.


Finally, let me talk about the documentation. How much documentation a system needs? Again, I can say the larger the system is, the more. To be more database specific: I would not recommend buying a system without good documentation of the database model. Some developers tend to hide the database design, as they would like to prevent intellectual property thefts. Well, we have two problems here, not just one. A design might be intellectual property of a developer; but the data belongs to the customer. The laws already protect developers in majority of countries; who protects customers? As a customer, I would always insist to have unlimited access to my data. To get it, I need to know details about my database design. What can I say about thefts of design? I am quite sarcastic here. Why do people think their design is so special that someone would steal it? From my experience, designers who wanted to hide the model most of the time really had a reason to hide it. However, it was not the threat of theft; it was a threat of mockery that made me think they really should hide it.