Happy holidays from FriendFeed!

The FriendFeed crew is enjoying another great Festivus season, and we wanted to wish you all happy holidays.

Thanks to Kevin for creating another awesome holiday logo...

Last Fix-it Day of 2008

On Friday we had our last "fix-it day" of the year. We spent the day working on small bugs and features to improve your overall FriendFeed experience. You can now:

  • Edit entry titles and links on entries you've already posted — just look under the More menu on any entry you've posted and select "Edit this entry"
  • Share a YouTube video that starts at any point during the video — skip right to the interesting part of a video and get the conversations going quicker. Just append "#t=[time]" at the end of the video's URL (e.g.—#t=45s, #t=1m30s). See an example here.
  • Include your Instant Queue movies from Netflix
  • Hide individual Custom RSS/Atom feeds
  • Rename imaginary friends

Also, private room descriptions are now only visible to room members and we display a "This entry has been deleted" message when people link to a deleted entry. Let us know about any bugs you find with our Report a bug tool. If you have any other feedback, share it in the FriendFeed Feedback room.

Simple Update Protocol: Update

Several months back, we announced SUP (Simple Update Protocol), a proposal for making RSS and Atom feed updates faster and more efficient. Since then, a number of services have added SUP support, we've SUP-enabled our feed fetcher, and there are now thousands of SUP enabled feeds being imported into FriendFeed. Among the services that now support SUP are Disqus, Brightkite, Identi.ca (and other Laconica-powered micro-blogs), BackType, and 12seconds.tv. Whenever one of these feeds is updated, the new entry appears on FriendFeed within seconds (non-SUP feeds typically take 15-30 minutes to update). Check out the public feed of Brightkite updates to see this in action.

We've also added several additional tools and resources to simplify SUP development:

You can read more details about SUP and check out sample code on Google Code and discuss the proposal in the SUP FriendFeed room.

FriendFeed now in Deutsch, Français, Español, 日本語, русский язык, and 简体中文!

Sprechen sie Deutsch? 你想用中文版的FriendFeed么? ¿Quieres compartir enlaces con tus amigos?

We thought so! That’s why we’re so excited to add six new language interfaces to our site. As of today, you can now select from English, German, French, Spanish, Japanese, Russian, and simplified Chinese from a dropdown at the bottom of every page or from your Account settings page.

These languages are some of the most popular ones we've seen on FriendFeed so far, but we’re just getting started. We’ve got plans for adding more languages and we’re continually working to improve the FriendFeed experience for our users worldwide, including adding popular international sites such as 百度空间, はてな and menéame.

Each language interface has its own user-supported help area, but you can always let us know your thoughts and suggestions in the FriendFeed Feedback room — our site is global, but unfortunately for now, the eleven of us are mostly English-readers. :(

But we’ve all been testing and using our site in these different languages, so who knows... maybe one day we’ll actually parler Français! In the meantime, we hope you enjoy the new interfaces!

New features and services courtesy of Fix-it Friday

Another Friday, another "fix-it day"! Now you'll see:

  • Improved Tumblr support – images, audio, and most videos from your Tumblr feed will now automatically show up in your FriendFeed
  • Links to a user's comments and likes by clicking on the stats in their mini-profile (which appear when you hover over a user's name)
  • A Custom RSS/Atom feed service. You can still import any RSS/Atom feed by adding it as a "Blog", but this new option gives you a couple of additional customizations. This works particularly well if you want to import a feed from a bookmarking or microblogging service, since you can post each entry as a message (with no link) or pull in a description, which gets posted as the entry's first comment.

And in case you haven't seen our "Add services" page lately, check it out. We've just increased it by 22.92%. In other words, we've just added 11 new services!

Celebrating the holidays a little early

For the first time in FriendFeed history, all 11 FriendFeeders found themselves in the same room (and the universe did not explode). In honor of having Ben and Gary in town at the same time, we had our holiday dinner a little early this year.

