If only everyone would

Jon Udell has an idea:

Authors should think of the first HTML element (normally a paragraph, but could be a list or a blockquote or something else) as special: the lead, or deck, that will appear in a front-page view.

If you write every entry so that the first block-level element is also a summary of your post, then an aggregator can use that as a teaser. If you subscribe mostly to big-J journalists’ blogs, especially journalists “of a certain age,” of course you already have that: once you get in the habit of writing inverted pyramid leads it seems like the natural way to write. However, there’s a whole lot more to blogs than essays written by journalists.

I’m trying to picture an inverted pyramid lead for Steve’s To Furnace With Love, but I just can’t see it working.

Also problematic: Jon probably thinks that the first block-level element of his post is the intro to the blockquote, the blockquote, and the ‘graph afterward. Not so. Blockquote’s a block-level element, so there’s an implied </p> before the blockquote, and his lead for that post is nothing more than: In his essay Birth of the NewsMaster, Robin Good writes:.

There is an alternative, however. Jon concludes by saying: By the way, in case it isn’t obvious, the RSS/Atom controversy is irrelevant to this discussion. Actually, it is relevant. For I don’t know how long, maybe 18 months, my RSS feed has had a hand-written excerpt in the <description> element, and the full content of the post in the <content:encoded> element. Anyone who wanted to could build an aggregator that used my excerpt in a broad-brush overview display, and the full content in a detail view. And with a little searching around, they could hard-code it to display the dozen or so other feeds that do it that way. Unfortunately, since an RSS <description> is whatever someone happens to want to put in it, from a few words to tease people looking at My.Netscape in 1999 to an onslaught of HTML-soup, there’s just no way you can write an aggregator that will behave well trying to treat <description> as a description. atom:summary and atom:content? Unless they get debased by too many autogenerated excerpts and full-content that doesn’t belong, you’ll know just what they are: a short summary for your overview view, and the content for your detail view.

Yeah, I’m trying to force people to write my way, too, wanting them to write an excerpt for anything that’s too long to be self-excerpting, but I bet I’ll have better luck getting them to add a separate field than Jon will getting them to change the way they write their actual posts.


Comment by Mark #
2004-02-28 03:52:34

Headline: ”Professional journalist urges everyone to write like a professional journalist”

Subheadline: ”Doesn’t realize the effect of his own tools”

Details at 11.

Comment by Jon Udell #
2004-03-01 09:12:34

| I’m trying to picture an inverted pyramid
| lead for Steve’s To Furnace With Love, but
| I just can’t see it working.

Actually I think the first paragraph of that piece makes a wonderful standalone lead-in!

– Jon

Comment by Jon Udell #
2004-03-01 09:34:44

Regarding the Robin Good example, BTW, good point. Apparently I broke my own rule in that case, but later corrected it in the database.

If you check this query:


you’ll see that the first paragraph element contains the quote, which is what I intended and what I normally do in such a case.

This method may not be for everyone. It’s certainly not useful for a blogger who writes a series of untitled one-liners, as some do. But on the other hand it’s by no means only useful to ”Big-J” journalists ”of a certain age.”

Comment by Phil Ringnalda #
2004-03-01 10:17:40

Don’t go taking that ”of a certain age” too personally: after all, despite never being a big J, I had inverted pyramids pounded into me when they were likely to start ”Senator Sam Rayburn today…”

I simply choose to write in a very different style. It’s not especially useful for scanning, but it pleases me.

As to the blockquote, I wasn’t nearly clear enough: yes, as far as generic XML is concerned it’s inside the p element. However, I don’t know quite how it’s staying there, since I thought I remembered reading that one part of your workflow is to pass your posts through HTML Tidy. An element P ”cannot contain block-level elements” and there’s no doubt that blockquote’s a block-level element. The easy way to see what your markup really implies is to highlight that section and right-click – view selection source in Firefox, because that gets you the as-rendered source, where you’ll see that after (sorry) tag-soup processing, you have:

<p>In his essay <a href="http://www.masternewmedia.org/2004/02/19/the_birth_of_the_newsmaster.htm">Birth of the NewsMaster</a>, Robin Good writes:
</p><blockquote cite="http://www.masternewmedia.org/2004/02/19/the_birth_of_the_newsmaster.htm" class="personQuote RobinGood">
I have seen and heard of people subscribing to hundreds if not to thousands of feeds inside their RSS aggregators.
Is that manageable?
Do these people get better and more information than everyone else?
It is not.
They don't.
Information architecture is one of my abiding passions.

Interestingly, when I just ran your page through Tidy, it didn’t object to the blockquote in a p, though it did a rather odd substitution of a br for what would otherwise be the end tag for that paragraph, so I assume it’s just letting you use unclosed paragraphs, and not bothering to tell you that the blockquote implicitly closed your paragraph. The HTML validator is much less fond of implicitly closed paragraphs, and will tell you that ”element blockquote not allowed here.”

Comment by Jon Udell #
2004-03-02 13:02:36

| An element P ”cannot contain block-level elements”

Oh. I guess I’ve been wanting to pretend otherwise :-)

| and there’s no doubt that blockquote’s a
| block-level element.


| I don’t know quite how it’s staying there,
| since I thought I remembered reading that one
| part of your workflow is to pass your posts
| through HTML Tidy.

It was. But I quit doing that when I began enforcing well-formedness. Of course, as this example shows, well-formedness != XHTML validity.

Thanks for pointing this out. Clearly I have been deluding myself in one more vain effort to avoid abuse of the DIV tag.

This whole business of generic HTML-like XML vs. XHTML is perilous, I have to admit, but it’s also incredibly useful.

– Jon

Comment by Phil Ringnalda #
2004-03-02 19:40:46

The worst part is, my utterly pristine and valid XHTML doesn’t get used as XML in any way, while your mucked-up, invalid, tag-soup, pure-evil, what’s-that-supposed-to-be markup actually does serve a purpose. If it wasn’t for the risk that someone will run you through Tidy and give you unexpected paragraphs (and unexpected naked text, too, quite likely), I’d say just stick with what works, and never mind the validation. But sure as anything, while I was typing that, someone was putting the finishing touches on their ”RSS – Tidy – XHTML (Search|Parse|DB|Whatever)” product.

Name (required)
E-mail (required - never shown publicly)
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <del datetime="" cite=""> <dd> <dl> <dt> <em> <i> <ins datetime="" cite=""> <kbd> <li> <ol> <p> <pre> <q cite=""> <samp> <strong> <sub> <sup> <ul> in your comment.