CleverClogs

Animal with me while I get to know this bear

Archive for the ‘OPML’ Category

Podcasting Professionals : Advanced News Radar using Grazr

with 4 comments

Ever since I started developing Grazr RSS applications, I’ve been wondering if it were possible to integrate other services intothe Grazr widget. Today I’m presenting you with my most advanced project to date: Podcasting Professionals. This news radar demonstrates that Grazr RSS applications can be enhanced with the functionality of other, quite useful services. For this particular Grazr I
picked ZapTXT, Particls and BlogRovR. In this post I’ll discuss the
value they each add to this particular news radar.

A full-page version of the Podcasting Professionals news radar is hosted on the PODHANDLE servers. To give you an idea here’s the reduced-size version:

Read the rest of this entry »

Written by CleverClogs

September 23rd, 2007 at 6:26 pm

Share your daily stream of feeds and keywords: creating a Particls inTouch badge

with 4 comments

Particls is entering public beta today. If you haven’t come across the name before: the product first started under the name Touchstone about a year ago, and then last April when it went private beta to a larger audience of testers, a much desired and appropriate name change was carried out.

Read on if any of these catchwords appeal to you:

  • lifestreams
  • information overload
  • personal relevance
  • attention profile
  • keyword monitoring
  • importance-correlated disruption

Particls_homepage

I’d like to point out two remarks in today’s announcement on the Particls Blog that I definitely consider highlights: firstly it is now confirmed that a Particls version for OS X is in the pipeline. Secondly, bloggers and web site owners can share their Particls setup with a custom sidebar badge, such as this one:

Particls for OS X coming
The upcoming OS X version of Particls now officially being mentioned in a communique issued by Faraday Media is a real milestone. Ever since I got acquainted with the two creative minds behind Particls, Chris Saad and Ashley Angell, in February 2006—and also when I briefly met with Chris in person in San Francisco last December—the sensitive topic of Mac lovers feeling heavily neglected was frequently brought up.
"Ping me as soon as they make an OS X version available!", has probably been the most often heard reply from the tech journalists on my contact list when I would approach them with a brief but substantial update about Particls.

Ok, that said, what I haven’t managed to get hold of from the developers yet is an estimate release date for the OS X version, but I trust they’ll attract sufficient additional funding soon to make the first prototype available within a year from now. Until then Particls runs fine under Parallels Desktop for Mac.

Getting the download
Particls is now freely available for download from the Particls Download page. I suggest you get acquainted fast, because I’ll be shifting to fourth gear shortly.

CleverClogs focus
I figured that a couple of other tech news sites would likely do a perfect job offering an introduction to the core functionality of Particls (see Track Your Favorite Topics … on Digital Inspiration from a few days ago, glance through my Particls news radar for a live-updated list of reviews, or refer to the Particls FAQ), so I decided in this post I might as well focus primarily on the publisher aspects of the product. Please follow me to the Particls inTouch introductory page while I describe the technical, practical aspects of this new Particls partner program.

Particls inTouch installer packages
Particls inTouch lets you share your own customized version of the full Particls installer package on your website. There are two flavors of inTouch, a basic one that generates an installer from a single feed or from a set of feeds (OPML),  and an advanced one targeted at publishers obviously offering more granular control. I’ll describe both here.

inTouch Basic
inTouch Basic is the most simple way to offer your readers a Particls installer package: just type the web address of the website you’d like to track and copy the code from the box on your screen.

Intouch_basic

inTouch Basic also lets you enter the URL of a single RSS feed or from a set of RSS feeds, a so-called remotely hosted OPML file. Most online RSS aggregators allow you to create an OPML file and they’ll host it for you. The advantage of this is that any changes you make to your list of subscriptions is immediately reflected in the OPML file. Remotely hosted OPML files are often referred to as Reading Lists. If you are looking for high-quality OPML files around a certain topic, then browse the BlogBridge Topic Experts Guides. This library of OPML files offers tons of feeds on topics such as marketing, politics, online education and science & technology.

Here’s my inTouch Basic badge that simply tracks CleverClogs posts using Particls:

Particls InTouch

inTouch Partner
inTouch Partner offers publishers full control: after signing up for an account, they can choose which feeds to include with the package, which keywords to look out for, which ones to avoid, and they have the option to change the look and feel of all of the Particls screen elements, such as the logo and text color on the ticker and on the pop-ups. A personalized set-up file is generated and then hosted on the Particls servers so that your readers can download and install it. The inTouch user account allows Particls Partners to modify their settings later on.
My CleverClogs installer package, should you want to try it, is located at

and the underlying web address points to

http://intouch.particls.com/download/?mode=1&pid=1014

Creating a Particls inTouch Installer Package
To have Particls host an installer package on its server, a user account needs to be created through the Partnership Sign-up form.

After signing up, a rather straightforward edit form opens that lets you enter the details to create the package:

Creating_intouch

Just for the fun of it, I added a CleverClogs logo to my ticker bar by changing the following options in the Settings and Skins. I then followed the instructions to upload the Particls skin file to their server:

Cleverclogs_skin

This is what my Particls ticker looks like now:

Cleverclogs_ticker

Creating your own branded version of Particls
I had no difficulties creating my own Particls badge. In fact, you could use any badge image as long as you make it point to the web address at which Particls stores the installer package.
In short, these are the steps once more:

  1. Read the overview page of the Particls inTouch Partner program
  2. Sign up for the service at the inTouch Admin Console
  3. Create your custom installer package
  4. Get the code for your badge
  5. Insert the badge code into your blog

Ideas to improve Particls
It’s obvious I like Particls as it is very much already. Still, there are a couple of things I’d like the developers to pay attention to (!):

  • Commit to releasing the OS X version and communicate about it
  • Allow the Particls client to regularly poll a remote OPML and adjust the feed list accordingly
  • Make it easier to quickly find back items that just scrolled off the screen
  • Increase the font size of the ticker items
  • Display the source of individual feed items in the alerts if not identical to the feed source (especially important for "River of News" feeds)
  • Allow changing the URLs of feeds in the "Manage my feeds" panel

Particls News Radar
I’ve collected a couple of feeds related to Particls. Please feel free to use the comments section to suggest another feed.

Written by CleverClogs

May 28th, 2007 at 9:00 pm

Hands-on Grazr Tutorial for Beginners, and Hot News: GrazrScript Talking Javascript

without comments

“In a series of posts I discuss how to add Grazr feed browsing widgets to your website. This introductory post explains the most basic version of a Grazr application—one that displays a single feed or a list of feeds that you provide. Too simple? Scroll down for a summary of what I’ll cover in the next installment: how Grazrscript enables the option to create a feed based on a custom-keyword search among all of the feeds in your OPML. After that, check today’s hot news: Grazrscript talking Javascript as of today.”

Grazr widgets are popping up everwhere on the sidebars of people’s blogs, usually performing the task of a little browser displaying one or more feeds relating to the author’s interests. Creating such a Grazr is pretty straightforward: visit the Grazr Create a Widget page and provide the first box in the wizard with one of these types of URLs:

Assuming you clicked on the link in the third option, the Grazr configuration screen will look like this:

Grazr_does_feed_autodetection

Do you see box 1, where I put the URL for my website? Because the source code of my website contains links to RSS feeds and to OPML files, Grazr is capable of detecting those and displaying them in a list. You can easily substitute your own blog URL there or use the URL of a feed or of an OPML file.

Default themes and views
As you can see, I’ve applied sateen_black, one of the many cool themes that were introduced by Grazr recently. Of course you can pick your own theme from the list. Maybe you’ve also noticed that all my Grazr widgets are based on the 3-pane view and that I prefer to display the address bar, revealing the URL of the feed or OPML I am showing. Although these choices are all directly available from the Grazr wizard interface, they are not the default settings. If you like my new settings too, then please feel free to adopt them by dragging this URL to your bookmarks toolbar: default Grazr widget configuration settings.

