BlogMatrix
 

The Yahoo Problem (II)

edit David Janes 2005-01-14 03:42 UTC 2 comments  ·

Leslie "0xDECAFBAD" Orchard writes:

But, in the comment above, Phil [ringnalda] makes a suggestion that seems ideal to me. Don't link to feeds directly, don't use a funky protocol, link to a "playlist" of feeds. URLs linking to MP3 playlists (ie. the informally specified M3U and PLS files) seem to get tossed and handled just fine by your preferred media player. I don't even know how the MIME-type situation is handled with M3U or PLS links, but it seems to work just fine nonetheless.

Here's Phil's comment:

Then, this is the point in the cycle where I remember that the real lesson of the past to learn from is from MP3 playlists, where a link needs to pass one or more URLs to a helper app, and that what we really need is to not to link to our feeds, but to a file that links to them. That indirection also has the added benefit of keeping random spiders (like Google) that don't actually understand them from ever seeing them: if you don't know how to parse application/feedlist+xml, you'll never see the URLs for the feeds themselves.

Now I didn't really get what Phil was saying in the post I linked to below but the above system seems to have everything. Leslie goes on to spell it out in detail:

What if we circled back around with autodiscovery and published a file like this:

<feeds xmlns="http://www.decafbad.com/2005/01/feeds">
    <link rel="alternate" type="application/rss+xml" title="Full RSS" 
         href="http://www.decafbad.com/index.rdf" />
    <link rel="alternate" type="application/atom+xml" title="Full Atom" 
         href="http://www.decafbad.com/atom.xml" />
    <link rel="alternate" type="application/rss+xml" title="Blog-only RSS" 
         href="http://www.decafbad.com/blog/index.rdf" />
    <link rel="alternate" type="application/atom+xml" title="Blog-only Atom" 
         href="http://www.decafbad.com/blog/atom.xml" />
    <link rel="alternate" type="application/rss+xml" title="Links-only RSS" 
         href="http://www.decafbad.com/links/index.rdf" />
    <link rel="alternate" type="application/atom+xml" title="Links-only Atom" 
         href="http://www.decafbad.com/links/atom.xml" />
</feeds>

Name it something like feeds.fss, link your candy-like buttons to it, and register applications to handle that extension. Give it a MIME-type, and handle that too. Sounds just like M3U and PLS files, to me. Someone tell me why this is a dumb idea.

Feed playlists. Name it something like feeds.fss, and register applications to handle that extension. Give it a MIME-type, and handle that too. Sounds just like M3U and PLS files, to me. Someone tell me why this is a dumb idea.

Now what does this remind me off ... oh yes: OPML! Why create another XML application when we already have one that's perfectly suited to this application?

Here's all that needs to be done:

  • Everyone creates an OPML wrapper for their feeds
  • The put an orange FEED link on their webpage pointing the OPML file. If you want to post the feeds of someone else's site, just link to their OPML file (and you no longer need to worry if their feed structure evolves)
  • Optionally, a special extension and or mime type could be used for these files to indicate
  • The ".opml" extension is registered in the browser to send a message to their aggregator. Aggregators should allow the user to selectively choose feeds from the OPML file. Sparks! and Jäger already allow you to do this.

Hmmm ... that's pretty simple and builds beautifully on the technology we already have!

I'm noticing that already that there's comments that are anti-OPML (which historically have been hard to dissassociate from anti-You Know Whoism) but given the amazing amount of traction that OPML has picked up in the last six months, why put ourselves through all the misery of the Atom/RSS schism again? OPML works, is simple and our aggregators have the code to handle it.

What Yahoo Problem?

edit David Janes 2005-01-12 21:42 UTC 7 comments  ·

Dave Winer wrote an entry yesterday titled "The solution to the Yahoo problem"

Yahoo sends emails to bloggers with RSS feeds saying, hey if you put this icon on your weblog you'll get more subscribers. It's true you will. Then Feedster says the same thing, and Bloglines, etc etc. Hey I did it too, back when Radio was pretty much the only show in town, you can see the icon to the right, if you click on it, it tries to open a page on your machine so you can subscribe to it. I could probably take the icon down by now, most Radio users probably are subscribed to Scripting News, since it is one of the defaults. But it's there for old time sake, for now.

Anyway, all those logos, when will it end? I can't imagine that Microsoft is far behind, and then someday soon CNN is going to figure out that they can have their own branded aggregator for their own users (call me if you want my help, I have some ideas about this) and then MSNBC will follow, and Fox, etc. Sheez even Best Buy and Circuit City will probably have a "Click here to subscribe to this in our aggregator" button before too long.

Now, from the point of view of Yahoo, there's no problem at all: there's free advertising, ease of use, so on and so forth. For CNN through Circuit City, the "problem" is that they didn't get there first, but boy, they'd love to be there (hypothetically speaking, of course).

