<Disclaimer>This is personal notes of what I retained during the session. This can be incomplete, partially right or wrong. It is just part of the notes I took and what retained my attention. Nothing prevents the user to get more information on their favorite web site.</Disclaimer>
One of the biggest complaint is that SharePoint OOB looks too much like SharePoint and that is a reason why companies started branding. But understanding SharePoint is needed and it is not like branding standard HTML sites. Do not modify OOB files, you loose the Microsoft support. Using solutions to deploy branding is a lot easier when time is to retract the branding. Create custom master pages, pages layouts and style sheets.
Do not use SPD for the deployment of branding, but can be used for the development. Moreover, when using SPD, it customizes the pages and affect the performances.
All the OOB files are not customized and resides on the file system. When becomes customized, it takes the file and puts it in the content database.
Saving a site as a solution is the recommended way by Microsoft. Recommended also to create a sub-folder for your branding.
Using a sandbox the solution has the benefit of not screwing your farm in case of issues.
Create brand keeping SharePoint in mind and implement the design using SPD and then transfer from the designer to the developer (backup of a site).
In VS2010, create an empty project targeting .NET 3.5 (uncheck the Create a directory for this solution). Add a module project item (delete the sample.txt file) and add the branded assets. It is recommended to create several modules to group the similar types of assets together. Change the scope to site collection and add a feature receiver to apply the branding attributes. Also add a feature receiver to retract the files as well. For branding child sites, add an event receiver as well. And test !
It is not recommender to use the publishing site template, but rather use another one and activating the publishing features afterwards.
The IgnoreIfALreadyExists property of the Module does not work. Even if the file exists, it copies the files.