Announcing Cliqset FeedProxy (Activity Streams translation service)

1 view
Skip to first unread message

Darren Bounds

unread,
Dec 2, 2009, 10:59:26 AM12/2/09
to activity...@googlegroups.com, diso-p...@googlegroups.com
Hey all,

I just wanted to give everyone a heads up about a Cliqset tool we just
rolled out this morning called FeedProxy. It's designed to make
Activity Streams more accessible to developers and users alike. Here's
the deal:

FeedProxy uses the same translation technology we've implemented to
normalize our Cliqset user activity streams but in a more generic way.
You simply select one of the 70+ supported services, define some
user/feed information and FeedProxy will generate a persistent
Activity Streams Atom feed URL for that service to use as an
alternative to reading and translating proprietary RSS/Atom feed
formats. This means that Twitter, Flickr, WordPress, Tumblr, etc, etc,
etc, RSS/Atom feeds are now normalized and accessible in Activity
Streams formatted Atom.

There's no need for a Cliqset account, you just generate your feed URL
via http://feedproxy.cliqset.com/ and you're set.

If you have a minute or two, check it out. Would love to hear any
feedback you have.

We're still refining some of the elements and will be adding new
features for defining the characteristics generic RSS/Atom feeds but
we think this is a great start and we're happy to be able to help push
Activity Streams forward.

Once again, let me know if you have any questions, comments or problems.


FYI: Here's a Twitter example.

Example 1: Twitter

