Experiments in writing, by Marjolein Hoekstra @OneNoteC

Archive for the ‘OPML’ Category

RSS Reader InoReader to Support Dynamic OPML Subscriptions

with 5 comments

“Dynamic OPML Subscriptions in feed reader InoReader
let you automatically synchronize your RSS subscriptions
with web-based reading lists.” (1 / 6)



Introduction – from reading list to OPML

This is a long read. If you first want to get the gist of it, scan the paragraph headings and the pull quotes real quick. I hope you return here to find the golden nuggets.

People maintain categorized lists of web sites for many reasons. Combined with an RSS reader those reading lists let you keep track of news headlines and blog posts very efficiently. You may have come across reading lists in the sidebar of weblogs, where they are usually referred to as blogrolls, or just links.

If you export your list of favorite websites in the OPML file format, you can then share your reading list with other people. They can import the list into their preferred feed reader. There are quite a few ways anyone can create such an OPML file. This article provides links to various resources related to OPML, how to create OPML files and how to share them.

“OPML has become the de facto standard
for the convenient exchange of reading lists.” (2 / 6)


OPML icon

OPML icon

RSS feeds for breakfast


Reading lists – useful but easily grow stale

OPML files are incredibly useful: by selecting several OPML files curated by topic experts you can quickly construct a personal news center around topics of interest. Regrettably the mechanism of importing a reading list has one major disadvantage: as soon as you add a reading list, it has in fact become a stale copy of the original. Future changes to the original reading list will not automatically be reflected in your copy of that list. To prevent this, OPML files should be automatically synchronized.


The InoReader dynamic OPML solution

This is where the new InoReader Dynamic Subscriptions feature comes in: it allows you to create dynamic subscriptions from any web-based reading list. When the original source of the reading list is updated, so does the InoReader version.

The first step is to import the reading list using the OPML file’s web address. After that, InoReader automatically keeps your copy of the reading list synchronized with its original source.

Creating dynamic OPML subscriptions

As you can also see from Synchronization option in this screenshot, InoReader can synchronize all changes to the OPML file (new additions and removals), or just new additions.


“InoReader synchronizes all changes to the OPML file” (3 / 6)

If a change in the remote OPML is detected, that event will trigger a notification event to indicate that one or more feeds have been added or removed:

The Memeorandum Leaderboard OPML just got updated.


In my experience adding a subscription is a very fast process. It mostly depends on whether InoReader has imported the feeds at some time in the past. On import, the feed reader checks whether the OPML file and individual feeds are valid. It also checks how active a feed is. Use dashboard gadgets to display lists of inactive feeds and of failing feeds:

InoReader dashboard gadgets display inactive and invalid feeds

All InoReader users (Basic, Plus and Pro levels) have access to the new dynamic OPML feature. Refresh frequencies depend on the user level, from once a day for the Basic level to once every hour for the for-pay levels. OPML subscriptions can also be manually refreshed.


“The new dynamic OPML feature is available to all InoReader users” (4 / 6)


InoReader OPML subscriptions can be automatically or manually refreshed.


Using InoReader to publish reading lists by topic

Like many other RSS platforms and feed readers on the market, InoReader lets you publish OPML files. What makes the InoReader approach different, is that it allows you to make web-based OPML files available for individual feed folders.


“InoReader offers URLs for RSS, for Web view and for OPML
at the folder level” (5 / 6)


You can then share the public URLs with others. This screenshot shows my Note-taking feed folder. It contains 39 feeds. Three public views are available:

InoReader offers an OPML file per folder


The significance of supporting dynamic OPML

Many people invest their time and energy into building and maintaining reading lists on topics they are most passionate about. It’s sad to see some of these efforts abandoned. However, once the reading lists are published and dynamically synchronized on the web, their authors can now be sure that other people always have access to the most up-to-date version of their reading lists. They will be more likely to keep their lists current, and all reading list users benefit.


Alltop offers OPML for hundreds of topics

You can find OPML files in various places on the web, sometimes deeply tucked away. A large collection of OPML files categorized by keyword is freely available on

