Time to meet the (foaf:)maker

Whilst writing my LJ Friends Feed script I noticed that in the section of every livejournal user’s page there’s a meta tag describing the foaf:maker of that page. G’s page, for example, contains this:

<meta name="foaf:maker" content="foaf:mbox_sha1sum '1ac73dd5910fd8615d2ae27efaf24258a84c3e66'" />

Paired with the foaf:weblog statement in his FOAF file this provides simple validation for both statements. Awesome. I hadn’t thought of using meta tags like this, and had really assumed that rdf-in-xhtml would have to be used for it, but provided there’s a common way of doing it (especially within a closed system like LJ) then there’s no reason not to.

Interesting stuff!

Uninstall those extensions!

It’s a doddle to install firefox extensions but near impossible to uninstall them unless you know what you’re doing, and if you’re like me, you’ll see a new extension and go “Oooh, that looks good”, install it and before you know it have twenty installed of which you use about five.

However there’s one extension you should definitely grab: the extension uninstaller! Yes now you too can uninstall all those unused extensions that you once thought would brighten up your daily browsing experience with the click of a single button!

(via Jacob’s Mozilla Tips)

The Sunday Post

G says that there are never any posts on a Sunday, so here’s one just for him (late in the day as it may be).

A few days ago I finally got around to knocking up what I’ve decided to give the short title of The LiveJournal Friends Feed Creator.

My first foray into the murky world of Python it takes a LiveJournal nickname (say, Xurble), retrieves that user’s FOAF file, parses it to retrieve his list of friends, then locates and downloads the RSS file for each friend, and smushes them all together to make one big RSS file which can actually be subscribed to.

And so after all that you end up with (more or less) and RSS representation of that user’s LiveJournal Friends page.

(G – I should have just let you write your screen-scraper!)

Anyway, after some wise words from Jim on Friday I’ll have a go at actually turning this into a web service in the next few days, by which point the LJ authors will probably provide this functionality built in and all my work will be wasted. Here’s hoping.

Aggregators: Conclusion

In between looking at Sauce Reader, Sharpreader and Syndirella, I looked at pretty much all the other desktop aggregators in the weblog compendium and none of them were as good as these, by a large margin.

All in all, what I’d like from an aggregator is just about covered by these three, but not by any one. The startup speed of the .NET apps is appalling, and the SharpReader toaster effect repels me. The SauceReader UI is just not professional enough. On the other hand, SharpReader is desperately underpowered for such a popular aggregator. It just doesn’t let me do anything – I suspect that this is largely to do with the inoperable browser component (Syndirella’s was the most usable, for the record), but the fact that I can’t even see the source of a feed bothers me too. Comparatively, Sauce Reader provides masses of functionality but could do definitely do with full-on menu and toolbar customisation so we can sort the tools we want to be the most accessible (or copy Syndirella and take the simplistic approach).

And so, in tedious conclusion, if I was thinking about writing a new aggregator, I’d probably start with Syndirella’s model, with something like SauceReader’s functionality as my end goal.

Aggregators: Part Two

Sauce Reader

Nice installer, nice tutorial/introduction screens. Slow startup (as with all the aggregators that use the .net runtime). Listens for feed:// URLs and listens on the radio port so you can click on the orange coffee mug on sites (although I hardly ever see these). Also auto-detects feeds for the current page viewed in the embedded web browser.

Imported my OPML file well. Good internal AND web search. Nicely breaks up posts into periods. Has a nice address bar. Overall pretty good. A couple of minor UI tweaks I’d like, like being able to turn on text to describe the buttons on the toolbar, as well as a couple of internal inconsistencies. Also there’s no OCS import. Supports Atom, which is great, seeing as my RSS feed is shit. I managed to make it crash a few times, but I was using a beta version, so I can’t complain too much about that. Has a great right-click “blog this” functionality as well as linking in to technorati. The developers are very receptive to feedback in their dedicated newsgroup and seem very keen to hear from users.

An extra bonus is that its built-in post viewer allows the use of different styles, which are just CSS files which you can edit to your hearts content. Find yellow on red easiest to read? Just change the CSS and you’re away.

Sauce Reader has a different target than most of the aggregators I looked at in that it hopes to become a fully-fledged desktop-based weblogging tool, with the ability to make new posts, add comments and so on so it’s definitely one to keep an eye on.

The main desktop aggregators I’ve used before this are Syndirella and Sharpreader. In terms of features I’d say this is much better than either.

Sharpreader revisited

In all fairness, it’s probably been at least six months since I used Sharpreader, and it’s a lot better than I remember it being. The URL bar is still only really used for adding new feeds, but you can also type the URL of a site and it will autodetect the feed, which is nice. But it means no navigation via the URL bar, and if you use the embedded IE pane then you can’t see the URL of the page you’re on. There’s also a good “filter” functionality which is basically a search across your feeds and works pretty well, although now I’ve got it, I want to be able to save filters and have them appear as internal feeds. It supports Atom, which is good. It doesn’t import or export OCS, which is bad. The originally much-vaunted advanced threading for related posts is kind of nice, but nothing to get too excited about. The pop-up notification of new posts is terrible. Drag’n’drop support for URLs is OK. You can drag a URL to the URL bar or on top of an existing feed to subscribe to it. You can’t just drop it anywhere in the left pane, which is what I expected. Still, much more professional feel to it than Sauce Reader.

Syndirella revisited

Ah Syndirella, my old friend. I spent many months living in Syndirella, and even now, with no development for the past year (at least on the version I downloaded) still outstrips SharpReader and SauceReader in terms of core functionality. There’s no Atom support, because it didn’t exist when Syndirella was written, but it does import and export of BOTH OPML and OCS (for which it gets double points) as well as providing a good user experience – everything I could want to do with a feed is just there, all just a click or two away. Plus it seemed to have better error reporting. I suspect that it wasn’t better, just a lot more obvious.