From the point of view of information provider, it's a pain in the arse to provide all the appropriate icons. That is, assuming they're needed. Maybe you don't care if it's easy for people using the Circuit City aggregator to read your content or maybe there's a better way to do this anyway.

From the point of viewer of the reader, esthetically it's ugly and if your aggregator didn't make it to the list, you're ... hypothetically speaking, again ... back to cut and paste of URLs.

The reason I'm saying hypothetically is that there's already a great way to do this without creating some sort of centralized database, specializing URLs or whatever: drag and drop. I'm tooting my own horn here, but there's no reason that desktop should not provide the same service we do. Here's how we do subscription in Sparks! and Jäger:

  • click the URL of a page you're interested in ...
  • drag it to Sparks! (or Jäger)
  • drop it

That's it and that's all you should have to do. Our applications are smart enough to figure where the aggregation feed is and if there's ambiguity, you'll be further prompted. We don't even care if you get the home page (of a blog) or whatever, we've got about a 95% success rate figuring out "what you really mean" from any archive link on a blog. The only requirement on the part of the information provider is to add a "<link>" tag in the HTML header.

There's no need for those ugly RSS feed buttons – "my blog provides RSS brand syndication" is not much different that "my house use Ontario Power brand electricity". Who cares? RSS should be so everywhere there should be no need to point out its presence.

This doesn't cut out online aggregators either, though it's not as pretty. A Flash or Java drop target could be provided for dropping URLs, which I hope should do the trick.

Further comments:

  • Phil Ringnalda – with something that sounds about as complicated than Dave's idea
  • Ross Rader – who apparently is in Circuit City's boat and thinks it's a good idea

Addendum

If you're all really committed to making special markup to indicate RSS feeds, just make it "http://rsssubscribe?url=http://www.example.com/index.xml" and online aggregators and desktop aggregators can add an "rsssubscribe" entry /etc/hosts to redirect to your aggregator flavor. And you can still have Bryan Bell to design a cool icon.

SXIP

edit David Janes 2005-01-07 17:02 UTC 3 comments  ·

Warning: esoteric technical aside follows.

One of the forthcoming projects we'll be working on is a shared BlogMatrix site where blogrolls, OPML files, radio subscriptions and whatnot can be shared. I've been looking at something called SXIP (pronounced "skip") for a single-login system but there's only one problem: if there's no functional "homesites" available for us to hook into, there's no way we can use this product/service/idea.

Thoughts on the future of weblog readers

edit David Janes 2004-10-23 20:11 UTC add comment  ·

Danny Ayer has an interesting post on what he wants out of blog reading software.

Jäger gets tapped out at about 500 subscriptions. There are two problems in the design of Jäger that cause this. First, Jäger wants to keep a lot of information in memory — pretty well everything except the full-text content of blog postings, which is dynamically loaded at viewing time; and secondly the fact that each weblog and all its entries are stored as an individual file on your disk and thus we are limited by the speed of your filesystem which typically isn't that great.

Both these problems can be overcome, but its not a priority issue at this point. There's so much more that needs to be done for the average user before we start worrying about the outlying cases.

Jäger does have a quite powerful set of facilities for sorting through weblog content. You can set up filters to ignore certain blog postings OR to ignore all blog postings except certain ones. You can set up watch lists to highlight blog postings you're interested in AND you can mark blogs to say only show watched entries.

One of the primary failings of Jäger is the documentation for all this is scattered throughout our blog postings. Our project for Novemeber is to collect this into a coherent set of documentation.

Danny does have the right idea though. In the next major revision of the underlying guts, we should be aiming for a two or three magnitude order of improvement in the number of blogs that can be handled, not just a single order.

Wow:

edit David Janes 2004-10-14 15:00 UTC add comment  ·

CBC news reports:

Strong sales of its popular iPod digital music players helped Apple Computer to more than double its fourth-quarter profit, the company announced Wednesday.

[...]The results handily beat analysts' expectations. Apple says iPod shipments are up six-fold in one year

Apple said it shipped 2,016,000 iPods in the quarter, up 500 per cent over the same quarter a year earlier.

BlogLines API

edit David Janes 2004-09-28 19:35 UTC add comment  ·

This could be very interesting. BlogLines is providing an API (press release; weblog link) that will allow desktop clients – i.e. programs like Jäger – to synchronize multiple copies on different machines; to provide notifications that a blog has been updated; and to provide truncated RSS 2 feeds that only contain new items.