Grabbing the Grazr code
Embedding the Grazr on your web page is now just a matter of grabbing the piece of HTML that the Grazr wizard generates, displayed in the box with the green background, and inserting that piece of code into your blog.

Grazr_embedding

CleverClogs Grazr template
If this all seems a piece of cake to you, then feel free to have a preview of what’s up in my next post: download the template that I have been using myself to create more advanced RSS applications, such as the Power 150 Kitchensink for Todd And, the Yahoo! Pipes News Radar for MasterNewMedia.org and the Grazr News Radar for Grazr.com. The template is a plain text file, located here: CleverClogs Grazr Template. If you study this file closely, you’ll see that you could create your own application by substituting several parameters inside the file. A few weeks ago James Corbett told me he successfully created his Irish Twittersphere Search Engine based on my template.

Grazr_template

Summary of the next tutorial
A few weeks ago GrazrScript was pretty much a mystery to me. It took me a whole week to build Todd’s Power 150 Grazr application. Using this fairly new template, I can now create a full-fledged Grazr application in about one hour, including the option to offer feeds based on custom keyword searches across all feeds in an OPML.

In the next tutorial I’ll tell you for which third-party RSS services you need to sign up, which parameters you could change and give you some insider’s tips to get you started fast.

Hot off the presses: GrazrScript talking Javascript
As I just talked about this post to Mike Kowalchik, head developer with Grazr.com, he told me the stunning news that most likely today Grazr.com is going to release a new version of GrazrScript that allows the use of procedural code. Here’s the link to the official announcement: GrazrScript v1.2 Beta.

Because almost the entire JavaScript command language becomes available to Grazr application developers, this means very advanced RSS applications can be built with the new version. To name a few new capabilities, GrazrScript will now let you use variables, string manipulations, regular expressions, functions, loops, conditions and error handling. Read the GrazrScript tutorial chapter on Procedural Programming, then give the sweet ‘Hello World’ sample script a try.

Needless to say I’m very excited to be able to squeeze this bit of news in, just before my own post goes live. Obviously I’ll need some time to figure it all out myself—not a programmer anymore—but I’ll definitely devote one of the posts in this new Grazr Tutorial series to it. I’m also sure several of my diehard programming friends will take the new Grazr to its extremes in the mean time. Here’s Tom Morris’ description of the GrazrScript potential: New Grazr Launch (March 19th, 2007).

Congrats, guys.

And you, my readers, will you please let me know if indeed this first part of this post is correctly called a tutorial for beginners?

Some coverage in the blogosphere on GrazrScript:

Grazr Badge

Written by CleverClogs

March 19th, 2007 at 8:38 pm

RSS-Enabled Marketing Search Engine : The Power 150

with 6 comments

"Keep reading, or if you can’t hold your horses, head straight for the meat of my latest achievement: an RSS-enabled Marketing Search Engine created using GrazrScript, a relatively new language to create web-based RSS applications …"

Next time I meet someone new on the web I should write down the whence, the where, the why and the how of the connection taking place. I do recall clearly that I took the initiative to connect to marketing and PR specialist Todd And about a week ago, but I’ve completely forgotten how I found out about his website in the first place. His attractive banner logo definitely must have prolonged my attention span:

Toddand_blogbanner

Let’s forget (!) about my deteriorating memory, because what’s about to follow will hopefully blow your socks off.

Keep reading, or if you can’t hold your horses, head straight for the meat of my latest achievement: an RSS-enabled Marketing Search Engine created using GrazrScript, a language to create web-based RSS applications that was launched a few months ago by the Grazr development team. If you want to explore it yourself, I suggest you start with the GrazrScript Tutorial.

Background Story

