Fraser Speirs ([info]fraserspeirs) wrote,
@ 2005-04-27 17:15:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Neutrino XML - all your feeds in one file.
I'm pleased1 to announce an idea. If I had been less busy or more organised I might be announcing a product or a technology demonstration, but let's start with the idea: Neutrino XML.

All I have right now is a draft specification for a new kind of xml-based syndication format. I have pretty vague ideas about how to do this kind of thing, so I welcome all and any corrections, suggestions, opprobrium and enthusiasm.

I'll post here the contents of the wiki's front page:

What is Neutrino?

A Neutrino feed is a collection of pointers to other syndication feeds - say, a blog, Flickr and Del.icio.us - all of which belong to one individual. It's essentially indirection for feeds - point someone at your Neutrino feed and they can then discover your blog feed, your Flickr feed, your Del.icio.us feed, and anything else you care to include which you publish and can be syndicated.

Motivation
Many services emit an RSS feed of some kind. People are authoring increasingly many disparate feeds for different reasons. Examples include weblogs (both personal and shared) , bookmarks in Del.icio.us and digital photographs through services like Flickr.com.

There is, at present, no straightforward way to acquire all of a person's feeds from one source. An individual may provide links on a web page to all their feeds, but subscribing to all of these and organising them in an aggregator becomes an increasingly annoying task.

Neutrino was started as a project because the authors felt that there was a need for an "internet calling card" - one file which aggregators could parse periodically to obtain pointers to all the content that a given individual was creating across the web.

Neutrino is not vCard

We wish to make a clear distinction between Neutrino and vCard. vCard is a format for exchanging personal contact information, of the kind that one might not necessarily want public on the internet.
Neutrino, by contrast, is a collection of pointers to other already-public content.

Neutrino is not FOAF

Whilst FOAF bears some similarity to Neutrino, Neutrino is significantly simpler and less prescriptive than FOAF. Whilst FOAF attempts to describe properties of an individual and their entire social network, Neutrino stops at the boundary of the individual.

Benefits of Neutrino

The following benefits are envisioned for wide adoption of Neutrino:

Ease of Subscription

As aggregators adopt Neutrino, it requires a subscription to just one URL in order to begin aggregating all of a person's public content created in syndicated feeds.

Ease of "moving house"

As people move their weblogs and feed URLs change, the individual should update their Neutrino file and aggregators should be able to automatically detect the change and re-point the relevant subscriptions. Broad adoption of Neutrino should eliminate the problem of stale syndication URLs, assuming the Neutrino feed's URL remains stable.

Wiki

There's a wiki over at Neutrinoxml.com. Head on over there and start talking!

1. Or, at least grateful to have relieved my inner pressure to do something with the idea!



(Post a new comment)


[info]adders
2005-04-27 04:22 pm UTC (link)
That is an exceptionally cool idea. While I lack any sort of technical skill that would allow me to participate, it's exactly the sort of thing I'd like to see happen. I shall be watching with interest.

(Reply to this) (Thread)


[info]fraserspeirs
2005-04-27 04:43 pm UTC (link)
You can certainly help by telling people :-)

(Reply to this) (Parent)(Thread)


[info]adders
2005-04-28 01:50 pm UTC (link)
First step taken - should show up as the first post with the neutrino tag within the hour.

(Reply to this) (Parent)


[info]michaelferguson
2005-04-27 06:09 pm UTC (link)
Could this be done using OPML?

(Reply to this) (Thread)


[info]boogahsmalls
2005-04-27 06:38 pm UTC (link)
i was actually thinking the exact same thing.

(Reply to this) (Parent)(Thread)

OPML is exactly right
[info]artlung
2005-04-27 06:53 pm UTC (link)
came in via gominosensei.org - and yeah, OPML could do this easily. Maybe not with all the specificity -- but it definitely would do the job. I generate an opml file on http://sandiegobloggers.com/ which people can download -- giant list of san diego blogs. But really, extending opml generation into existing tools would be trivial.

(Reply to this) (Parent)(Thread)

