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


on OPML







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.




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





Similar Items

on OPML

Grok Headline matches for on OPML

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

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.


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.

"Share your OPML"


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

XML-OPML-SimpleGen-0.02


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

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: Rankings"


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

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.


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....

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."

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...

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....

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


Grok Description matches for on OPML
GrokA matches for on OPML

Armangil's podcatcher 0.2.1 (Default
branch)


Armangil's podcatcher 0.2.1 (Default
branch)
03/30/2005 09:04 AM
Armangil's podcatcher is a podcast client for the command line. It downloads subscribed podcasts and generates M3U or PLS playlists that can be fed into most MP3 player applications. Subscriptions are defined in OPML files. The cache directory can be constrained in size, in which case the oldest audio files from previous podcatching sessions are deleted first.
Changes:
Support for using Ctrl-C to terminate execution was added. The "OPML truncation" issue where a bad RSS feed was considered the last of the list was fixed. Robust handling of some illegal command line arguments was added.

The Loneliness of the Long-Distance
Podcaster (Podcatcher?)


The Loneliness of the Long-Distance
Podcaster (Podcatcher?)
03/14/2005 06:24 PM

A few months ago I joined a loc al marathon training group, and every Saturday the group meets to do a long run. Due to other plans I had to miss the last long run, so I made up for it by running 10.5 miles by myself. Now, running that kind of distance with a group is fun, but doing it alone can be reeaallly boring. So, the night before the run I configured FeedDemon to download several podcasts and synch them with my iPod while I slept.

During the run I listened to snippets from these podcasts, which included Chris Pirillo's interviews with Tim Bray and Steve Gillmor, followed by the interview with Stewart Copeland and audio of the Web 2.0: Music is a Platform panel from IT Conversations.

Being able to listen to new podcasts helped me survive the run without dropping from boredom. I was even tempted to continue running so I could keep listening - but the next day's soreness made me thankful that I stopped when I did :)


widGet


widGet 04/27/2004 01:02 PM
Discontinued

Zero Memory Widget 0.0.2


Zero Memory Widget 0.0.2 10/31/2003 12:49 PM
A widget library without a single bit of storage per widget.

Zero Memory Widget 0.0.6


Zero Memory Widget 0.0.6 05/18/2004 08:47 AM
A widget library without a single bit of storage per widget.

Zero Memory Widget 0.0.7


Zero Memory Widget 0.0.7 06/02/2004 08:29 AM
A widget library without a single bit of storage per widget.

Zero Memory Widget 0.0.8


Zero Memory Widget 0.0.8 06/15/2004 06:42 AM
A widget library without a single bit of storage per widget.

Zero Memory Widget 0.0.9


Zero Memory Widget 0.0.9 07/07/2004 08:11 AM
A widget library without a single bit of storage per widget.

Zero Memory Widget 0.0.10


Zero Memory Widget 0.0.10 07/28/2004 09:43 AM
A widget library without a single bit of storage per widget.

Widget Wars


Widget Wars 09/04/2004 01:53 PM
Longhorn may be 2 years away but the battle for your desktop has already begun. Longhorn will introduce a new user interface design language called XAML.

XAML on its own would be yet another user interface markup language. But combine XAML with the compositer in Longhorn and you can imagine all kinds of really cool mini-applications being created. When someone talks about MacOS X's "Dashboard" bear in mind that Microsoft's XAML predates it in announcement and may deliver much the same thing. Widgets are essentially mini-applications but without the overhead associated with a stand alone program. All of the widget-enabling programs give users a tiny glimpse of the cool stuff one might do with Longhorn and the compositer in terms of app creation. And one can easily imagine all these widget applications eventually supporting XAML to usher in a whole new wave of desktop customization.

We here at Neowin have seen the rise of desktop customization over the past few years and widgets may be the next stage in that development, particularly when one considers the potential of Longhorn. This article below goes through the various widget enabling programs already available and explains what's cool about them.

View: Article: Widget Wars
News source: In-house

Read full story...

It's that Serenity widget again


It's that Serenity widget again 06/17/2005 03:22 PM
My Serenity Countdown Widget finally showed up on Apple's Dashboard Widgets download site. It's pretty darn cool seeing my name on an Apple page, I have to admit. If you want it, you can grab it there, or you can...

Widget-Meta-0.01


Widget-Meta-0.01 09/17/2004 12:42 AM

Widget-Meta-0.02


Widget-Meta-0.02 09/17/2004 06:35 AM

Widget-Meta-0.03


Widget-Meta-0.03 09/18/2004 05:15 PM

The Rocket Widget


The Rocket Widget 12/30/2004 02:12 PM

Now I'm not much of a drinker, but I do imbibe from time to time. Last night I got a wild hair and picked up a six-pack of Guinness Draught Bottles, (when I drink beer, I like to taste beer) and cracked one open when I got home. I didn't bother reading the label or anything... a good beer is a good beer, right? Pop the top and enjoy. The part of the label I did read was that you don't need a glass to get the full experience with this stuff, so bottoms up!

But when I got to the bottom of the bottle, I found something more than beer in there.

"What the ????"

A little plastic thingy that looked to be part of the filling equipment was rattling around inside. By this time I'm looking pretty closely at the label for a phone number to call and complain. (I'm not big on product liability lawsuits, but I've got to admit, the thought of a fat settlement check did cross my mind.) The label didn't really say anything about it, but did have a web address, and there I got the straight poop.