I immediately noticed Todd has a rather remarkable and attractive blog layout that he self-hosts using WordPress: two sidebars on the left-hand side, the left-most one containing an intriguing link to what turns out to be an impressive, ranked list of 150+ US marketing blogs. Here’s a quick live peek of Todd’s Power 150 – Top Marketing Blogs page using Bitty Browser. You’ll immediately understand why it caught my eye: it has RSS written all over it.



There was just one thing blatantly missing from Todd’s Power 150 page: OPML awareness. "Wouldn’t it be cool if your list were browsable, discoverable and even … searchable?", I asked him on Skype. Todd quickly understood where I was heading. Our ideas matched perfectly and over the course of less than a week, with our time zones not exactly catalyzing effective communication, I helped Todd to display an advanced Grazr widget on a page we now nickname as the "Kitchen Sink". The sections in the remainder of my blog post discuss the functionality of this RSS application and some details on how we built it.

Power150_interface

Search Engine Functionality

Todd’s Power 150 RSS-enabled marketing search engine lets you do the following:

  • Search all listed marketing blogs by keyword
  • Generate a custom keyword-feed from your search that you can add to your own RSS aggregator
  • Browse all marketing blogs as a combined, River of News feed
  • Browse all marketing blogs from an alphabetically ordered list
  • Grab the URLs to the feeds and OPML files offered in the widget to import or subscribe to in your own feed reader
  • Send feedback by e-mail

Details about the RSS Tools Used

Dynamic OPML file

I started out with the OPML file from the feed list that Todd maintains on web-based feed reader NewsGator Online. This OPML file is web-based, public and dynamic, meaning that when Todd adds, changes or removes a feed in NewsGator Online, his OPML file will reflect this update immediately. RSS specialists refer to such an OPML file as a "Reading List". The other components in the Power 150 search engine fully rely on the availability of this OPML. You can browse Todd’s OPML by clicking on "Full List of Marketing Blogs" in the Power 150 Grazr panel.

Combining into a ‘River of News’ feed

The next step was to create a River of News feed from this OPML file using a feed digesting service. I prefer mySyndicaat, an advanced newsmastering tool that I’ve found indispensable in multi-tier projects involving the merging of RSS feeds, OPML files and Reading Lists.

FeedBurner for Cleanliness and Transparancy

On my cue Todd created a FeedBurner version of the mySyndicaat output feed. This is the feed that we used for "The Power 150 – River of News" feed link in the Power 150 Grazr panel. Most of my RSS applications involve the use of FeedBurner: most people know it creates clean URLs that are easy to remember, that it renders a browser-friendly page when displayed as HTML and that it offers pretty neat feed analytics features. There’s another less talked about reason why I personally use FeedBurner a lot: if for some reason any RSS tool used in the previous steps of a project like this is no longer available, all I have to do is adjust the source feed of the FeedBurner feed and my application runs fine again.

ReFilter Feed Filtering through Parameterized URLs

ReFilter is not such a widely known RSS service. In this case I use it because it lets you filter feeds by providing keywords within the parameters of the original feed URL. Such URL parameterization is essential for vertical search engines like this marketing search engine, because we wanted to offer Todd’s readers the option to subscribe to a custom-keyword RSS feed using their own RSS aggregator. I only used a portion of ReFilter’s functionality: ReFilter’s also offers an advanced syntax for sophisticated feed filtering: you can filter by field, use boolean commands and combine several searches into one URL. ReFilter is open-source, is based on the MagPie RSS parser for PHP and was developed by Sam Deelie.

Refilter_interface

GrazrScript, Creating RSS Applications

I had played with Grazr widgets plentiful in the past, but never taken the plunge to fully explore its scripting language until this week. GrazrScript is a language that is still fully in development and I very much appreciate where the Grazr people are heading with this. As I wrote earlier, the best way to get started with this is how I did it too:

  1. download the GrazrScript examples
  2. study the GrazrScript tutorial
  3. modify the sample applications using a text editor
  4. upload one of these applications back to your own server (!)
  5. try it out by entering the URL of your Grazr application on the Grazr.com configuration page

