I have a bee in my bonnet about admin interfaces. To my mind, there are two main mistakes that developers make when building admin interfaces:
1. Rigidly following the database schema
The most common mistake by far is when a developer simply builds a front-end onto the database tables. This is fine if you understand the database structure and how it relates to the application but is not very task focussed. In many cases, an admin interface is built so that the ceveloper can hand over the running of an application to somebody else. It is common that this administrator will be aware only of tasks that need to be performed i.e. check new user registrations and either approve or reject them. If the admin interface is just a front-end onto the database this task may involve listing all user records where status=’new’ and then editing each record to set the status to ‘approved’ or ‘rejected’. To a developer that is pretty straightforward because that is how the application gets the status of the user. To the administrator this is a long winded way to perform what should be a quick and simple task. Instead the interface should alert the admin to the addition of new users and then allow him/her to quickly skim through the new users viewing any relevant details and simply mark them as approved or rejected.
Administration interfaces should be built to be a business intelligence tool, streamlining the daily management of the application.
2. Failure to distinguish system and application administration
This is something that applies more to web applications than to other software. It is often the case that a system will require system wide administration in addition to instance admininistration.
The system administration should deal with the low level managment of the application, if there is anywhere that a front-end to the database approach might be appropriate then it is here. Again it’s not appropriate if an understanding of the database structure is required as the system administrator will not always be the same person as the developer.
The application admin should be high level administration – dealing with the overall management of the application, this may only affect a single instance of the application i.e. one that is created for a subset of the system users.
In Conclusion…
It is always best to aim your admin interface at the same technical ability as any other user of the system. Very often the person who is handed the task of administering an application is a business manager not a technical person. They are interested in business metrics not database statistics.
I know that I could have clarified this point much better so I’ll think about writing on this subject in more depth at a later date.
Digg This







