Whether you are developing a line-of-business application internally or to be sold, and whether it is web-based or thick-client, it should support a few key features that far too many applications fail to do.
1. Global search
An effective search can make a system vastly easier to use. It should be immediately available, and work consistently, from any area of your application. It should also be as simple to use as Google (enter some search terms and hit “Go”), but should allow for more advanced capabilities such as filtering, or exclusions, through a documented syntax. This advanced syntax won’t be used by perhaps 80% of your users, but for the 20% who do it will be a critical feature.
2. Single sign-on, leveraging Active Directory
Almost every organisation uses Active Directory, or a similar system, so there’s no need to have your own users table. Instead have modules which you can plug-in to allow you to talk to their identity management system. If your application has a permissions system, you can store the permissions there as well. Administrators will generally have a great deal of experience of their own systems, so your application will fit in with their existing workflow better.
3. Report errors centrally
As well as reporting the error to the user, report it to yourself. If you are a developer working inside the company, send yourself an email, with the user, the error, and the location of the user within the program (e.g. the URL, a stack-trace, etc). If you are an external developer, call a web service to create a ticket in your support system. If you contact a user about a problem, rather than them having to contact you, you will have made a client for life.
4. Accelerator keys
Some users are very happy with a mouse-driven application. However, wander down to the finance department and you will see they rarely take their hands off the keyboard. If you can drive your application using the keyboard, perhaps by incorporating accelerator keys, you can increase their productivity by two- or three-fold.
5. Coding ID numbers
Prefix a letter to the internal ID numbers of your applications data can be extremely useful. The last system I worked on was a property management application for lettings agents. We prefixed all properties with an R, all clients with C, all maintenance jobs with M, etc. So, R123456 would be property 123456.
This was used in a number of places. Entering the ID into the global search would instantly take you to the relevant web-page, while system-generated letters would have a reference built up from these numbers.