Credits

I’d like to point out—magna cum gratia—that head developer Mike Kowalchik from Grazr was of enormous help to get this project off the ground in such a short amount of time. No matter how we moved our goal posts, Mike offered great input. Mike created a branded Power 150 theme with a status bar logo and custom hyperlink icons that perfectly match Todd’s strong brand.

I’ve also had quite a few fruitful chat sessions this week with Giovanni Guardalben CEO of mySyndicaat, my preferred feed digesting service. Gianni was kind enough to tweak his servers so that I could configure the combined feed with all the bells and whistles we required for this project.

new CleverClogs logo

Lastly I’d like to mention how rewarding the collaboration on this project was with Todd. I look forward to working with him more and extending our friendship. And, Todd…: thank you so much for the wonderful new logo for CleverClogs. I truly like your design a lot.

Update: Marshall Kirkpatrick left a really nice comment and created a digg for it, so feel free to go visit:

Power150_on_digg

By the time you read this, no doubt the counter is at 314 ;-)

And you, readers? Would you care to tell me what you think of this ambitious project? If so, please feel free to leave a comment.

Written by CleverClogs

February 5th, 2007 at 11:26 pm

KMWorld Offers Personalized Feeds

with one comment

I just discovered that KMWorld offers personalized feeds. Basically this means that you can subscribe to any keyword from the KMWorld website and be notified in your RSS reader when someone uses that word in an article. I always cheer silently when website publishers implement feeds based on custom keywords. I think it’s the ultimate courtesy to your site visitors.

kmworld_custom_feeds

First I wanted to be sure KMWorld was delivering on the expectations that it was putting up: in the following screenshot you can see how I’m using the KMWorld custom feed service to track mentions of the word ’KMWorld’ [!]:

kmworld_tracks_kmworld
 
I haven’t discovered yet if it is also possible to generate feeds for compound search terms such as "web event" or "RSS technology". The attempts I made so far failed. I’ll update this post if I discover a way to do this after all.
 
It happened before that I cheered too soon about a discovery like this (just a few draft posts that probably will never see the light), for example because everybody else except me knew about something way before I would. It made sense to me to double-check I wasn’t discovering some old news, so I quickly looked up whether these three main resources for this type of information had been mentioning the KMWorld service before I found out about it: TagJag!, Kebberfegg and Library clips.

I first checked out the full list of sources covered by TagJag!, Chris Pirillo’s keyword-to-OPML service. The TagJag! service is very easy to use: just enter any keyword that you would like to track and the OPML file is generated for you.

tagjag_screenshot

TagJag! OPML URLs look like this: http://www.tagjag.com/blogs/aggregators/opml/, that is, if you want to create a list of feeds from blog searches for the keyword ’aggregators’. OPML files generated in this way can automatically be viewed using your preferred OPML browser now that OPML auto-discovery has been enabled on all TagJag! search results pages—just install the OPML auto-discovery extension for Firefox for this. The OPML URL is persistent and dynamic, which means that you can subscribe to be notified of updates to the feed list.

I must say I really like the visual make-over Pirillo’s developers have been putting in place over the last few months. Still, it seems the KMWorld Personalized Feed service isn’t listed among the 178 engines that TagJag! can query. I notified Chris, of course. He once told me that any search engine that accepts a url parameter of this kind http://www.google.com/search?q=keyword qualifies to be included in the TagJag! list of search engines. Send your own TagJag! submissions to info@tagjag.com.

 

Assuming knowledge management workers most likely have some affinity with online research, I also checked if ResearchBuzz blogger and Google guru pur sang Tara Calishain had included the KMWorld offering in her list of engines queried through her Kebberfegg tool.

kebberfegg_screenshot

Kebberfegg is a keyword-based RSS feed generator similar to TagJag!, but with a different angle and a different scope. Kebberfegg does generate an OPML file, but it doesn’t host it for you. You’ll have to grab it off the screen and save it to a file, which makes it static. Tara encourages submissions too: send them to tools – at – researchbuzz.com.

