I just finished implementing some cool features for customizing CiviCRM look and feel in v1.7. As most of you'll are aware CiviCRM follows a pretty good modular MVC (model-view-controller) architecture. We seperate the view (Smarty templates) from the code and business logic quite stringently and most of the display can be customized at the template level.
In 1.6 and prior, you had to hack the CiviCRM templates to make your changes. This is not very good from an upgrade perspective, since you need to reapply your changes on every upgrade. In v1.7 we've introduced a new path in the... Read more