I'm going to size this up this afternoon and decide whether this is worth implementing. I'm noticing a few shortcomings in the API, though some of these comments may be of nitpicking nature:

  • There should be a way of marking items as read without re-downloading the feeds
  • There should be a way of marking a range of items (possibly just by using two time points) as read – i.e. just because the aggregator has download some items doesn't mean the user has read them on the aggregator.
  • Why isn't there a "download everything new" call? The current API requires that each subscription be downloaded as a separate HTTP call; why not have an aggregate function that returns everything in a single call?
  • Why isn't there an "upload blogroll" or "subscribe to" API (preferably the later) call? This is really required if desktop aggregators are going to synchronize with each other.
  • Why aren't Bloglines' OPML extensions added as a separate XML namespace – i.e. use Bloglines:SubId="3714388" rather that BloglinesSubId="3714388"?

Update: it should also be possible to get the OPML feed with only updated items too.

RSS Calendar, take 2

edit David Janes 2004-08-27 16:56 UTC 1  comment  ·

I just posted this idea as a comment to Marc Canter's weblog. RSSCalendar should consider making the "ICAL" object an RSS 2 Enclosure so it can then be "picked off" automatically by tools interested in this data (without scraping the internal HTML object).

The ICAL object contains data that looks like this (original link):

BEGIN:VCALENDAR
CALSCALE:GREGORIAN
PRODID:-//RSSCalendar.com - 1.0//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
UID:d6128a5c44f82653361a48a60cbc47c2
DTSTART;VALUE=DATE:20040820
DTEND;VALUE=DATE:20040821
DTSTAMP:20040415T140000Z
TRANSP:TRANSPARENT
SUMMARY:Conference
DESCRIPTION:RSSCalendar is an exciting ... uses, including:
LOCATION:
PRIORITY:3
END:VEVENT
END:VCALENDAR

It's not XML but it does have its own RFC.

RSSCalendar

edit David Janes 2004-08-17 21:35 UTC 1  comment  ·

I just gave RSSCalendar a quick spin. RSSCalendar is, strangely enough, an online calendar service. You can enter events, appointments and whatnot on your Calendar and you can log back into RSSCalendar to view them at a later date. The twist is that RSSCalendar also publishes your Calendar as three different RSS feeds: daily, weekly and monthly ones. You – or someone else – can subscribe to these feeds and be notified of what's happening. If you're the someone else, you can load the event into your calendar program, such as Outlook, or even into your own RSSCalendar account. Alternatively, you can also just mail the URL of the calendar event to someone else so they add it to their Calendar. Neat.

There's a few UI glitches that I've encountered so far, which I shall mention here in the hopes that the RSSCalendar folks will fix them:

  • The "Add Event" page requires a Description. I don't always want to do this.
  • It should be possible to have multi-day all day events. For example, "Mom visits; Sept 3 – 9".
  • The "Start Date" should display the day of week.
  • The popup Calendar selector is ugly as hell. How about a single button from with a graphic displaying a calendar? That'd be much slicker.
  • If you press any of the "Recurrence" buttons, it's not possible to turn them off.
  • It should be possible to hide my e-mail address in the public feeds. I entered one of my "real" private e-mail addresses into my account information (as opposed to one of my "expect spam" public e-mail address).
  • After you log in for the first time it says "Welcome Back". This is a very minor nit I know.
  • BlogMatrix Jäger is not mentioned as one of the readers :-)

There's one feature I'd like to see added. In fact, I think this is kinda critical: there should be a fourth "notification" feed that will republish events several times before they happen, say at 3 hours, 1 hour, 30, 15 and 5 minutes before the actual event. These entries should have all the same links but different GUIDs so they will be seen a distinct events by aggregators. Private events should be published in this feed. This will act as a notification channel for me when I'm using the calendar from Jäger.

Minor editing changes made 2004.07.20

Online Advertising

edit David Janes 2004-07-28 00:01 UTC 1  comment  ·

Things that make you go hmmm:

WSJ (sub required) quotes a Jupiter report stating the obvious: Online advertising will eclipse magazine dollars by 2008.

RSS/Atom book

edit David Janes 2004-07-12 01:23 UTC add comment  ·

Danny Ayers has announced he's co-authoring a RSS/Atom book with Andrew Watt. Good luck, Danny.

Syndication today is at where web pages were in early 1994 — if you talk about it now it's "huh?"; in 18 months almost every website will have one.

Searching

edit David Janes 2004-07-11 17:34 UTC 1  comment  ·

Via Doc, I found this comment by Kevin Marks:

Last week I watched Steve Jobs explain Technorati's advantage over Google - he was talking about Safari's RSS search, but Technorati searches millions of blogs for you within minutes of them updating, not just the RSS feeds you have already subscribed to.

However, sometimes you just want to search the blogs that you're subscribed to, not every blog in the world. I.e. the "I saw this posting about X once and now I'd like to see it again". Bridging this gap would be killer. I assume the way to do it would be to allow uploading of blogrolls or restriction lists using OPML or something. And once you've gone that far, it's not a big leap to imagine Technorati getting into the Bloglines business.

Some full-text searching is coming in Jäger 1.3/1.4, though I may initially just restrict it to the Library till I understand the implications and technology better.