The last site I checked was John Tropea’s blog Library clips: I used a simple Google Blog search query to search "KMWorld" on Library clips, but there weren’t search results at all. John’s blog is encyclopedic with regard to RSS, OPML and advanced search technologies, so if he hasn’t covered it, then indeed, this must be a new service by KMWorld.

Written by CleverClogs

November 4th, 2006 at 7:41 pm

OPML Reader: OPML Auto-Discovery Extension for Firefox

with 2 comments

Sergio Longoni just informed me that it’s now safe to announce, review and discuss OPML Reader, an OPML Auto-discovery Extension for Firefox: this plug-in positions itself in your Firefox status bar as a tiny OPML icon. As soon as a user opens a website that links to an OPML file, the icon turns blue. Sites that do not link to an OPML file make the icon turn grey. Clicking on the OPML icon allows you to display the OPML file in Grazr or using the Optimal OPML browser. You can also opt to download the OPML file to your local hard drive.

Opml_reader_status_bar_icon

I tested Sergio’s extension and confirm that it works fine on Firefox versions 1.5 and 2.0. Note that as usual you need to restart Firefox before the extension works. For those who understand Italian, I suggest that you read Sergio’s own blog post OPML Reader per Firefox.

About Sergio Longoni
Sergio ‘Kromeboy’ is a prolific Italian geek blogger who recently provided Sterling Camden with constructive feedback on Sterling’s OPML blogroll widget for WordPress
(original conversation on James Corbett’s post OPML Autodiscovery), so it made perfect sense for me to connect to Sergio a few days ago. We exchanged quite a few messages over Skype and I’m proud that my bookmarklet inspired him to create this nifty extension. Some Firefox users happen to prefer extensions over bookmarklets so this is a perfect complement to my earlier efforts. I
know Sergio is eager to finetune his extension. Contact him directly by
looking for his ‘Contattami’ details on his blog KromeBlog if you’ve got some constructive feedback to share, or scroll down here to the comments section.

Making your site "OPML auto-discoverable"
It’s quite easy to add a link to an OPML file to your website, as long as you have access to your website’s template or source code. Go to the <head> section and insert the following (x)html tag:

<link rel="outline" type="text/x-opml" 
title
="Title of Your OPML File"
href="http://www.whatever.com/youropml.opml" />

so, in my case, my site’s source code contains this tag:

<link rel="outline" type="text/x-opml" 
title="Marjolein's Writings"
href="http://www.blogbridge.com/rl/2417/
Marjolein%27s+Writings.opml"
/>

(Split across lines because of column width)

Update 2006-10-27: By Randy Morin’s request, after a lively discussion over on Tom Raftery’s I.T. views blog between Randy and Tom Morris, I’ve changed the type attribute to "text/x+opml".

Update 2006-10-28: The debate on the proper content of the type attribute isn’t over yet. See James’ Holderness’ contribution over at Randy’s post Understanding Auto Discovery. Relying on Randy’s good judgment I changed all occurrences of type to "text/x-opml".


Suggestions for improvement

Web pages can link to multiple OPML files. At this moment the OPML Reader extension is only capable of displaying a single OPML file: it picks the last OPML file that was linked to from the <link> tag in the page header. In the case of CleverClogs this is my Marjolein’s Writings OPML, which is fine, but I can imagine other people usually list their OPML files in order of importance. So, until the extension features an OPML file selector (hint, Sergio!), I suggest that the extension selects the first one from the list.

Opml_reader_options_dialog

Other OPML Viewers

New OPML viewers are bound to be launched anytime soon. In addition to the ones I mentioned (Grazr and Optimal), there’s also Bitty Browser, for example. I have used Bitty many times on CleverClogs in the past to display websites and RSS feeds in several of my blog posts. This week Scott Matthews, developer of Bitty, pointed out to me in a private email exchange that Bitty now also supports the display of OPML files. You can try Bitty Browser here: Marjolein’s Writings Bitty-wise
 

