I’ve added the FriendFeed Comments plugin, which shows activity on FriendFeed related to each post.
friendfeed
Introducing SlimFeeder 0.1
I’ve released SlimFeeder 0.1, a simple open source native Cocoa client for FriendFeed. With SlimFeeder you can view your friends, your own items, and the public timeline.
Native Cocoa app for FriendFeed
Over the weekend I finally got a chance to work on a decent sample program for my Cocoa FriendFeed class, which I hope to release some time this week.
FriendFeed's room for improvement
FriendFeed has become very popular lately, in part due to Twitter’s unreliability. FriendFeed still can’t replace Twitter, since it can’t be accessed via SMS or IM, although FriendFeed can be more conversational, since you can comment on a particular item rather than just reply to the user as you do on Twitter.
A few days ago, FriendFeed added rooms, a good idea although it still seems a bit rough around the edges. The big limitation of rooms is that there’s no way to see a list of rooms or find a particular room unless you know the name, although Andy Beard found a way to find rooms through Google.
The API seems to be lacking some features needed to fully support rooms. In particular, it isn’t possible to get all rooms a user belongs to. You also can’t get messages from multiple rooms. I’m sure they’ll continue to refine this feature.
I’m trying to decide how to add room support to my FriendFeed iPhone app without making it too cluttered. I’d welcome feedback & suggestions on how the application can be improved.
Enhancements for iPhone FriendFeed app
I just added a few small enhancements to my FriendFeed iPhone app. It now shows only 10 items per page and lets you view more items a page at a time. It also now remembers the login cookie for 30 days or until you log out.
More enhancements for iPhone FriendFeed app
I’ve added some major enhancements to my FriendFeed web app (http://iphone-apps.net/ff). You can now add comments or like an item.
Clicking the ‘>’ at the bottom of an entry opens the comment form. Clicking the ‘+’ at the top of an entry marks that you like it. If you already like an entry, it will show ‘-‘ instead and you can click it to unmark it.
New features added to FriendFeed app for iPhone
I’ve added a few enhancements to my FriendFeed App for iPhone. It now makes links clickable and shows comments.
FriendFeed Web App for iPhone
I’ve been getting really annoyed with FriendFeed on the iPhone, so I decided to whip up a quick web app. You can see the result at http://iphone-apps.net/ff. It only has minimal functionality – you can log in and view your friends, your items, or the public timeline.
Feeding & Powncing
My FriendFeed cocoa classes are now fully functional except including media enclosures in posts. I ended up rewriting it to use NSXMLDocument rather than PSFeed, which doesn’t involve any more code and eliminates the dependence on PubSub.
Now that that’s done, I’m digging into the Pownce API. Pownce isn’t much more complemented, but it requires an API key, which was one of the reasons I had avoided it. Fortunately the API key is no big deal. You just fill out a request form and get the key immediately; it doesn’t have to be approved if you’re just creating a key for testing.
Once I finish the Pownce code and make a less ugly demo program, I’ll release the source code.
More FriendFeed Stuff
I’ve implemented posting in my Cocoa FriendFeed class, and I ended up rewriting the fetch methods to use a NSURLConnection rather than PubSub. I’m now using a temporary PSFeed object to parse the received data rather than maintaining PSFeed objects for all requested feeds. I could probably use a NSXMLDocument, but PSFeed seems cleaner.
Here’s how I’m doing it now:
// this method handles data received from the NSURLConnection
- (void) parse: (NSData*) data {
PSFeed *feed = [[PSFeed alloc] initWithData: data URL: _url];
for (PSEntry *entry in [feed entries]) {
[_entries addObject: [[FFItem itemWithEntry: entry] retain]];
}
[feed release];
}
As you can see I’m using Objective C 2.0, so this will only work in Leopard or later.