stargeek
PHP news website logo.
home    PHP scripts    articles    seo tools    links    search    contact    shop    realtors


OPML Revisited







OPML Revisited

OPML Revisited 03/14/2005 05:44 PM

OPML is a simple, widely used, yet often misunderstood, XML format created by Dave Winer.  IMHO, misunderstandings stem from overexposure to traditional ways of using XML.  I must admit, I also laughed at OPML when I first looked at it years ago.  But when I cocked my head (a technique anyone can learn from their dogs), it began to make a lot of sense.

This is what I saw:

Infoset:

  • An OPML document is a collection of objects.
  • An object may have properties and contents.
  • An object's properties are unordered map of name/value pairs.
  • An object's contents are ordered list of objects.

Syntax:

  • Objects are encoded as XML elements named 'outline'.
  • Properties are encoded as XML attributes.
  • Content objects are encoded as child XML elements.

Once you get this picture in your mind, you start to appreciate OPML more.  Throw in display and interaction semantics builted into the format along with distributed object linking and embedding Dave often raves about and you got quite a beast of a language.

As to the question of who defines the properties, the answer is everybody does.  OPML is a kind of Emergent Markup Language in that common properties are expected to emerge through industry practices rather than standardization through committees.

There are some shortcomings with OPML though which I would like to see addressed.

OPML Wiki

OPML needs a wiki for OPML developers to interact with each other and to document how each of them are using OPML so that standard or type-specific properties may emerge.

Structured Properties

One weakness of XML is that, while elements may be structured, attributes may not.  Since properties are encoded as XML attributes in OPML, (semi) structured properties (i.e. HTML fragments) have to be encoded at the cost of readability.

I think the need for a wiki is far more serious than the need for structured property support.




This is a GrokNews Entry: (what is grok?)





Similar Items

OPML Revisited

Grok Headline matches for OPML Revisited

on OPML


on OPML 01/11/2004 09:23 PM

On my previous entry about Postel's Law, Danny Ayers made a comment, and to a part of it I said I'd reply in a separate entry. To make the question clear, I'll restate it here in a different way to involve the technology only.