It would be nice if the OPML Reader extension would support Bitty Browser and any other OPML viewer that a Firefox user might prefer, for example by using the same mechanism that is used for connecting applications to file extensions: open this file using %1.

I hope Sergio’s efforts also bring us closer to a solution to a problem I brought up before: when clicking on any OPML hyperlink or icon, I would like to open that OPML file in my preferred browser. Please use the comments section to this post if you have ideas about this.

Written by CleverClogs

October 18th, 2006 at 1:08 pm

OPML Auto-discovery Bookmarklet

with 9 comments

"The idea to create an OPML autodiscovery bookmarklet came up last Friday in a very inspiring conversation with James Corbett.
I started the IM chat by asking James if he "had a minute", and if he knew of a way to make
hyperlinks to OPML files on anyone’s website to automatically open in
Grazr. After a while it turned out that for months James had been
thinking along slightly different, but converging lines: wouldn’t it be cool if OPML
files could be auto-discovered, similar to what Firefox has been doing
for RSS feeds?
"

I’d like to present my first, serious attempt to create a browser add-on that hopefully will prove to be useful to some: an OPML Auto-discovery Bookmarklet that displays a list of hyperlinks to the OPML files that have been made available by the author of any web page. 

So, what is auto-discovery anyway? Most Firefox users are familiar with the orange feed icon to the right of the address bar, indicating that there’s an RSS feed attached to the page they are viewing. This mechanism is called auto-discovery. There’s not much magic about it: web page authors deliberately enable auto-discovery by linking to feed urls with an (x)html tag named <link> in the source code of their pages. Auto-discovery of OPML files is based on the same principle: detecting <link> tags in the header of a web page.

Opml_autodiscovery_bookmarklet

The OPML Auto-discovery Bookmarklet scans the header of a website and displays a list of OPML outline files in a box in the top-left corner of the browser. For completeness’ sake any RSS feeds are listed too. Because of the debate about the proper contents of the "rel" and "type" attributes for outline files I decided to be liberal what to accept: any "href"attribute that contains the text "opml" is accepted. (Update 2006-10-18: I slightly altered the code to also catch those OPML files that use a file extension of ‘.xml’  and have their type attribute set to ‘text/xml+opml’ or ‘text/x-opml’)

Below is a screenshot of what the CleverClogs header looks like, for example:

Cleverclogs_page_header

The bookmarklet lists each of these files as Grazr hyperlinks: when you click on any of these a Grazr window is opened in a new tab, displaying the contents of the OPML file or the RSS feed. Note that if a "title" attribute is provided, the bookmarklet will take that. Otherwise the url to the file is used to populate the box.

To install the bookmarklet drag this link OPML Auto-discovery Bookmarklet (updated 2006-10-18) to your Bookmarks Toolbar. You can name the bookmarklet as you wish, but I suggest to use "OPML Discoverer". The source code is also available for download as txt files: see the references at the bottom of this post.

The idea for this project came up last Friday in a very inspiring conversation with James Corbett.
I started the IM chat by asking James if he "had a minute", and if he knew of a way to make
hyperlinks to OPML files on anyone’s website to automatically open in
Grazr. After a while it turned out that for months James had been
thinking along slightly different, but converging lines: wouldn’t it be cool if OPML
files could be auto-discovered, similar to what Firefox has been doing
for RSS feeds?

What followed was a lively chat session spread out through the day. James passed on links and code snippets to me, we determined the essential goal of the bookmarklet and then I started to work on the script. 

Lately quite a few other people have posted too about their desire to have OPML files auto-discovered, as you can see in this highly relevant, live blog search panel based on a simple Google blog search:

Grazr panel