Kevin and Rachel were gracious enough to offer up their home for our annual feeding of friends, and Rachel even cooked the entire friendFEAST herself!

For dessert, I contributed the only thing I know how to make--panna cotta--and everyone still lived to tell the tale.

We can't believe that we've more than doubled in size from this time a year ago. Thanks for another great year! Happy holidays (a little early) from the entire FriendFeed team!

Some reliability problems with the site today

We experienced a number of simultaneous problems today with the servers that run FriendFeed's web site. Since this morning's failure, our site has had intermittent problems, and we are in the process of diagnosing their root causes. We are working to alleviate the problems, and we apologize in advance if you experience any additional issues this evening as we finish deploying the fixes.

We really appreciate your patience, and we will keep you posted as we add safeguards to prevent these types of issues from happening in the future.

Instant FriendFeed - Notifications and Posting over IM

The great thing about IM is that it’s instant. You know right away when someone wants to reach you. To give users the option of having that same immediacy when it comes to FriendFeed, we’re now offering FriendFeed over IM:

Now you can get notified whenever someone comments on one of your posts or when there are new posts in your feed. FriendFeed will send you an IM—and you can even talk back. Post to your feed and comment on entries directly from your IM window, using a simple set of commands.

FriendFeed over IM will work with any Google Talk or Jabber account. You can also easily configure the types of IMs notifications you will receive:

After we launched our real-time interface, we heard from so many of you that you loved being able to instantly see the new things in your feed. We also love FriendFeed for the quick and easy communication it offers with our friends. So we're hoping this new way of using FriendFeed will be something that combines both, in a way that already feels fun and familiar. Let us know what you think—chat with us about it in the FriendFeed Feedback room.

Fixes and (smaller) feats on Halloween

To cap off a very busy October, we had a "fix-it day" at the FriendFeed office, where we take a break from our big projects to make time for bug fixes and small features. Here are some of the things we worked on:

  • Improved Real-time feed
    • You can expand entries in the real-time feed by clicking the chat bubble. The expanded entry shows you the entire conversation so you can see the comment or entry in context
    • Private entries are marked with a lock icon so they are more easily identifiable
  • Improved FriendFeed Bookmarklet
  • Our Atom/RSS feeds now look correct in Google Reader
  • You can now send your comments as Twitter @replies in our iPhone interface

Found a bug? Let us know with our Report a bug tool. Got feedback? Share it in everyone's favorite FriendFeed Feedback room.

Happy Halloween!

Happy Halloween, FriendFeeders! To celebrate Halloween, our UI extraordinaire Kevin Fox made an awesome logo:

A high-resolution version is also available. The toothpicks holding up the middle of the e's in the pumpkin are my favorite touch :)

Share your FriendFeed activity on Twitter

We want to make it easier for you to share your FriendFeed activity on the web services you're already using. Now you can publish your FriendFeed updates directly to Twitter.

To enable this feature, go to your Account page and find the 'Post my FriendFeed entries on Twitter' checkbox under the Feed publishing section. Checking this box will reveal more options. You can publish all your public entries, all your public comments, or both. You can also choose to publish entries from all your services or only share the entries from specific services you've selected.

After you've had a chance to try it out, let us know how well it's working for you in the FriendFeed Feedback room.

Improving the FriendFeed experience on Facebook

While most of our users enjoy FriendFeed on FriendFeed.com, we try to make it as accessible as possible with tools like our Embeddable widgets, iGoogle Gadget, and Facebook Application.

We've spent some time lately enhancing our Facebook Application to make it work better with Facebook's new interface. Notably, you can now add FriendFeed as a tab to your profile. Just click the "+" tab on your profile page (to add a new tab) and choose FriendFeed.

If you haven't already, add the FriendFeed Facebook App to share your FriendFeed activity with your Facebook friends. We're continuing to work on some additional changes, but do let us know what changes are on your wishlist in the FriendFeed Feedback room.