Essentially, Danny was asking "If you have used OPML, would you agree that OPML does not follow this route you are advocating of adding as many constraints as possible to a spec, to make interoperability easier?" (Danny, if I misunderstood the question please let me know, but I'm pretty sure that was the essence of your comment, personal matters aside).

My answer to that question would have to be no, I do not agree. Let me explain.

I have implemented both readers and writers of OPML when used for RSS subscription lists for an end-user product (ie, clevercactus). And there is one main point that I've found frustrating, namely that the attributes used on the "outline" element vary between tools. I have previous ly noted, in another context the elements that would "complete the spec" by properly specifying these attributes.

However, I've come to the conclusion that this is not a problem with the spec itself, but rather a problem of what are we using it for. As far as I can read in the spec, it was designed to be a very simple and flexible storage mechanism. The first sentence in the spec says "This document describes a format for storing outlines in XML 1.0" (my emphasis). It doesn't say "This is a format for interchange of outlines" or anything like that.

That is, creating an interoperable format for RSS subscription lists was not part of the original "charter" of OPML.

Which is why I can't agree with Danny's statement, because the interoperability problems we all know about pop up when using OPML outside of its original intended domain.

As such, that is, as a format for local storage of outlines, the OPML spec might have done a good thing by keeping things very open. Note that the spec explicitly says, in its goals: "Outlines can be used for specifications, legal briefs, product plans, presentations, screenplays, directories, diaries, discussion groups, chat systems and stories." -- that's a big set of apps, and I'd be hard pressed to define a consistent set of common attributes for all of them. To be honest, if it was me designing it maybe I would have chosen a different path (like for example target less applications), but that's not really the point. Design is at its core subjective.

So. Given that OPML was not originally designed as an interoperable way to store feed subscription lists, the current situation is logical, almost predictable. It seems to me (given what I've seen--I might be wrong of course) that this is a use of OPML that grew in ad-hoc fashion and as such created some incompatibility problems. But is this a problem with OPML itself? I don't think so. Usage grew beyond its original intended target, and things got a bit messy.

Okay, that's my answer to Danny's question, but I just want to be clear on what I think about OPML given the current situation, as what I said above might seem a bit too ... err... "theoretical".

That is, we still have the interoperability problems for feed subscription lists.

However, now that it's clear that it has become accepted for that use, I noticed that Dave recently put up a short RFC that clearly states "Using OPML to exchange subscription lists". My comments from October last year would, then, apply in this new context, and the new RFC already covers part of them (the most important in my mind, which is the issue of standard attributes).

This new spec of "Interchangeable OPML Subscription Lists" plus the OPML spec itself (which doesn't necessarily need to change, since it is still relevant in its original intended domain) make a simple combined spec that is useful and already deployed (granted, some aggregators might be generating different attribute names that those on the RFC, but that's a tiny change, and none of the other items under discussion that I'm aware of are in any way "deal-breakers").

Hence, OPML applied to the domain of feed subscription lists in particular is a good solution, simple and to the point. And to me that's what matters: if something does what I need, it's simple, and it works, I'm all for it.


XML-OPML-0.1.6


XML-OPML-0.1.6 02/19/2004 06:06 PM

XML-OPML-0.1.4


XML-OPML-0.1.4 02/17/2004 10:32 AM

XML-OPML-SimpleGen-0.01


XML-OPML-SimpleGen-0.01 03/23/2005 09:32 AM

XML-OPML-SimpleGen-0.02


XML-OPML-SimpleGen-0.02 03/23/2005 03:44 PM

"Share your OPML"


"Share your OPML" 01/04/2004 03:53 AM

ScriptingNews2 and OPML too


ScriptingNews2 and OPML too 10/28/2003 11:06 PM
I've added ScriptingNews2 and OPML versions of my feeds.  If anybody has any interesting applications of these feeds, please let me know.

logos OPML directory


logos OPML directory 12/30/2003 12:06 AM

Oskar van Rijswijk has a great collection of OPML files on his site. Just browse his OPML directory in FeedDemon, then click any of the OPML links to create a new FeedDemon channel group.


"Share your OPML: Rankings"


"Share your OPML: Rankings" 01/04/2004 03:53 AM

Top 100 feeds, share your OPML!


Top 100 feeds, share your OPML! 01/03/2004 07:12 AM
I submitted my OPML feed tonight and was number 135 I submitted 399 feeds from my basic read list. This...

Share Your OPML Top 100 Feeds


Share Your OPML Top 100 Feeds 01/07/2004 02:58 PM
Share Your OPML: Top 100 Feeds, of course, has a feed for the list....

OPML, Book Authors


OPML, Book Authors 10/28/2003 11:07 PM

Just got back from a meeting with a bunch of book authors, here for the publishers' summit.  They're all under NDA, of course, but sometimes I am still surprised at how much some of these people know.  Robert Scoble is organizing a bloggers /authors dinner at Crossroads tonight, which I'll also be attending.

~

In other news, I finally admitted defeat in my effort to manually track all of the MSFT bloggers.  You will notice that my link on the left now points to an OPML file instead.  There are well over a hundred, and it was getting too difficult to keep up with it.  Now I can just maintain the OPML file, visitors to the site can import it to their news aggregators automatically, and it has an attached XSLT so that it renders nicely in the browser if you view it from my site.  I started with an OPML file that Benjamin Voigt kindly constructed for me, then merged with the OPML file from blogs.gotdotnet.com.  Strangely enough, I was still missing quite a few names after doing this (for example, Mark Fussell and Arpan Desai did not show up on the gotdotnet OPML, even though their blogs are hosted by gotdotnet; and Dare Obasanjo was not on Benjamin's list).  I suspect that there are at least 20 more MSFT blogs that I am missing, but this should be the most complete list available.

Note that the OPML file is rendered using the stylesheet at /blog/blogOpml.xslt, which is a ridiculously simple XSLT you can modify any way you like.  I would like to modify it to sort the blogs by most recent update, but really would rather not do that using XSLT.


share your opml subscriptions list


share your opml subscriptions list 01/03/2004 05:56 AM
ranking service

feeds.scripting.com
track this site | 3 links


MyYahoo Adding RSS, OPML Support


MyYahoo Adding RSS, OPML Support 01/23/2004 01:27 AM
Scott Katz, from Yahoo's MyYahoo personalization area, points me to a beta version of an RSS module for MyYahoo pages. He says:
"While still an early release, we'd appreciate it if you (and your readers) would help us test it and provide feedback. It's not widely available today -- you need to visit a hidden URL to add it to your My Yahoo page. Once you've got the module, you can search and add feeds or import OPML files."

OneNote OPML Import Tool


OneNote OPML Import Tool 05/03/2004 03:20 PM
Well someone has went and made a OneNote OPML import tool but how come they don't have an export tool....

Export Your NetNewsWire OPML List


Export Your NetNewsWire OPML List 10/29/2003 01:14 AM
NetNewsWire uses an OPML file for it’s backup/export means. This file has just enough information to do useful things with it. Go get PHP-OPML and upload it to a directory on your webhost. Export your NNW subscriptions and then upload...

Better Living Through Software - OPML
import for OneNote


Better Living Through Software - OPML
import for OneNote
05/04/2004 12:33 PM
the next version of OneNote will support importing OPML outlines .. Josh Allen wrote an OPML importer .. Wow, this is cool .. Netcrucible

netcrucible.com/blog/PermaLink.aspx?guid=57939c1e-9d53-4 d19-b9e6-7b6e2e852934
track this site | 5 links


XSL transform for OPML to Planet Roller
config


XSL transform for OPML to Planet Roller
config
03/14/2005 04:49 PM

Here is an XSL transform for converting a flat OPML file (like those produced by PlanetPlanet sites), to a Roller Planet config file (with all subscriptions in one group): opml2planet .xsl


"AIO G3 revisited"


"AIO G3 revisited" 08/23/2004 10:22 AM

fireworks, revisited


fireworks, revisited 07/02/2004 07:44 PM
Two years ago, I wrote an entry that endures as one of my all-time favorites.

It's timely and topical, and (most importantly) frees me up this weekend to hang out with my wife.

Longtime readers will probably remember this, and I hope that new readers enjoy it as much as I do.

It's called Fireworks.

Read the full entry @ WWdN!

Eldred Revisited


Eldred Revisited 08/23/2004 10:05 AM
Larry Lessig from time to time flagellates himself about losing the Eldred case in the Supreme Court. He shouldn't; it was unwinnable for a host of reason (the lopsided vote--7-2--is a clue). Yes, Congress can confer copyrights only "for limited Times," but what's "limited" is a matter of perspective. If...

Using PDF Services, revisited


Using PDF Services, revisited 12/27/2004 10:39 AM
This hint reminded me that PDF Services might not be getting the attention or respect they deserve. So here's a simple yet very effective tip that makes saving PDFs fun! Create a folder on your desktop called "PDFs to Read"...

Entry 1,000 Revisited


Entry 1,000 Revisited 09/09/2004 09:02 AM

Entry Number 1,000: One year ago today we hit 1,000 entries. How quaint.

Click here to comment on this entry


""Hacking" Revisited"


""Hacking" Revisited" 02/13/2004 02:37 PM

Strings, revisited


Strings, revisited 06/16/2004 10:49 PM
So, I finally did the last draft of the bytecode/assembly level string design for Parrot. It was a mixed bag--the per-string language tag is gone (darn!) but national character sets stay (yay!) with a set of "It's all Unicode no matter what you say" string ops thrown into the mix. Like any other engineering task with multiple conflicting requirements and strong proponents of different schemes, it's safe to say that everyone's unhappy with the result, but I think everyone can make do with what we have. What ultimately resulted, if you don't feel like going and looking up the post...

Flash, revisited


Flash, revisited 09/11/2004 02:29 PM
I’ve never liked Macromedia Flash. For longer than I care to remember, I considered Flash nothing more than an annoying tools for advertisers to waste my bandwidth and make me install yet on more piece of software on my computer. The irony of providing “rich content” advertising and leave ...

OpenBSD revisited


OpenBSD revisited 06/07/2004 03:46 PM

Ratings Revisited


Ratings Revisited 02/10/2004 02:50 AM
Updated my entry ratings code. Added IP Address storing. Added one rating per IP code.

MySQL and OS X Revisited


MySQL and OS X Revisited 11/23/2002 10:02 AM
via Apple's Internet Developer: "In this article I'll give you an overview of MySQL's features and drawbacks, show you how...

FIleVault Revisited: Yea Or Nea?


FIleVault Revisited: Yea Or Nea? 04/01/2005 09:29 AM

Newsletters Revisited


Newsletters Revisited 03/13/2003 12:53 PM

The CELL revisited


The CELL revisited 03/14/2005 04:51 PM
RWT posts a followup to their CELL article, and I revise my stance on the name "synergistic processing unit."

Python Revisited


Python Revisited 01/01/2004 02:44 PM
Happy New Year! Let's talk shop as usual.

Recently, we've been looking at developing some server software in Python. This is my first serious look at Python since 1999, and I'm impressed with the improvements. It's a couple of years older than PHP, and certainly more mature. Python has a reputation for being more rationally designed than PHP or Perl, and in general that's true; but you can still see Python's age in the fact that there are many APIs that do the same thing (eg. the string functions).

PHP is still a better language for web development because it is a simpler language, easy to teach to Java or Javascript programmers, has more flexible string processing, and designed to work well with templates.

But as a general programming language, Python has its advantages. You can build sophisticated networking software with Python that supports threads and asynchronous connections with reasonable efficiency (though Python doesn't really take advantage of multiple CPU's due to an internal global lock). The Twisted and Dibbler frameworks are testament to that. Python's C API is well documented and Python can be easily embedded into 3rd party apps.

Python is also a good source of design ideas. I have noticed that othe rs have realized that many good Java ideas do not translate well to PHP. There is an impedence mismatch; many things that are hard in Java are easy in PHP. It makes sense to create an elaborate framework in Java to do something that's hard in Java, but to apply the same to PHP suggests more energy than sense. In contrast, I suspect that Python and PHP are more complementary than we all suspect...

PS: We also had a look at developing the same server software using .NET. However .NET doesn't have builtin support for open protocols such as POP3 and IMAP. I continue to be amused at the (intentional?) omissions in the .NET framework.


The Bell Curve revisited


The Bell Curve revisited 07/16/2004 05:09 PM

Driving back and forth to Nashua, NH yesterday I listened to The Bell Curve as an abridged book on tape (picked it up for $5 in a used bookstore in San Diego).  This book created quite a stir in 1994 because of its discussion of average IQ differences among races but I had never read it.  It turns out that even if you leave out all the controversial stuff about race the book is potentially very relevant to our times.

The Bell Curve starts out by talking about how we live in an era where people get sorted by cognitive ability into socioeconomic classes.  In 14th century England if you were a peasant with a high IQ or a noble with a low IQ it didn't affect your life, reproductive potential, or income very much.  In our more meritocratic and vastly more sophisticated economy a smart kid from a lower middle class might make it to the top of a big company (cf. Jack Welch, who paid himself $680 million as CEO of GE) or at least into a $300,000/year job as a radiologist.  For the authors of the Bell Curve the increasing disparity in income in the U.S. is primarly due to the fact that employees with high IQs are worth a lot more than employees with low IQs.  They note that we have an incredibly complex legal system and criminal justice system.  So you'd expect people with poor cognitive ability to fail to figure out what is a crime, which crimes are actually likely to be punished, etc., and end up in jail.  (A Google search brought up a report on juvenile justice in North Carolina; the average offender had an IQ of 79.)  If they stay out of jail through dumb (literally) luck, there is no way that they are ever going to be able to start a small business; the legal and administrative hoops through which one must jump in order to employ even one other person are impenetrable obstacles to those with below-average intelligence.

The trend that the decade-old Bell Curve book misses is telecom and outsourcing.  The authors assume that an American with high IQ will have a higher income and better standard of living than an American with low IQ.  That's the sorting function of an advanced economy.  They don't get into the question of whether it is sustainable that an American with low IQ should have a higher income than someone in India or China with a high IQ.  Statistically you'd have to expect that there are more really smart people in India and China than the total population of the U.S.  If the sorting-by-IQ process were efficient across international borders you'd expect that an American with an IQ of 100 should be making less than an Indian with an IQ of 120.  Given that a lot of brilliant well-educated people in India are getting paid less than $5,000 per year, this is a bit worrisome those of us here who are fat, dumb, and happy.  [Imagine that you were running a company.  Would you rather employ a local high school graduate with an IQ of 90 or an Indian college grad with an IQ of 130 via Internet link?]

For us oldsters, one unexpected piece of cheerful news from this book is that younger Americans are getting genetically dumber every year.  Even if you ignore the racial and immigrant angles of the book that created so much controversy back in 1994 it is hard to argue with the authors' assertion that smart women tend to choose higher education and careers rather than cranking out lots of babies.  As a middle-aged (40) guy whose own cognitive abilities are beginning to fade due to neuron death I felt sure that there would be no place me for in the America of 2050.  Our population is predicted to reach 450 million or so, i.e., the same as India had back when we were kids and our mothers told us about this starving and overpopulated country.  An individual person's labor in India has negligible economic value--the American firm Office Tiger gets 1500 applicants, many of whom are very well qualified, on a good day in Chennai.  It would seem that no enterprise would need an old guy's skills in a country of 450 million; why bother when there are so many energetic young people around?  And how would we be able to afford a house or apartment if there are 450 million smart young people out there earning big bucks and putting pressure on real estate prices?  But if the book is right most of those young people will be dumb as bricks.


Amityville Horror, revisited


Amityville Horror, revisited 04/15/2005 11:07 PM
The house in Amityville with the fan-shaped windows making an inhuman face is the Godzi lla of haunted house movies. The town and current owner of the house where the DeFeo family was murdered try to downplay (registration required) its signficance. The trademark windows in the original have been replaced to disguise its identity, and lawsuits force studios to use a house-double. Although latest remake claims the status of "true story," the case has been widely dismissed as a hoax and the 2005 film has even rased the ire of George Lutz for how he is portrayed as the haunted father-figure. Other people involved in the case including convicted murder DeFeo are unhappy with the new attention. Still, the story has its true believers and psychics who argue the debunkers have their own agenda. Then again, Texas Chainsaw Massacre was also claimed by the same production company to be "inspired by a true story."

Acid2: Rows 6-9 Revisited


Acid2: Rows 6-9 Revisited 04/15/2005 04:16 PM

Earlier I asserted that Safari passed rows 6-9. Now I'm not so sure. As someone in the comments pointed out, Safari has a 1px golden ring around the black nose that is not there in the reference rendering. I will have to figure out what causes this to see if it's a bug in Safari.


Government Grants, Revisited


Government Grants, Revisited 04/15/2005 12:38 AM
Lockergnome Apr 15 2005 4:58AM GMT

Password generator revisited


Password generator revisited 06/17/2005 07:21 PM
Yesterday I was on the receiving end of a drive-by slashdotting. A comment on yesterday's /. story about writ ing down passwords sent a bunch of folks to my simple single sign-on screencast. So now's a good time to summarize some recent conversations I've had on the topic. ...

Affiliate Marketing and SEM Revisited


Affiliate Marketing and SEM Revisited 07/12/2004 12:21 PM
Source: ClickZ - Affiliates extend your paid search advertising budget. Competing with affiliates on the same keywords is valuable because they help you dominate the page. If your affiliates are restricted from paid search advertising, they'll simply switch teams and...
Grok Description matches for OPML Revisited
GrokA matches for OPML Revisited

OPML Revisited

The following phrases have been identified by the grok system as matching this entry:

















Also check out:


Grok

Ipod Porn on the
Rise

Brief Abstract of
Wikipedia's
Mesothelioma Cancer
page

Get first aid
instructions in your
cell phone

IE is crap
JSPWiki gains
podcasting support

Features: Top 10
XForms Engines

Features: Comparing
CSS and XSL: A Reply
from Norm Walsh

Features: Very
Dynamic Web
Interfaces

Features: REST
Reporting

Features: Eat Drink
Feel Good Markup
Language

XML-Deviant: What
Next, XML?

Features: Sarissa to
the Rescue

XML-Deviant: The
Google Wake-Up Call

Python and XML: Gems
from the Mines: 2002
to 2003

Features: Getting
Started with XQuery

The Restful Web:
Show Me the Code

Features: XML on a
Chip

XML-Deviant: Models
with Character

Features: Comparing
XSLT and XQuery

up the junction
all the company
calls

that transmission .
. . it doesn't look
like an sos

i'm not worthy!
vote early, vote
often

double kick drum by
the river in the
summer

this room is my
castle

check local listings
Calling "YHF" //
4560 kHz YL/EE - Msg
Gr 55 = QHZIZ FGTSY
JMAXS =

google news gets
cooler

hotel arizona
triangle man,
triangle man

tall buildings shake
voices escape

only three
performances of Love
Machine left

a quiet domino
Burst, Microsoft
agree to settle suit

Cheers, jeers for
ruling on Apple
bloggers

Privacy advocates
frown on Amazon
snooping plan

New methods eyed for
buying movies

U.K. gets tough on
music swappers

ATI Chipset Designed
For Media Center,
Dual-Core

FIC Introduces
Cylindrical SFF

'ClickConnect,'
'xSATA' Coming to
External Drives

Game Developers
Conference Notebook

Soltek Qbic
EQ3901-300P Mania

A Look Inside CeBIT
[sd] IRC transcript
[sd] Statement
[sd] Press
conference

This headline is not
about Michael
Jackson

Why Americans
shouldn't be allowed
to buy, choose or
drink wine

CiteULike
Meta-reflective
Postmodern
recreation of href="http://www.art
chive.com/meninas.ht
m">Las Meninas
,
this time titled
"Four Fools with
Three Cameras"
Two feet from Soros
Frankston on Brand X
Word for readers
what is grok?