My increased interest in OPML is a natural consequence from my
newsmastering experiments. The biggest boost occurred when I started
developing RSSonate, a list of RSS feeds about RSS technology implemented in Grazr. A few weeks after I started it RSSonate was turned into a BlogBridge expert library. RSSonate is still on live display in the sidebar of CleverClogs, under the heading ‘Others Wrote’.

Note that I didn’t create this bookmarklet from scratch: I adapted
existing source code for a similar bookmarklet made available by
Google—credit to whom credit is due. The Google "Show All Feeds"
bookmarklet was originally announced by Chris Wetherell in the blog
post Subscribing to feeds via little Google buttons
on the Official Google Reader Blog in November 2005. Since then several
others have contributed to the source code, most notably Martin Dittus with Bookmarklet: Display Feed Links on Current Page (March 2006).

My adaptations consist of
showing hyperlinks to OPML files and some cosmetic changes, like
displaying the blue and orange icons and a link back to this CleverClogs post.
Although I do have some programming background, bluntly speaking Javascript programming isn’t my specialty at all. Both James Corbett and I believe there’s room for improvement, so let’s foremost consider this a proof of concept. Hence I kindly invite Javascript programmers
to look at the underlying code and make constructive suggestions for improvements. If you blog about this project, then please send a trackback ping.

Making your site "OPML auto-discoverable"
It’s quite easy to add a link to an OPML file to your website, as long as you have access to your website’s template or source code. Go to the <head> section and insert the following (x)html tag:

<link rel="outline" type="text/x-opml" 
title
="Title of Your OPML File"
href="http://www.whatever.com/youropml.opml" />

so, in my case, my site’s source code contains this tag:

<link rel="outline" type="text/x-opml" 
title="Marjolein's Writings"
href="http://www.blogbridge.com/rl/2417/
Marjolein%27s+Writings.opml"
/>

(Split across lines because of column width)

Update 2006-10-27: By Randy Morin’s request, after a lively discussion over on Tom Raftery’s I.T. views blog between Randy and Tom Morris, I’ve changed the type attribute to "text/x+opml".

Update 2006-10-28: The debate on the proper content of the type attribute isn’t over yet. See James’ Holderness’ contribution over at Randy’s post Understanding Auto-Discovery. Relying on Randy’s good judgment I changed all occurrences of type to "text/x-opml".

Sites that have added an OPML file to their page headers:


Source code links:
OPML Auto-discovery Bookmarklet, formatted source code (updated 2006-10-18 – 11:50 PM)
OPML Auto-discovery Bookmarklet, unformatted source code(updated 2006-10-18 – 11:50 PM)

P.S. The ironic part of this weekend’s marathon project is that I solved a problem that wasn’t my own. Now, is there anyone who knows how to solve my original problem: is it possible to instruct Firefox to display any OPML file using Grazr, in the same way that PDF files are displayed using Adobe Acrobat?

Updates:

2006-10-16, 02:56 AM – TailRank lists all posts linking to this story.

2006-10-16, 10:46 AM – David Rothman submitted a digg about my bookmarklet. If you like, go and cast a vote.

2006-10-16, 10:50 AM – I slightly altered the script so that it only
detects the string "OPML" when it’s at the end of the href attribute.

2006-10-16, 11:28 AM – Sergio Longoni informed me that he is working on a Firefox extension that will display a blue OPML auto-discovery icon in the address bar.

2006-10-16, 11:50 AM – Tom Morris blogs "I’m going to write a PHP API to do similarly on the server side – you
provide a URL and it returns an OPML 2.0 file containing links to all
the OPML and RSS feeds
"

2006-10-16, 12:44 PM – It would be great if the search results pages generated by Andy Edmonds’  just released Live Search OPML Generator would also have a <link> tag in their page headers, so that this bookmarklet and other Firefox add-ons can detect them (I tried to post a comment to Andy’s MSDN blog post and to his Surf*Mind*Musings blog post, but they both require that commenters be signed in—too bad, trackbacking instead.)

Written by CleverClogs

October 15th, 2006 at 4:23 pm