To make the interface less confusing to new users or less technically inclined people it would be nice if it looked less complex. E.g. when you want to automate only a few devices the main page should only need to contain a few sub pages, one for controlling the devices and one for settings. Right now the main web page contains links to lots of pages that only work after some extended configuration (mail, security cams, agenda, phone calls, comics) and this can be confusing.
Those links should only appear when the related code is configured in Misterhouse.
We have a good method of allowing users to include / exclude common code modules in the web interface now (it could use some AJAX though). A couple of options for making this better are:
a. Place if/then checks in the web interface to only include pages / graphics if the related common code module is activated. This should be relatively straight forward to do by simply setting variables in the common code modules then checking for the variables in the web interface code. However, this may be more difficult to maintain in the long run that the next option.
b. Redesign the web interface and common code such that the common code dynamically registers the web content. For instance the first page might list icons from a global hash. Once enabled Common Code might insert another icon in this hash. The interesting thing about this option is that user code could easily extend the interface without needing to wholesale replace existing web content (the way it works today). MH code upgrades should be much less painful for users that want to customize their web layout.