User skins are an ideal FormOverContent LittleEconomy. People have varying aesthetics. Graphic artists have no normal contributory outlet for their skills in an OnlineCommunity. But if the graphic artists can create skins for the benefit of other users, both groups will have an increased satisfaction in the site. Provide some space for a market for the exchange of skins.
CascadingStyleSheets make user skinning easy provided the software emits well-formed HTML (HtmlIsAssembler) with good semantic names for various components in the output. You may want to go an additional step of making a template system (cf. TemplatedWiki) that allows people to customize what additional functionality they want in their interface. For instance, SlashDot allows readers to select which slashboxes to display, and LiveJournal provides a whole language to create very tailored views on the basic LiveJournal functionality.
<object/> tags). The only way this filter can work correctly is to be very conservative, rejecting all syntax that is not explicitly approved, since new tags are added all the time.
Another caveat is that bugs in the skin may be indistinguishable from bugs in the underlying software from a naive user's point of view. Developers working on the mainstream functional may field complaints for skins they don't feel responsible for.
One elegant design is to make the main server solely ContentOverForm. It will be a NetworkService? that acts as a MicroKernel? of the PageDatabase. This kernel merely will publish data feeds with a MachineInterface that are rendered by another layer of the software, potentially external to the main site. This facilitates WikiClients, including robotic clients, special renderers, sites capitalizing on the RightToInclude, and other exotic SampleAndMix? cultural forms. The UserSkin merely then composes the various feeds into some graphic design. It may not include all the possible forms. It may filter the feeds through a third-party service, or from another OnlineCommunity. Of course, presumably the main server will appear to most normal users as a "normal" site, as the main server will have some rendering module as well.