vCard

I’ve been playing with the vCard format for a project at work and I gotta say, there’s a technology that’s begging to be re-implemented in XML. I mean, here’s the behind-the-scenes formatting of a vCard file:

BEGIN:VCARD
FN:Mr. John Q. Public, Esq.
N:Public;John;Quinlan;Mr.;Esq.
BDAY:1995-04-15
ADR;DOM;HOME:P.O. Box 101;Suite 101;123 Main Street;Any Town;CA;91921-1234;
TEL;PREF;WORK;MSG;FAX:+1-800-555-1234
END:VCARD

…with a bunch of arcane rules for delimiters and encoding. Uh, hello? EDI? 1989 called, and it wants its format back.

Wouldn’t something like this XML mockup of the same thing just make more sense?

<vCard>
  <name>
    <family>Public</family>
    <given>John</given>
    <additional>Quinlan</additional>
    <prefix>Mr.</prefix>
    <suffix>Esq.</suffix>
    <formatted>Mr. John Q. Public, Esq.</formatted>
  </name>
  <dob>1995-04-15</dob>
  <address>
    <type>Domestic, Home</type>
    <po>P.O. Box 101</po>
    <extended>Suite 101</extended>
    <street>123 Main Street</street>
    <locality>Any Town</locality>
    <region>CA</region>
    <postalCode>91921-1234</postalCode>
  </address>
  <telephone>
    <preferred />
    <type>Work, Message, Fax</type>
    <number>+1-800-555-1234</number>
  </telephone>
</vCard>

About RSS

Warning: technical entry. Feel free to skip if you’re so inclined. Today I’m talking about RSS.

RSS stands for Really Simple Syndication, and it’s essentially a format for delivering data and content in an XML (read: structured) format. What kind of content? Well, any kind, really. Right now, the types of content you’ll most likely see RSS being used for are weblog entries and news stories (although some might argue that those are essentially the same thing). The important thing is that if you follow the appropriate standards and set up your RSS file accordingly, then any program designed to read/parse/process RSS can deal with it.

The most striking thing I discovered when setting up the RSS feed for my site was how easy RSS is. I was literally able to build the RSS template file and write the code to parse content from my database into it in less than one day. And you know what? It worked the first time. Yes, it’s that simple. It really is. Dave Winer keeps hammering this point. He’s right on.

In the last few months I’ve been getting more and more into the world of weblogs and the technologies behind them and the more I read, the more potential uses I see for RSS.

For example:

  • Setting up an RSS channel on The Brew Site that lists all the recently added or updated breweries.
  • Setting up another RSS channel on my own site here for the free ebooks page—listing all the available ebooks, or newly added ones.
  • eBay. RSS channels by category, or even custom RSS feeds based on keyword parameters.

Want more examples? Check out Tim Bray’s excellent suggestions.

So, RSS is an XML file, and it’s really easy and intuitive to set up and use; what’s to prevent me (or anyone else) from setting up my own XML file with my own format and set of “standard” fields and metadata? Well, nothing, really—that’s the beautiful thing about XML. However, were I to set up my own XML data delivery format, who would use it? And how would they use it, much less find out about it? I’d have to generate a critical mass of interest to get people to view it, to write programs to parse it, to support it. Personally, I don’t have that kind of time (or mindshare) to devote to it, though it could be done. (It is being done, in fact. Check out this site to find out more about an alternative format to RSS a bunch of developers are, er, developing.)

Speaking for myself, though, why bother? RSS is already here; it’s dead-simple; it’s widely deployed; it’s extendable; it’s being used. I can write software to produce RSS feeds from all manner of content and know that it can be parsed and utilized by other software that can (and will) do very cool things with my content that I might never think up.

Goddamn, that’s cool.

No clever title

I love the irony in this Slashdot posting: “XML Co-Creator says XML Is Too Hard For Programmers“. Reads to me like a title The Onion would publish.

Anyway. The Slashdot post led me to Tim Bray’s weblog, which is pretty cool to me. (But then, I’m a geek and this probably won’t be as cool to you.) This is the guy who helped invent XML. His blog posts look pretty insightful and/or entertaining, and I rather like the design of the site. Simple. Uses CSS for all the layout, no HTML tables. Nice. I need to brush up on my CSS.

On another note, I’m finally re-launching The Brew Site. I’m working behind the scenes to get all the PHP working and the site active, but I figure if I don’t do this now, I probably never will…