But what if I want to customize my template a little; for example by increasing the size of my blog’s title or changing the color of the date headlines?
Ugh. I have to look through the raw HTML to find the right CSS class or id:
Making this minor change requires the same level of expertise as creating an entirely new template.
One thought is to go as high-level as possible: let users adjust page elements' properties by right clicking on them. To change the color of the date headlines, just right click on one and select “Change color”.
This interface is friendlier, but its ease of use comes at a cost. Consider: when you select “Change color” on a date heading, how can Blogger determine whether you want to change the color:
Of every date heading on your blog
Of the first date heading on every page
Of just this particular date heading (perhaps it’s your birthday)
HTML/CSS is no fun to work with, but it has the benefit of allowing the user to unambiguously specify which one of these he means.
So while my proposed WYSIWYG interface for configuring Blogger templates could supplement the existing interface (say by only allowing you to use it for blog-wide changes), it’s not powerful enough to replace it.
This shortcoming is actually an instance of a more general class of problems that plague all WYSIWYG editors — i.e., an interface that only lets you modify the way an individual element in a document looks cannot always capture your intent (since changing the formatting of an individual element can be in aid of any number of higher-level goals).
This is why using Word is such a pain in the ass. There’s no easy way to specify whether you’re bolding a line because it’s a chapter heading (and therefore you want all other chapter headings to be bolded automatically), or just because you’re trying to emphasize it. Word’s default behavior is to assume that every change is local, which is fine until you have to change the font of 50 chapter titles manually.