The default feed looks like this: (via
http://twitter.com/statuses/user_timeline/dbounds.rss)

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"
xmlns:georss="http://www.georss.org/georss">
<channel>
<title>Twitter / dbounds</title>
<link>http://twitter.com/dbounds</link>
<atom:link type="application/rss+xml"
href="http://twitter.com/statuses/user_timeline/dbounds.rss"
rel="self"/>
<description>Twitter updates from Darren Bounds / dbounds.</description>
<item>
<title>dbounds: @alex Of course. Just let me know when and where.</title>
<description>dbounds: @alex Of course. Just let me know when and
where.</description>
<pubDate>Tue, 01 Dec 2009 02:37:55 +0000</pubDate>
<guid>http://twitter.com/dbounds/statuses/6222118706</guid>
<link>http://twitter.com/dbounds/statuses/6222118706</link>
</item>
</channel>
</rss>


Now take a look at the Activity Streams feed generated by Cliqset
FeedProxy: (via
http://api.cliqset.com/feed/?svcuser=dbounds&feedid=twitternotesposted)

<feed xmlns="http://www.w3.org/2005/Atom">
<entry xmlns:service="http://activitystrea.ms/service-provider"
xmlns:activity="http://activitystrea.ms/spec/1.0/">
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
<published>2009-12-01T02:37:55.000Z</published>
<title type="text">dbounds: @alex Of course. Just let me know when
and where.</title>
<summary type="html">@alex Of course. Just let me know when and
where.</summary>
<service:provider>
<name>twitter</name>
<uri>http://twitter.com</uri>
<icon>http://cliqset-services.s3.amazonaws.com/twitter.png</icon>
</service:provider>
<activity:object>
<activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type>
<content type="text">@alex Of course. Just let me know when and
where.</content>
<link rel="alternate" type="text/html"
href="http://twitter.com/dbounds/statuses/6222118706" />
</activity:object>
<activity:object xmlns:poco="http://portablecontacts.net/spec/1.0">
<activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type>
<title type="text">dbounds</title>
<poco:name>
<poco:givenName>Darren</poco:givenName>
<poco:familyName>Bounds</poco:familyName>
</poco:name>
</activity:object>
<author>
<name>dbounds</name>
</author>
<link href="http://twitter.com/dbounds/statuses/6222118706" />
</entry>



--
Darren Bounds
dar...@cliqset.com
http://cliqset.com/

Darren Bounds

unread,
Dec 2, 2009, 12:06:32 PM12/2/09
to activity...@googlegroups.com, diso-p...@googlegroups.com
Thanks James,

We use whatever information we have available. Twitter puts the users
full name in the Atom description which we attempt to parse and use in
author. The author detail will vary from service to service.

e.g:
<title>Twitter / dbounds</title>
<link>http://twitter.com/dbounds</link>
<atom:link type="application/rss+xml"
href="http://twitter.com/statuses/user_timeline/14402132.rss"
rel="self"/>
<description>Twitter updates from Darren Bounds / dbounds.</description>
<language>en-us</language>

Darren

On Wed, Dec 2, 2009 at 11:42 AM, James Falkner <sch...@gmail.com> wrote:
> Pretty cool, Darren.. how do you normalize the author names that you include
> in the poco elements?  For example, the base twitter feed only has no author
> information (other than in the content itself, not really parsable).
> But in your
> proxied feed, you have a valid <poco> element with your full name.
>
> We in Community Equity are always struggling with normalizing authors when
> reading from a bunch of different services / feeds because we are
> calculating
> a given person's equity across the web and need to match authors to
> information
> coming from disparate sources.  This could be a step forward in a solution.
>
> -jhf-
> You received this message because you are subscribed to the Google Groups "Activity Streams" group.
> To post to this group, send email to activity...@googlegroups.com.
> To unsubscribe from this group, send email to activity-strea...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/activity-streams?hl=en.
>
>
>



--
darren bounds
dar...@cliqset.com

Darren Bounds

unread,
Dec 2, 2009, 2:52:36 PM12/2/09
to activity...@googlegroups.com, diso-p...@googlegroups.com
Thanks Bill,

Good catch. Update forthcoming.

Darren

On Wed, Dec 2, 2009 at 2:26 PM, Bill de hOra <bi...@dehora.net> wrote:
> Hi Darren,
>
> Nice work. The feeds need fixing up:
>
> - atom:feed has no atom:title
>
> - using atom:published, which is optional not but atom:updated, which is
> the required one.
>
> - doesn't have atom:id in atom:feed or atom:entry.
>
> Those last two also mean no support for aggregator sync in Atom
> (algorithm: page back to the last id/updated pair you've recognize then
> stop).
>
>
> Bill

Darren Bounds

unread,
Dec 2, 2009, 5:18:05 PM12/2/09
to activity...@googlegroups.com, diso-p...@googlegroups.com
FYI, we've deployed an update to address these issues.

Thanks again for pointing them out.

Darren

On Wed, Dec 2, 2009 at 2:26 PM, Bill de hOra <bi...@dehora.net> wrote:
> Hi Darren,
>
> Nice work. The feeds need fixing up:
>
> - atom:feed has no atom:title
>
> - using atom:published, which is optional not but atom:updated, which is
> the required one.
>
> - doesn't have atom:id in atom:feed or atom:entry.
>
> Those last two also mean no support for aggregator sync in Atom
> (algorithm: page back to the last id/updated pair you've recognize then
> stop).
>
>
> Bill
>
> Darren Bounds wrote:

Chris Messina

unread,
Dec 7, 2009, 12:52:44 AM12/7/09
to diso-p...@googlegroups.com, activity...@googlegroups.com
Props Darren, this is great. 

I actually worked on a project that did exactly what your FeedProxy does while I was at Vidoop, but, with Vidoop so went the project. I'm tickled pink that you've released this and made it available!

I'd love to know what kind of verbs we're missing, and what issues you ran into while implementing this. It'd also be great to hear from folks who are using the proxy in terms of how they're using, and what issues they might be encountering.

This is exciting! 

Chris




--

You received this message because you are subscribed to the Google Groups "Diso Project" group.
To post to this group, send email to diso-p...@googlegroups.com.
To unsubscribe from this group, send email to diso-project...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/diso-project?hl=en.





--
Chris Messina
Open Web Advocate

Personal: http://factoryjoe.com
Follow me on Twitter: http://twitter.com/chrismessina

Citizen Agency: http://citizenagency.com
Diso Project: http://diso-project.org
OpenID Foundation: http://openid.net

This email is:   [ ] shareable    [X] ask first   [ ] private

Darren Bounds

unread,
Dec 7, 2009, 2:00:39 PM12/7/09
to activity...@googlegroups.com, diso-p...@googlegroups.com
Thanks Chris.

We'll write something up that describes our experience building this
out and any of the hurdles we ran into.

And yes, if anyone has any issues, requests, whatever, please let me know.

Darren
> "Activity Streams" group.
> To post to this group, send email to activity...@googlegroups.com.
> To unsubscribe from this group, send email to
> activity-strea...@googlegroups.com.
> For more options, visit this group at
Reply all
Reply to author
Forward
0 new messages