The page you see before you in an aggregation of tools. Parts of the page are automatically generated by tools (mostly Radio macros, such as the calendar on the right). Others are generated by tools based on manual content I wrote (the blogroll comes from a tool that processes OPML files, this paragraph I wrote directly). Then, some of the text on the page has been created completely manually (do a "view source" and check the stylesheet section).
In all cases, we have tools injecting HTML content that is aggregated into a single HTML file. This is how the Web works today, and it is completely stupid.
Here is a simple example: I added a blogroll today. Adding the blogroll-invoking tool to my template required me to go looking for the best place in the template file to invoke the macro (pushing aside tons of HTML table tags), then writing an OPML file, and then to modify the HTML's stylesheet section.
Now convince me that having two references to the blogroll (one is the styles associated with the blogroll and the other is the macro invocation code) is a good thing. It's not.
We need to solve this kind of problems. Image a "blogroll" control we put on a template page. (If Radio had some design-time tools like VS.NET/ASP.NET, this could be a real scenario.) It is obvious to me that how this tool looks should be:
- A separate issue than the tool's content model; and
- A separate issue than the page's style/rendering model
How? One way would be for each tool to "inject" HTML that is completely self-reliant. For example, have each tag declare its own STYLE="...". This would be stupid. Another way would be for the infrastructure that invokes the tool allow it to inject style information which is then aggregated from all tools.
This is in no way a done deal.
|