To get started with Alltop’s OPML files, first select the desired topic of interest from their website. There is a convenient full-page overview of all Alltop topics. For the purpose of this article, let’s choose Filmmaking.


A small proportion of Alltop’s OPML-enabled newsrack

The base URL for the keyword ‘filmmaking’ on Alltop is, and the accompanying OPML file is at Using this URL as a template, you can easily construct OPML files built from tons of relevant news sources. Alltop founder Guy Kawasaki explained the feature in 2009: How to Change the World: How to Use Alltop to Add Content to Your Website, Blog, and Feed Reader.


Different flavors of OPML

If you use Google to find OPML files, note that you may also stumble across OPML files that cannot be used with an RSS feed reader because they contain outlines of plain text, not references to RSS feeds and their home pages.


 “FeedShare deserves to become part of the
OPML- and feed-sharing ecosystem” (6 / 6)

OPML exchange site

Early 2014 FeedShare was launched, a promising web service that is dedicated to the exchange of RSS feeds and OPML files.  Anyone can submit their categorized reading lists to this website. Browse for topics at

See the screenshot below. This is how I submitted the OPML file for the RSS News Radar project to Sharing your reading list with the world can’t get much simpler than this. There’s no sign-up required, just two fields to fill in – a title and an OPML source. As soon as you’ve submitted your reading list, you’ll be given a unique URL that allows you to customize the reading list details and attach topic tags to it.

Sharing your OPML list on


Shortly after FeedShare launched in January 2014, tech blogger Louis Gray wrote this review: Debuts for OPML, RSS Feed Swapping.

The FeedShare project is open-source. Original developer Arne @Holzenburg kindly invites you to join the effort and take the project to the next level. To turn it into an ecosystem for developers and users, FeedShare needs an API. Within the context of this article it is also relevant to note that once you’ve uploaded your OPML reading list to, that copy itself does not magically get updated.


Create your own OPML file

If you have an InoReader account, then you can start creating topic reading lists straight away. Most other RSS readers offer an easy method to export all of your feed subscriptions in a single list. Some will host the OPML file for you through a direct URL, others do generate the output but don’t do the hosting for you. They require that you copy and paste the OPML output and save it to a file on your local hard drive. In that case you need to upload the local OPML file to a web-based file server, for example to OneDrive, DropBox, or Google Drive, so that the file becomes accessible online.

Make sure you enable sharing on your OPML file. Next, while you yourself are logged off from your feed reader, double check that the OPML file is indeed accessible through its web address and test it with your InoReader account.


Tumblr OPML and LiveJournal OPML

Tumblr lets you create an OPML file of your own subscriptions. Log on to your Tumblr account and visit the page
LiveJournal offers the same feature but with a rather significant twist: LiveJournal lets anyone create an OPML file from anyone else’s Friends List. You don’t need to be logged on. Just substitute the username in this URL:


OPML reading lists on the web (spreadsheet table)

Update June 9, 2014: You can now your own web-based OPML reading list to the new, public resource OPML Reading Lists on the Web. Note that the spreadsheet has multiple tabs. It is intended as a collaborative initiative. Please feel free to share the link and to retweet the Twitter announcement.

OPML Reading Lists on the Web



OPML tools and resources

Another way to create an OPML file is by starting with a simple list of websites that offer RSS feeds and using a web service to convert that list to an OPML file. Here are some OPML conversion tools and resources that make that process a lot easier:

Once you’ve created your OPML file, make sure that it’s accessible through a web URL.


Create a custom search engine from any OPML file

Now that you know where to find OPML files and how to create and share your own, why not grasp the opportunity and put them to good use? A fine use case for OPML files is to build a Google Custom Search Engine on the fly. Try this TechMeme Leaderboard Search Engine, based on the Techmeme Leaderboard.


Turning a web-based OPML into a search engine


If you observe the URL in your browser address bar, you can easily see how to substitute your own OPML file. Creating a custom search engine is just that simple. A powerful aspect of Google Custom Search Engines is that they show search results from the entire archive of a website – not just the recent history from its RSS feed. Google Custom Search Engines can be refined in many ways. To learn more about these options, visit and explore the Google Custom Search Engine website.