Discovering rooms on FriendFeed

Back in May, we blogged that the idea for Rooms “started when we wanted a better way to share feature ideas and product plans with each other here at FriendFeed, but not the rest of the world—a mini FriendFeed of our own.” Since that launch, our office has become completely dependent on our internal room.

We’ve heard lots of stories of groups of people using private rooms in really interesting ways, including screenwriters sharing script ideas and PR agencies collecting press clippings for their clients. It’s been great to see others using FriendFeed for increasing their communication and productivity as well.

But public rooms have also turned out to be really popular. And we’ve noticed that the FriendFeed community has developed lots of fun and creative ways to make the most of them—from sports enthusiasts discussing basketball, to friends posting photos, to early adopters requesting and sharing invites for private beta web services. Just yesterday, Pepsi launched a room to discuss its new visual identity with potential brand ambassadors.

As rooms usage increased, more and more people have asked for a way to find and browse public rooms. So we're happy to now offer room search:

Searching works for words in the room name or description. We even offer some personalized room recommendations based on rooms that are popular among your friends, as well as the entire FriendFeed community.

So go ahead, find an interesting room to join. With just a week left to go, maybe the US Politics room? Or, if even another week seems unbearable to you, there's always the No Politics Allowed room. (I, for one, have recently become addicted to the Movie Reviews room, which I keep open in a mini window throughout the day.) And as always, please keep your feedback coming!

All the FriendFeed extras on one page

Did you know that FriendFeed has a bookmarklet that lets you share links and clip images directly from your browser? Did you know that you can email messages and photos to FriendFeed from your phone?

We have a lot of cool extras you might not have heard about, so we created a comprehensive list of FriendFeed tools to make them more discoverable. We'll keep the page updated as we launch new stuff so you have a one-stop shop for FriendFeed goodies.

As always, let us know what you think in the FriendFeed Feedback room.

FriendFeed Room Upgrades

We've gotten a lot of suggestions from room owners on ways we can improve Rooms on FriendFeed. Today, we’re releasing two small customizations that are designed to let room owners have more control over their rooms’ appearance and content.

We now offer room admins the ability to mark-up their room's description. We support a limited set of HTML tags that should fit your needs. Most notably, you can now use bold, italics, and linking tags in your room descriptors.

Room admins can also now choose whether they want comment moderation on their semi-public rooms. This can be particularly useful if you want to embed your room on your own web site. When commenting in a moderated room, a user will see “Pending” before their unapproved comment, and will also have the option of editing or deleting the comment without needing to wait for an admin to approve or reject it. Room admins will see the approval-pending comments at the top of that room and also in the entries themselves.

We’re still working on a number of ways to improve rooms overall. As always, give us your thoughts in the FriendFeed Feedback Room.

Keeping it real with the FriendFeed Real-time API

If your application uses the FriendFeed API, you can now show FriendFeed updates to your users in real-time using the new FriendFeed Real-time API. We're providing access to the same underlying technology that's used by the real-time view on FriendFeed to all FriendFeed developers.

The API supports polling for updates as well as long-polling, in which responses will only return when updates are available. This technique should work particularly well for desktop notification applications.

For full technical details, check out our API documentation. For comments, concerns, or suggestions, let us know at http://groups.google.com/group/friendfeed-api.

FriendFeed adds support for Facebook, Joost, BackType, Twine, and Wakoopa

We just added a few new services to FriendFeed. Now you can automatically pull in your activity from:

Facebook activity includes status updates, posted items and notes. (Sadly, no notifications for when you get a sheep tossed at you. Yet.)

To see what else we support, check out our full list of 48 services. Let us know if there are others you'd like for us to add!

A Fix-it Friday

