Friday, September 30, 2005

Dashboard design thoughts

I've been thinking about the dashboard some more. I can see it being useful if it can accurately display the status of an application. The business rules of how that status is figured out can be very complicated, so the design I've come up with is a main application with plugin .dlls that implement an interface. The plugin .dlls each monitor their own piece of the pie on a timer that is specific for each one.

Then a main applicaiton uses a listview to display a color, status, description, and other information about the application.

The main application would have to be able to minimize to the tray. If any one monitoring applicatin had trouble the application would pop up on top. Double clicking on the item that was in trouble would open up a form (entirely supported by the child .dll) that would give any additional information that it had about the problem.

I like this method because it is easily extensible. The main app just monitors status and passes off all additional responsibility to the plugin .dlls. Each plugin .dll could also have a configuration form or panel that allows the user to change settings of the timer or connection string or whatever else they need to change related to how the plugin was programmed.