On the history of dynamic OPML

Dynamic reading list support isn’t newly invented by InoReader. Full credit for the concept goes to two pioneers in RSS, notably Dave Winer, and the deceased RSS reader Blogbridge.


Dave Winer – pioneer in RSS and inventor of OPML

Over the last decade or so, Dave Winer has continually been pushing the concept and potential of synchronized reading lists. Added info (thanks @DaveWiner): 12 Years ago, he implemented the feature in web publishing product Radio Userland.

His most recent outlining project Fargo supports subscribing to web-based OPML files by inclusion. Read how this feature works in the blogpost “Subscribe” to OPML Lists in Fargo (May 22nd, 2014), as explained by fervent Fargo user Jeffrey @Kishner.

See also these two relevant posts by Winer from 2013:

Care to Share Your OPML? (April 2013)

Feed reader developers — here’s an easy way to differentiate your service and have your users love you even more (August 2013)


2005: BlogBridge announces dynamic reading list support

By the end of 2005, a full-fledged version of dynamic reading lists was implemented in BlogBridge. Cross-platform, open-source and an info-junkie’s wet dream, Blogbridge unfortunately succumbed to the heavy pull of Google Reader’s gravitation.

Although as a product it is no longer available, the BlogBridge blog archive is still reminiscent of what it means to develop a top-notch, user-focused news aggregator and what hurdles the developers needed to overcome. See this post from November 2005, in which BlogBridge founder Pito Salas announced the upcoming reading lists feature in Reading Lists: Major new capability, coming soon.

To the next level of InoReader’s Dynamic OPML Subscriptions feature

Here is my wish list:

1. Right now, InoReader offers OPML files for individual folders and for a user’s entire subscription list. A logical in-between product would be to offer OPML files for bundles – a custom combination of several folders.

2. While in the InoReader user interface, people should be able to add new OPML subscription lists hosted on Similarly, they themselves should be able to publish their reading lists to and make them publicly available there.

3. InoReader should add a recommendation system for subscription lists. Once the system understands what topics a user is interested in, it could recommend suggested reading lists.


About InoReader

InoReader is a fast and powerful web-based RSS service that has become increasingly popular over the past year. It has become my preferred feed reader in early 2014.

For InoReader, the frequent operations of sorting, tagging, renaming and organizing feeds and folders are frictionless actions. Productivity features such as in-context search, Active Search feeds and feed notification rules all work smoothly and fast. The collection of InoReader dashboard gadgets is growing by the week. The service has a strong focus on social features such as feed-item tagging, favoriting and commenting and of course integrates with dozens of web services. You can even configure your own custom Send To apps, or become the publisher of a channel that broadcasts among your InoReader peers.

Unique about InoReader is also that it provides public HTML / RSS / OPML output at the folder level. Lastly, I’ve personally experienced that the InoReader support team truly excels at dealing with support questions and feature requests. I’m honored and very grateful that the InoReader development team embraced my suggestion to implement Dynamic OPML Subscriptions.

On Twitter, you can follow @InoReader, there’s an InoReader Facebook page. Of course there’s also an InoReader Blog: (RSS | Atom). Both the blog and the Changelog (RSS) are updated at least weekly.

Written by CleverClogs

May 26th, 2014 at 12:30 pm

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


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

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:


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:


This is what my Particls ticker looks like now:


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:


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.


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 and the Grazr News Radar for 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.


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, he told me the stunning news that most likely today 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:


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.


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.


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 configuration page


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:


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.


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’ [!]:

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! OPML URLs look like this:, 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 qualifies to be included in the TagJag! list of search engines. Send your own TagJag! submissions to


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

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.


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 of Your OPML File"
href="" />

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

<link rel="outline" type="text/x-opml" 
title="Marjolein's Writings"

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


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.


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:


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 of Your OPML File"
href="" />

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

<link rel="outline" type="text/x-opml" 
title="Marjolein's Writings"

(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?


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