We've been very busy this past month, introducing things like our new design and real-time view. On Friday we had a "fix-it day", where we took a break from our bigger projects to focus on bug fixes and the big stack of small features we've been meaning to get to. Here are some of the things we did on Friday:

  • Updated our iPhone interface to support friend lists
  • Fixed service importing of Google Reader from international domains (e.g., google.co.uk)
  • Prevented in-progress comments from being lost when expanding clustered items
  • Added "Hide" links to our iGoogle Gadget

We also made a lot of small improvements to our Bookmarklet, Embeddable Widgets, Real-time feed and more! Thanks to everyone for the feedback you've been giving. Keep it coming in the FriendFeed Feedback Room and, if you have a specific bug, tell us about it with our bug reporting tool.

FriendFeed image widgets for WordPress, MySpace, and more!

Our recently updated widgets can now be embedded on blogs that don't allow Javascript by selecting the new "Image" format.

This was one of the most frequently requested features for our widgets as it opens up the door for WordPress and MySpace users to embed FriendFeed on their blog. Now anywhere an image can go, so can FriendFeed! The widget below will even appear in an RSS reader:

View my FriendFeed

Check out the widgets at http://friendfeed.com/embed and let us know what you think in the FriendFeed Feedback Room.

View your FriendFeed in real-time

Recently we asked some users what they liked about FriendFeed, and one said because "procrastination is only a refresh away." It sounded nice, but then we started wondering why anyone should have to refresh at all. Well now you don't:

In our new, experimental real-time view, comments and posts will appear at the top of your feed as quickly as they arrive. This is accomplished by a technique called long polling, where our server doesn't respond to your browser's request until there's something it wants to send. This is great because we can show your FriendFeed faster using far fewer requests than before.

Real-time view works on your home feed and all your friend lists and rooms, and in testing this feature, it became clear that one of the best times to use it is during live events. So we think tonight's final U.S. Presidential Debate will be a great opportunity to give it a try (I know I'll be keepin' it real in the the user-created 2008-debates room).

You can comment and like/un-like entries just like on your standard view of FriendFeed. And if what you're looking at is updating too quickly in real-time, you can even pause it (everything that's queued up will load once you resume updates).

For those who might want to always have FriendFeed running in the background, we've added a way for you to pop-out the entire real-time view to a mini window. I've always liked the conversational feel of FriendFeed, and when I view an event-specific room this way, it really does seem like I'm chatting with my friends.

We like the real-time view so much that we wanted to make it easy for you to put it wherever you want. You can embed a real-time view of a public room on your own blog or website, like this one:

We hope you'll like this new experimental view. Come on over to the FriendFeed Feedback room and let us know what you think (naturally, we're all reading that room in real-time). In the meantime, happy procrastinating (no refresh required)!

FriendFeed's first year

FriendFeed's turning one! A year ago today, Bret, Jim, Paul and Sanjeev put our site and service out there and invited some folks. Soon, more people joined—as users, coworkers and friends. The rest, as they say, is history. Although not particularly ancient history.

Still, it's hard to believe that it's already been a year. Certainly, it seems like a lot has happened. For those of you who might have missed any of it, here's a quick recap:

2007

October 1 (in the wee hours): Bret and Jim push the site and FriendFeed is born. Sanjeev's daughter, Iris, was born just a few days earlier. Sanjeev has a hard time picking favorites.

October 1: Bret purchases office espresso machine

October 2: Bret purchases office computers

October 15: The crew moves into FriendFeed Global International World Headquarters. Bikes are purchased.

October 24: Ana joins FriendFeed and is presented with the mountain of unpaid bills that Bret had so thoughtfully set aside for her

October 30: We launch "Likes". We like it.

December 18: Friends are fed at the holiday dinner at Bret's house. Paul airs multiple grievances about the Festivus Pole.

December 22: Grievances can now be aired on FriendFeed, er http://festivusfeed.com

2008

January 7: The first week of the new year is Kevin's first week at FriendFeed

February 8: First annual FriendFeed friends and family ski trip

February 26: We officially launch the site and announce our Series A funding

