waving android

I am currently a software engineer at Google, where as a member of the Android platform team I build frameworks and user interfaces.

The blog here at is mostly historical; you can find more recent posts on .

SixApart update streams

August 17th, 2005

Some interesting news on the timely-feed-updates front coming from SixApart/LiveJournal. Benjamin Trott writes:

[I]f you connect directly to us, we can provide a stream of updates to blogs on our services that listeners can watch. … you’ll be able to make an HTTP request to http://updates.sixapart.com:8081/atom-stream.xml, and have Atom updates from LiveJournal and TypePad streamed directly to your client.

Brad Fitz has the technical details:

Prototype: (not its final home)

$ telnet danga.com 8081
GET /atom-stream.xml HTTP/1.0<enter>
<enter>

And enjoy the never ending XML stream of Atom feeds, each containing one entry.

What’s really interesting about this is that it moves beyond mere pinging (which is, at the moment, a way to coordinate a DDoS on a weblog by letting everyone know when to go pound on its RSS feed) into timely distribution of updates. The HTTP stream described above emits complete Atom feeds, each of which contains a single entry: the complete contents of the site update (LJ post or what have you).

Of course, your client (whether it’s a ping service or RSS reader) would need to connect to this Atom stream, and all others of interest, in order to get all the latest goodies. This is a problem that the FeedTree project solves by using separate, discoverable multicast groups for each individual feed. If you know the feed’s URL, you can find the Scribe rendezvous point and start receiving updates.

And, hey, it just so happens that FeedTree’s wire format (that is, the format of the contents of each Scribe multicast message) is a complete Atom feed with a single entry representing the update in question. (It should be straightforward, therefore, to write an AtomStream-to-FeedTree gateway.)

newer: older: