I'm currently working on ways to 'skin' content-based web pages using open, standards based techniques. My goals are to come up with a way to style things like blog pages, wikis, and modules within these types of pages, in a way that is safe, is totally content-agnostic, and can be tweaked by non-programmers. The obvious answer here is "use CSS style sheets" and that's of course exactly what we're doing. As we all know, though, CSS doesn't cover all the things that it really should, and we're also interested in being able to provide enough metadata to describe things like skin themes, or "a theme with five color variations, pick one variation at a time" in one package, provide thumbnail previews, have related skins for related pages (like the front page of a blog vs. an individual entry page, which might get slightly different yet consistent styling) .We're also interested in a packaging system to let people grab, tweak, and mash up skins as much as possible.
Prior art includes:
o MSN Spaces themes (categories like Animals, Music, Occasions, Simple themes, Art, Nature...) and thumbnail previews of themes like "Green Flowers", "Blue Flowers", "City Skyline", etc.) Mostly sets background images and colors. Not a lot of customization possible. Doesn't affect custom content added to page.
o LiveJournal Layout/themes (names like 3 column, A Novel Conundrum, Classic, Variable Flow...) and variation themes within each layout (Blue/Black/Red). Layouts include layout and display decisions, and variation themes just tweak colors for the most part.
o Blogger templates -- control all content, including CSS styles and an HTML content skeleton. Names like "Dots", "Dots Dark", "Harbor". Changing a template deletes all customizations or content other than the basic blog entries for each blog.
o All the various custom CSS styles/color theme pickers that appear on web sites to dynamically update the colors/themes/etc. Extreme example is of course CSSZenGarden, but that CSS is very content-specific (and we're looking for content-agnostic styles).
Naturally, we have a microformat proposal draft already in progress as well as some prototype implementations but I'd really like to throw this out first to see what kind of interest there is in this problem space. One other requirement I'd thought of is that there might be a good reason to use "microskins" corresponding to particular microformats, providing default looks for things like hCard, hCalendar, etc. Perhaps the ability to compose skins would be useful.
One of the things we're running across that CSS doesn't handle is the need to utilize _javascript_ to get a reasonable approximation of rich web page designs. It's possible to do things in a cross-browser, standards compliant, content-agnostic, semantic-markup, non-scripted way; pick any four out of five. On the other hand, _javascript_ might not be acceptable in some cases; it's useful to have a way to declare up front what the requirements are. Having a way to say "this site is compatible with hSkin 1.1 (_javascript_ OK)" in a machine readable way might be useful.
As an aside, of course we're working have this operate smoothly with Kevin Lawver's modules. They're nicely complementary.
--
John Panzer
Sr. Technical Manager
http://journals.aol.com/panzerjohn/abstractioneer
_______________________________________________ microformats-discuss mailing list [email protected] http://microformats.org/mailman/listinfo/microformats-discuss