March 6: The TGIFF (thank goodness it's FriendFeed) tradition begins

March 17: FriendFeed now has search. But we still can't find our keys.

March 25: We launch an API and pass the work onto you

May 1: Tudor becomes a FriendFeeder. We swear, at FriendFeed, previous Gmail experience is not required.

May 19: Who let the non-Googler in? Ok, fine. Welcome, Casey.

May 22: 62.5% of FriendFeed is out of the office, spread across four continents. Sounds like a perfect time to launch rooms.

June 23: Casey drops a server on his foot and breaks his toe. The rest of us move across the street.

June 25: "Mandatory Fun Day!" Paul is excused because—and only because—his son Thomas is born that morning.

June 26: Gary joins FriendFeed, but missed out on indoor skydiving, deep dish pizza and baseball by one day

June 27: Finally, everyone gets job titles at FriendFeed

July 25: A whiteboard gets colored and a "Piñata-cam" gets airborne

August 25: Dan joins FriendFeed. Yes, again.

August 29: We welcome Ben from within our developer community

September 18: FriendFeed unveils a new look. We couldn't have done it without your useful feedback.

October 1: We celebrate! Thanks to FriendFeed, we've had an amazing year. And really, that's thanks to our users.

Thanks for helping to make FriendFeed what it is today. We're looking forward to celebrating many more birthdays with you!

Find activity by url or domain with the FriendFeed API

We have another new API feature to announce today, one that we hope will open up a whole new way of looking into FriendFeed's data.

We've added new methods that allow you to quickly find who has shared a given URL on FriendFeed.

Since a lot of the entries on FriendFeed are references to activities from other websites—ie. photos you've posted, pages you've bookmarked, or videos you've enjoyed—we hope this new feature will make it easier to find discussions about a Last.FM song you like, a YouTube video you made, or perhaps anything recent from your blog or favorite newspaper.

We hope this will help our extremely creative API community build commenting plugins, browser toolbars, and crazy insightful mashups that spot trends, add value back to the original material, or discover new content.

Full technical details about these and other features can be found in the API's documentation: http://code.google.com/p/friendfeed-api/wiki/ApiDocumentation#/api/feed/url_-_Fetch_Entries_about_a_URL

And please swing by the developer forum with comments, concerns, and suggestions about all our API features: http://groups.google.com/group/friendfeed-api

Remember, you can spell "happy" without "api", but only just barely!

Manage subscriptions from the FriendFeed API

Good news today for people who like to use FriendFeed from the comfort of their favorite desktop or mobile client (like twhirl or Alert Thingy)... we've added to our API the ability to subscribe and unsubscribe from friends and rooms.

This means no more having to remember interesting people or rooms you want to add the next time you're on friendfeed.com. Instead, API clients can now support subscribing directly.

Also, to make sure you can keep an eye on what the clients are doing, we've also added a list of subscription modifications (accessible from the bottom of your "Subscriptions" tab):

Every time you subscribe or unsubscribe from a person or room, a new entry will show up in your subscription modifications page so you can undo any mistakes.

I can't wait until fftogo adds these features, which is likely to be very soon because they were built by Ben, its talented creator.

Full technical details about this and other features can be found in the API's documentation: http://code.google.com/p/friendfeed-api/wiki/ApiDocumentation

This was one of the most-requested API features in our developer forum. As always, please swing by with comments, concerns, and suggestions about existing and future API features: http://groups.google.com/group/friendfeed-api

Goutham's Last Day

Goutham`s summer o' fun as a FrrriendFeed intern has sadly come t' an end. Today be his last tide before settin' sail fer life as a gentleman o' fortune (or be 't a PhD student?).

Goutham be our first ereengineerin' intern, an' applied his AI (Artificial Intelligence) aftground t' some very challengin' problems. O'er th' summer he waded into th' sea o' FrrriendFeed data wi' his machine learnin' skills an' uncovered new ways o' seein' patterns within 't. These new techniques be havin' yet t' be released, but will lead t' improvements in th' relevance o' content in sea dogs an' land lubbers`s feeds. He also found time t' help improve th' FrrriendFeed API.

Goutham, we know ye`ll miss lunchin' at La Fiesta, but nay as much as we`ll miss havin' ye around th' office. (Nor as much as I`ll miss beatin' ye in pin' pong, e'en tho, aye, ye did beat me that one time.)

New FriendFeed design launched... with an exciting new feature!

You might have noticed the new look for FriendFeed. We've been tinkering with a new design for a few weeks, and after spending some time in beta, it's finally ready for primetime.

One of the things we'd heard most from users is that you wanted to have greater control over what you see in your feed—whether it's separating out your family members' updates from your coworkers' or making sure you don't miss entries from a specific friend.

The new design offers friend lists to help you organize your subscriptions into groups. Now you can get updates from specific groups of people separately, or you can add an acquaintance to a list and remove them from your home feed.

There are lots of other improvements, such as being able to post photos directly to FriendFeed. We've also added a sidebar to improve navigation, making it easy for you to access your Friend lists and customize the Rooms you want to visit most often.

Finally, because everyone's FriendFeed experience is unique, we've added a way for you to view FriendFeed the way someone else does, with their feed and entries from all their subscriptions. You can use this feature by simply clicking the "[name] + Friends" tab on a person's profile page. For example, here's my FriendFeed. And here's Paul's.

I love using this feature to show my friends who are new to the service why I enjoy using FriendFeed so much — they get to see everything that's cool (that's public) that I see on my FriendFeed every day.

And one more thing...

Steve Jobs taught us no announcement would be complete without a compelling surprise to spice it up, so we are also launching one of our most-requested features today: duplicate detection.

When a popular story breaks, like the news about Wall Street this week, lots of people tend to share the same article. With this new noise-reducing FriendFeed feature, when multiple friends share the same link, the set of duplicate entries will only show up once in your feed:

We've heard lots of feedback from our users as we were testing out the new design, and we hope that this new version of FriendFeed will make it easier for you to read and customize your feed, and be fun to use too.

Many thanks to everyone who has taken the time to give us feedback on the design. As always, we're looking forward to your comments in the FriendFeed Feedback room.

New FriendFeed design updated

We just released a number of improvements to our redesign at http://beta.friendfeed.com. Many thanks to everyone who has taken the time to preview our new design.

We plan to replace our current design with the new one very soon, so keep the feedback coming in our FriendFeed Beta feedback room.

Here are some of the changes we have made based on your comments:

Improved posting interface

We updated our interface for posting new items to FriendFeed. The new links make the posting function more obvious, accessible, and also distinguish it clearly from the search box. We also made the search box more prominent by moving it to the top of the page.

Navigation on the left

We moved the sidebar to the left-hand side to make navigation easier for those with wide screens. We kept the width of the sidebar narrow so those with smaller screens did not have too much space taken up by the sidebar.

Improved Rooms navigation

We updated the All Rooms page so that it is easier to see a comprehensive list of the rooms you participate in.

Friend Lists easier to use

We have heard a lot of positive feedback about the new Friend Lists feature. We added a number of features that make the feature more prominent. For example, you can now choose which friend lists a person goes in at the moment you subscribe to them.

Simpler and cleaner

We simplified the sidebar by removing and relocating some features to make it easier to use. We also tweaked the look and feel of feeds to make some of the links more easily discoverable.

Let us know what you think in the FriendFeed Beta feedback room.

Welcome Dan (for the third time)!

We have another new FriendFeeder! Dan Hsiao, recurrent FriendFeed intern, has finally joined us full-time. He wowed us over the summer with his product design projects, and we're so excited to finally have him here in Mountain View. Welcome Dan! (I'm not writing another introductory blog post for you again! :)

Introducing Benjamin Golub... another new FriendFeeder!

We're really excited to announce our newest FriendFeed employee, Benjamin Golub. Ben was an early FriendFeed enthusiast and in his spare time, built fftogo, a super-useful mobile FriendFeed client using the FriendFeed API. Ben was most recently at Frontier Communications, a telecommunications company, and before that, he was an intern at Hyland Software while he was finishing his BS in Computer Engineering at Case Western Reserve University.

Benjamin Golub

Ben greatly impressed us with fftogo and another side project, RSSmeme. With these projects and his active participation in our developer forum, Ben has already done so much to improve the FriendFeed experience for our users. We're extremely happy to have him working FriendFeed full time.

Welcome, Ben!

Simple Update Protocol: Fetch updates from feeds faster

When you add a web site like Flickr or Google Reader to FriendFeed, FriendFeed's servers constantly download your feed from the service to get your updates as quickly as possible. FriendFeed's user base has grown quite a bit since launch, and our servers now download millions of feeds from over 43 services every hour.

One of the limitations of this approach is that it is difficult to get updates from services quickly without FriendFeed's crawler overloading other sites' servers with update checks. Gary Burd and I have thought quite a bit about ways we could augment existing feed formats like Atom and RSS to make fetching updates faster and more efficient. Our proposal, which we have named Simple Update Protocol, or SUP, is below. You can read more details and check out sample code on Google Code. Discuss the proposal in the SUP FriendFeed room.

SUP is just a proposal at this stage. We are eager to get feedback and ideas, and we expect to update the protocol based on feedback over the next few months.

Simple Update Protocol

SUP (Simple Update Protocol) is a simple and compact "ping feed" that web services can produce in order to alert the consumers of their feeds when a feed has been updated. This reduces update latency and improves efficiency by eliminating the need for frequent polling.

Benefits include:

  • Simple to implement. Most sites can add support with only few lines of code if their database already stores timestamps.
  • Works over HTTP, so it's very easy to publish and consume.
  • Cacheable. A SUP feed can be generated by a cron job and served from a static text file or from memcached.
  • Compact. Updates can be about 21 bytes each. (8 bytes with gzip encoding)
  • Does not expose usernames or secret feed urls (such as Google Reader Shared Items feeds)

SUP is designed to be especially easy for feed publishers to create. It's not ideal for small feed consumers because they will only be interested in a tiny fraction of the updates. However, intermediate services such as Gnip or others could easily consume a SUP feed and convert it into a subscribe/push model using XMPP or HTTP callbacks.

Sites wishing to produce a SUP feed must do two things:

  • Add a special <link> tag to their SUP enabled Atom or RSS feeds. This <link> tag includes the feed's SUP-ID and the URL of the appropriate SUP feed.
  • Generate a SUP feed which lists the SUP-IDs of all recently updated feeds.

Feed consumers can add SUP support by:

  • Storing the SUP-IDs of the Atom/RSS feeds they consume.
  • Watching for those SUP-IDs in their associated SUP feeds.

By using SUP-IDs instead of feed urls, we avoid having to expose the feed url, avoid URL canonicalization issues, and produce a more compact update feed (because SUP-IDs can be a database id or some other short token assigned by the service).

Because it is still possible to miss updates due to server errors or other malfunctions, SUP does not completely eliminate the need for polling. However, when using SUP, feed consumers can reduce polling frequency while simultaneously reducing update latency. For example, if a site such as FriendFeed switched from polling feeds every 30 minutes to polling every 300 minutes (5 hours), and also monitored the appropriate SUP feed every 3 minutes, the total amount of feed polling would be reduced by about 90%, and new updates would typically appear 10 times as fast.

You can see SUP <link> elements in FriendFeed's Atom feeds (e.g., http://friendfeed.com/paul?format=atom), and you can see FriendFeed's SUP feed at http://friendfeed.com/api/sup.json.

Update: Several people have asked how using SUP compares with using HTTP If-Modified-Since headers. The two features are complementary. With SUP, feed consumers can monitor thousands of feeds with a single HTTP request (to fetch the latest SUP document) instead of having to request each feed individually. For example, each user's feed on FriendFeed has a unique SUP-ID (mine is "53924729"), but all of the feeds point to a single SUP URL, http://friendfeed.com/api/sup.json. Therefore, it's possible to watch for activity on thousands of separate FriendFeed URLs by polling just one URL, http://friendfeed.com/api/sup.json. If my SUP-ID appears in that SUP document, then you know that my feed has updated and it's time to fetch a new copy. This is substantially more efficient than polling each of those thousands of URLs individually.

Embed FriendFeed in your blog

We just launched a new set of customizable FriendFeed widgets for spicing up your blog or web site. There are several ways to embed FriendFeed, and you can pick as many of them as you want.

FriendFeed Badge

Create a customized FriendFeed badge to show off the services you use and your recent FriendFeed activity.

FriendFeed Feed Widget

Embed your feed or a room's feed on your blog or website with the feed widget.

"Share on FriendFeed" link

Add links to http://friendfeed.com/share to let your readers share content from your site on their FriendFeed. We have custom code for WordPress and Blogger to get you started.

FriendFeed Chiclet

The FriendFeed chiclet is the most compact way to link your site's visitors to your FriendFeed.

Check them all out at http://friendfeed.com/embed. As always, let us know what you think in the FriendFeed Feedback room.

Preview the new FriendFeed design

We are happy to announce a new design for FriendFeed that makes it easier to read your feed and easier to get updates from the people you care about most.

We are launching the new design today in "beta" to get feedback from all of you before we flip the switch to make it the primary FriendFeed interface. You can check it out at http://beta.friendfeed.com/, and share your thoughts in the FriendFeed Beta feedback room.

Some of our favorite new features are described below.

Friend lists

Screenshot

Friend lists enable you to organize your friends into groups. With friend lists, you can get updates from your family separately from your coworkers, or you can add an acquaintance to a list and remove them from your home feed.

You can also get best of day and best of week summaries for every friend list, just like you can for your home feed. A "best of" page for a friend list shows you the most popular entries among people in the list.

Create a friend list with the "New list" link on the right hand side of your home feed.

Photo posting

Screenshot

We have enhanced our share box quite a bit, and you can now upload photos with your posts. Our photo uploader lets you select and upload multiple files at once with no additional downloads required.

To upload a photo, type something in the share box at the top of your home feed. The photo upload link will appear when you start using the share box.

Quick navigation

Screenshot

The most visually prominent new feature is the sidebar on the right hand side of the page. The new sidebar is designed to give you one-click access to the feeds on FriendFeed you care about most.

Now your favorite FriendFeed rooms are one click away from any page, and your closest friends are one click away with friend lists.

See other people's home feeds

Screenshot

You can now see a feed of a person and all of their subscriptions. This new feature is a great way to show your uninitiated friends what your FriendFeed experience is like, and it is a great way to find interesting people you haven't subscribed to yet.

You can find other people's home feeds by clicking a tab on their profile page. For example, here's my FriendFeed.

You can use all these new features at http://beta.friendfeed.com/. Please send us feedback in the FriendFeed Beta feedback room, and let us know what you think!

Ross's last day

Ross, one of our three summer interns, had his last day today. We were sad, and decided to drown our sorrows in burgers, cake, and candy-filled piñata-goodness. It seemed to be an appropriate send-off for someone who made the office so much fun.

While Ross was here, he was our user support extraordinaire and responded to users' feedback and questions over email and in the FriendFeed Feedback room. He also created several tutorial videos to help explain FriendFeed's benefits and features to new and experienced users alike. His "Tour de FriendFeed" was grueling, but extremely satisfying. And in perhaps his most instructional video of all, Ross demonstrated how the rest of us will never be as cool as he and fellow intern Dan in "The FriendFeed Whiteboard":

Thanks for everything Ross... we'll miss you!