Enjoy the authentic taste of GUINNESS anytime, anywhere thanks to another clever little invention, the "rocket widget."

Once the bottle is opened, the "rocket widget" creates the famous surge and forms the signature creamy head right inside. Every time you take a drink from the bottle the "rocket widget" refreshes the surge so that you get the perfect pint taste with every sip. Ingenious.

Turns out they've had this feature in their bottled brew since 2001 (shows how often I get out!) Neat idea. And thinking back, I do remember having a bit more froth whilst sipping than I'd usually experience with a bottle of beer. I'll have to pay more attention on my next one.


Widget ideas


Widget ideas 04/11/2005 04:59 PM
Tom and I were talking about how useless most of the currently existing Dashboard Widgets are, and this guy agrees: What I'm afraid we're going to see is a huge influx of extraordinarily useless stuff—more iTunes controllers, duplications of existing...

CGI-Widget-FilloutForm


CGI-Widget-FilloutForm 05/12/2004 07:11 AM

CGI-Widget-DBI-Search


CGI-Widget-DBI-Search 05/12/2004 07:11 AM

Canvas Widget 1.0.0


Canvas Widget 1.0.0 11/03/2003 04:23 AM
A canvas widget for EiffelVision2.

Zero Memory Widget 0.0.5


Zero Memory Widget 0.0.5 12/15/2003 07:06 AM
A widget library without a single bit of storage per widget.

The Tk Text Widget


The Tk Text Widget 01/16/2004 10:59 AM
The powerful text widget in the Tk toolkit offers many facilities to writers of Tcl, Perl and Python scripts.

Widget syndication


Widget syndication 04/09/2004 04:06 PM
One or two examples are emerging of the use of web services to call up bits of functionality on demand. There's a ...

Xbae Widget Set


Xbae Widget Set 01/19/2004 04:16 PM
Xbae 4.50.5 is out

CGI-Widget-Path-0.01


CGI-Widget-Path-0.01 01/22/2004 06:15 PM

The Tk Canvas Widget


The Tk Canvas Widget 02/10/2004 07:36 AM
The canvas widget in the Tk toolkit is a powerful free software tool for creating and manipulating structured graphics.

Dashboard: Widget (In)Security


Dashboard: Widget (In)Security 06/05/2005 10:56 PM
Macworld: Dori Smith: “A new Web page documents an issue with Mac OS X v10.4 Tiger’s new Dashboard feature that, left unchecked, could potentially be exploited by malware developers, according to the page’s author. The exploit is described and demonstrated on a page called Zaptastic: Blueprint for a widget of mass destruction.”

Guis widget server 1.5


Guis widget server 1.5 05/09/2004 05:12 PM
A Gtk2 widget server that uses scriptable protocols.

Widget Machine launches


Widget Machine launches 06/17/2005 03:21 PM
There's been a lot of talk in the Dashboard Widget world about whether or not a site can successfully sell widgets. Widget Machine is the first site to launch that aims to do just that. I don't like their UI...

Servlet Widget Toolkit


Servlet Widget Toolkit 04/21/2004 10:04 AM
First version released

Guis widget server 1.6


Guis widget server 1.6 12/30/2004 11:55 AM
A Gtk2 widget server that uses scriptable protocols.

on OPML

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

















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

Apple Software: The
End Of Free

Next Generation
Truck Stops

Web Application
Gateway 0.1.1

slapt-get 0.9.8a
Runabout 1.4.0
gimp-print 4.2.6
(Stable)

gimp-print
5.0.0-alpha1
(Development)

gcx 0.4.5
FreeTDS 0.62
gURLChecker 0.7.6
(Unstable)

mairix 0.14
NFVersionChecker 2.0
MIT Technology
Review Slams IPv6

More ApeXtreme Info
Online Services Give
Music Industry Hope
(AP)

Tech firms aware of
women, but dimly

File Upload
Shorter Paul O?Neill
Khatami: U.S. Must
Accept Iran Right to
Nuke Power

Montana Senator
Released From
Hospital

NASA Plans 'Dress
Rehearsal' for Mars
Rover Drive

Panama Captures Top
Colombian Drug Lord

Voter Triggers
Dean's Much-Talked
About Temper

Grocery Union: L.A.
Talks Unsuccessful

Iraq Cleric Warns of
More Violence if
Poll Not Held

Albania Mourns Over
People-Smuggling
Tragedy

Verisign's dead
certificates
'knocked out Norton'

Adobe, others slip
counterfeiting code
into apps

Aust IT&T jobs hold
up

EMC completes VMWare
acquisition

Customer service of
the future

Humans vs Robots on
Mars

Fast Web browser to
be commercialised

So how much will the
Sony games handheld
cost?

O2 puts the squeeze
on push-email
addicts

New List Running
Jackson Backers Plan
Arraignment Rally
(AP)

N. Korea Urges U.S
to Accept Nuke
Freeze (AP)

Iowa Voter Blasts
Dean for Knocking
Bush (AP)

SCO vs Linux Users:
Reuters Hints Google
May Be Next

Island's troubles on
mend

The habits and needs
of a
little-understood
group

Explorer's rivals
allow for tabbed
browsing

Schwarzenegger –
playing chess with
the budget

links mentioned MT
plugin

Apartment Lit Solely
by LEDs

Quick Importer
Converter for
Quickbooks

Graphite
Apache gaining
ground on IIS

today's column
what is grok?