Re: OPML is exactly right
[info]fraserspeirs
2005-04-27 06:58 pm UTC (link)
I don't know much about using OPML to distribute feed lists, but if you want to add a page or discussion to the wiki, I'd love to hear about the shortest route to making this doable.

If we can use existing stuff, so much the better.

(Reply to this) (Parent)(Thread)

Re: OPML is exactly right
[info]artlung
2005-04-27 07:32 pm UTC (link)
No time to get involved in another project! Check out this OPML file: http://sandiegobloggers.com/sandiego.opml to get a sense.

The attributes are pretty clear cut. Emit it with an xml type and you're there. Then tell people to download and import into their feedreaders. Some feedreaders allow you to download OPML via http, some require you to download and import.

(Reply to this) (Parent)


[info]rainer3
2005-04-28 05:43 pm UTC (link)
I read this post the other day, then I read this today: http://adactio.com/journal/display.php/20050428161517.xml

Just wanted you to know that other people are thinking along similar lines.

(Reply to this)

Sounds like a similar idea to the one I had a few weeks ago
[info]lazytom
2005-05-06 09:49 pm UTC (link)
I then went and started creating this: http://feedjumbler.com

(Reply to this)

posted a really similar idea, the day before :)
(Anonymous)
2005-05-09 03:32 pm UTC (link)
It's in spanish, should translate it one of those days...
http://armengol.typepad.com/endocitosis/2005/04/idea_myself_onl.html

Nothing technical here.. but concepts and implications.. anyway I've many implementation ideas that could be nice to see... even if more 'personal website' oriented with agregatede xml export capabilities..

(Reply to this)

Some elements seem redundant
[info]quantumjim
2005-05-20 09:34 am UTC (link)

Some elements from the Neutrino Specification seem redundant. Every person has only one set of details and one set of feeds, and each feed has only one set of urls, so those elements seem to add no meaning yet increase the size (bytes) of a Neutrino feed.

I would also rename url to link, which more clearly describes the intent, and making the URI specified as an attribute value. This change co-opts the xhtml link element just as Atom does.

I also suggest changing the attribute algorithm to accept URIs instead of the string specified for future compatibility (i.e. hash formats you haven't considered yet). As an alternative, you could use a single element with attribute values like a link element does.

Those changes would create feeds like:

Based on the standard example:

<person>
  <name>Fraser Speirs</name>
  <mailbox algorithm="md5" hash="d475cbc2af49ce4f47fa6429d8c97efd" />
  <feed>
    <feedname>Fraser Speirs' Weblog</feedname>
    <feeddescription>My LiveJournal blog</feeddescription>
    <link type="application/rss+xml" href="http://fraserspeirs.livejournal.com/data/rss" />
    <link type="application/atom+xml" href="http://fraserspeirs.livejournal.com/data/atom" />
  </feed>
  <feed>
    <feedname>Fraser Speirs' Flickr Photostream</feedname>
    <feeddescription>My Flickr Photos</feeddescription>
    <link type="application/rss+xml"
      href="http://www.flickr.com/services/feeds/photos_public.gne?id=41894174966@N01&amp;format=rss_200"
      />
    <link type="application/atom+xml"
      href="http://www.flickr.com/services/feeds/photos_public.gne?id=41894174966@N01&amp;format=atom_03"
      />
  </feed>
  <feed>
    <feedname>Fraser Speirs' Del.icio.us Bookmarks</feedname>
    <feeddescription>My Bookmarks</feeddescription>
    <link type="application/rss+xml" href="http://del.icio.us/rss/fraserspeirs" />
  </feed>
</person>

This is not only simpler, but also very close to an RDF/XML serialization if you choose to go that route. To place serialize it as that, just place everything in a namespace and add rdf:parseType="Resource" to each feed element. Add rdf:about="" to the root and the person't uri is the document's url. Easy as pie.

In fact, the offical W3C RDF/XML syntax is a good design pattern for designing xml trees even if you never use RDF, IMHO.

(Reply to this)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…