Month: August 2009
JesseStay
JesseStay – 11-Aug-09 17:21
JesseStay – posted on 8/11/2009
Facebook to FriendFeed: "You Complete Me"
I have to admit I’m a little behind on the news of Facebook acquiring FriendFeed. My day today consisted of driving through up-state New York, and tonight I sit here typing just about a 15 minute walk from the beautiful Wonder of the World, Niagara Falls. There are so many better things to think about! (just see the pictures I took tonight) Yet, as I got the initial text via Tweet from Louis Gray today stating Facebook had acquired FriendFeed, I couldn’t get my mind off of what that would mean for both services.
For those that know my background, I’ve written 2 books on Facebook, both from a developer/platform perspective, and a marketing/user perspective (if you want to see what those books are, check out the upper-right nav of my blog). I’ve written numerous apps for Facebook, even sold one of them in just a few months after developing it, and spend much of my time consulting and helping major companies and app developers understand Facebook better.
At the same time, I have always been extremely bullish on FriendFeed. I love the open nature of FriendFeed and how it allows me to express myself publicly in ways I couldn’t before. I love the messaging capabilities, and especially the search and notification options FriendFeed offers me. I almost wrote a post about the perfect Trifecta of FriendFeed, Twitter, and Facebook, and how the three just work well together. I even predicted earlier this year that FriendFeed would be acquired this year. I have been rigorously researching and working on the developer platform that FriendFeed offers, and loe the open nature of it and their relationship with developers.
It’s because of this background that I had to think seriously about what I thought about this new relationship between Facebook and FriendFeed. I came to the conclusion that the two complete each other. They’re like two puzzle pieces just waiting to be joined. The thing is, I can’t think of any reason why they shouldn’t be together. Here are just a few reasons why:
FriendFeed Needs Privacy Controls
I was actually about to put together a post on this exact topic. I’ll try to keep it short here. I noticed recently that Louis Gray’s wife joined FriendFeed. I was excited, because this meant my wife, who is friends with Louis’s wife (albeit virtually), could actually have a chance at being convinced to do the same. The problem is that we have children old enough that I would prefer we kept their identities off the internet as much as possible.
At the same time I have had threats of physical assault before via my blog and elsewhere. I want to be more careful about what I type and who sees it. The problem with FriendFeed is that not only do my friends see it, but so do their friends, and their friends’ friends, and that pattern has the potential to go on forever. We saw this with the “mob” mentality that drove Michael Arrington off the site much earlier. Yes, this is also a strength and what makes FriendFeed powerful, but I want on occasion to have some control over who gets to see that, and from what Friend List I have on the site.
Privacy is Facebook’s main strength. Imagine FriendFeed being able to educate the Facebook team based on their own experiences with allowing “friends of friends” to see the data and cycling newly “liked” items back to the top, while at the same time allowing Facebook to give their own expertise of allowing those same users to make their items more private?
I think there’s a lot of power in that, and it’s something FriendFeed doesn’t have yet.
FriendFeed Needs Profiles
I’ve asked for profiles for quite awhile now. I want a way to identify myself on FriendFeed, so people can know who the person is regarding the feeds their reading. This one is simple – there’s no doubt that Facebook is good at this.
Facebook Needs Search
Facebook just proved today that this is a focus for them. And guess what – one of the first things they announced in their rollout of a new search engine was their recent acquisition of the FriendFeed team! This gives a lot of potential, not only for search, but also for the ability for broad, real-time search, across all of Facebook and more, something the FriendFeed team is really good at. The FriendFeed team will also be very good at making this search more accessible to the public, all of this while respecting their privacy preferences.
Facebook Needs Better Notifications
We all know FriendFeed is good at this. On almost every page (and it was soon also going to be on search pages) you have the option to have posts, or posts and comments sent to you via e-mail or IM. Also, each page has its own RSS feed, with support for PubSubHubbub, something the FriendFeed team helped instigate. This enables real-time updates via RSS. Facebook enables RSS on only very few pages – the FriendFeed team is very aware of this, as they have been trying to import that data from Facebook themselves! The FriendFeed team knows the headaches of the Facebook platform more than anyone!
Now, what if we could take Facebook’s current SMS capabilities, something FriendFeed does not have, and apply them to the FriendFeed-style posts, agreggation, updates, and search notifications we see on FriendFeed currently? I know I would certainly become a happy user, as this is something I’ve been asking for on FriendFeed since day 1!
Facebook Needs Better Messaging
I saved the best for last. Facebook has had its static Inbox for quite awhile now. We know they’re working on a new solution from posts by TechCrunch, AllFacebook, InsideFacebook, and others, but we know this is something Facebook just isn’t very good at. The FriendFeed Team re-invented messaging with their bare hands. Let’s put this in simple terms: Paul Bucheit, cofounder of FriendFeed, is the creator of Gmail. He now works for Facebook. End of Story.
Be at Ease
Sure, this news took a lot of people by surprise (although it shouldn’t have if you read my blog). Some people dislike Facebook. FriendFeed was the “new early adopters playground”. Early adopters don’t like going back to old things. It’s a little scary for some.
I suggest you wait a little. FriendFeed has a very competent team. We still don’t know what was in that contract they signed. Sure, we have some hints, but FriendFeed has yet to let us down. They have a perfect track record for long-time users of their service. They know what’s going to happen at Facebook, and while sure, things can change, you better bet they’ll be fighting for their existing loyal users. You now can know you have a team you can trust at Facebook, if you didn’t have that trust before.
Also, here’s what we do know: FriendFeed.com is still up and working just as well as always. Facebook now owns FriendFeed. FriendFeed may start integrating more deeply with Facebook. We don’t know that for sure. That’s all we know. Before you jump, think of your trust for the FriendFeed team and their track record so far. Let’s see what happens, and when they do take action that effects us we can make our decisions. Until then I’ll be waiting and supporting them and celebrating their recent success.
The two businesses could not have asked for a better relationship. I think because of this, Facebook all of the sudden has put out the announcement that they want to become more open like FriendFeed. We should be applauding them! FriendFeed has just announced that they leaped over Twitter and are more mainstream than they could ever imagine, as the exact same service they always were. We should be applauding them, too! Now think about that for awhile and let’s see what happens.
Now, if you’ll excuse me, I’m going to go spend some more time at the ‘Falls.
Photo courtesy http://blog.friendfeed.com/2009/08/friendfeed-accepts-facebook-friend.html
Oh, the Trouble With OAuth
This article has been sitting on my desk for the past week or so, and recent activities around the Twitter/Facebook/LiveJournal/Blogger DDoS attacks have made it even more applicable, so it’s good I waited. The problem centers around the “Open” authentication protocol, OAuth, and how I believe it is keeping companies like Twitter who want to be “Open” from becoming, as they call it, “the pulse of the Internet”. The problem with OAuth is that, while it is indeed an “Open” protocol, it is neither federated, nor decentralized. We need a decentralized authentication protocol that doesn’t rely on just the likes of Twitter or Flickr or Google or Yahoo.
Let’s start by covering a little about what OAuth is. OAuth centers, as the name implies, on Authorization. This is not to be confused with identity, which other decentralized solutions like OpenID focus on. The idea behind OAuth is that any website, or “Service Provider”, will accept a certain set of HTTP requests, handle them, and send them back to the developer, or “Consumer” in exactly the same way as any other OAuth protocol does. OAuth tries to solve the issue of phishing and storage of plain-text usernames and passwords by sending the user from the Consumer website, to the Service Provider’s website to authenticate (through their own means or means such as OpenID), and then authorize. On Twitter this process is done via an “Allow” or “Deny” button the user can choose to enable an application to make API calls on their behalf. Once authorized, the Service Provider sends the user back to the Consumer’s website, which is given a series of tokens to make API calls on behalf of that user.
OAuth’s strengths are that it is easily deployable by any site that wants a central, secure, and understood authorization architecture. Any developer can deploy an OAuth instance to communicate with APIs that provide OAuth architectures because libraries have been built around the architecture for developers’ preferred programming languages, and adapting to a new site implementing OAuth is only a matter of changing a few URLs, tokens, and callback URLs. I’m afraid that’s where OAuth’s strengths end, though.
Let me just put this out there: The User Experience behind OAuth is horrible! From a user’s perspective, having to go to an entirely new website, log in, then go back to another authorization page, and then back to the originating website is quite a process for an e-commerce or web company that is focusing on sales around that user. No e-commerce company in their right mind would put their users through that process, as the sale would be lost with half the users that tried it. Not to mention the fact that (and I don’t know if this has anything to do with the actual OAuth protocol) with most OAuth implementations there is no way to customize the process the user goes through. For example, on Twitter, I can’t specify a message for my users specific to my app when they authorize it. I can’t customize it in any way to my look and feel. I completely lose control when the user leaves my site to authorize and authenticate.
Let’s add to that the problem of the iPhone, desktop apps, and other mobile apps. Sure, you can redirect the user within the app to a website to authorize, but again, you’re taking them away from the app flow during that process. It’s a pain, and headache for users to log in using that method! Not to mention they have to do that EVERY. SINGLE. TIME. they log in through your app since there’s a good chance they were not logged into Twitter or Flickr or other OAuth app in the first place. It’s a huge problem for OAuth developers on these devices, and less-than-ideal.
Now, back to my original point. The biggest problem with OAuth is that it requires a centralized architecture to properly authorize each application. We see this is a problem when entire apps like my own SocialToo.com can’t authenticate users when Twitter gets bombarded by DDoS attack. The need for centralized control of each app on their platform is understandable, in that in the end the companies implementing OAuth still need a way to “turn off” an application if an app gets out of hand. Of course, one solution to this from the developer’s (Consumer’s) perspective is to implement their own authentication and authorization scheme rather than relying on someone like Twitter’s. This is less than ideal though, since most of our users all belong to some other network that already handles this process for us. Why require our users to repeat the “account creation” process to overcome centralization?
I think there is a better solution though. What if a distributed group of “controlling sources” handled this instead, giving each company admin control over their own authorization? What I propose is that a new layer to OAuth be created (or new protocol, either way), enabling trusted “entities” to, on a peer-to-peer (federated) basis, sync authorization pools of users and their distinct permissions between each Consumer app and Service Provider. Companies/Service Providers could then register with these “controlling sources”, and they would have admin access to turn Consumer apps on or off in the event of abuse within their app.
So let’s say you’re Twitter and you want to let your developers authorize with your API. You register on one of these “controlling sources”, they confirm you’re legit (this could possibly be done via technology in some form, perhaps OpenID and FOAF), and let you create your own “domain” on the “controlling source”. Twitter would now have their own key on the “controlling source” to give developers, and the controlling source would divvy out tokens to developers wanting to access Twitter’s API. Twitter’s API could verify with the controlling source on each call that the call is legit. To kill an application, they would just need to log into the controlling source and deny the application. The application would get denied at the controlling source before it even hit Twitter’s API.
What makes this open is that, if this were itself written under an open protocol, anyone could theoretically create one of these “controlling sources”. So long as they operated under the same protocol, they would operate and work exactly the same, no matter who they were. Developers could then pick and choose what “controlling source” they wanted to authorize through. If one went down, they could switch to another. Of course, there are some security issues and authenticity of “controlling source” issues that need to be worked out, but you get the idea. This would essentially completely de-centralize the entire authorization process. Authorization itself would quickly become a federated process.
Now, that still doesn’t solve the User Experience issues I mentioned earlier. To solve those, I think we should look at Facebook and what they’re doing with Facebook Connect. With Facebook Connect, the user never leaves the Consumer’s website to authorize and authenticate. They click a button, a popup comes up, they log in, and a javascript callback notifies the app the user has been authorized and authenticated. It’s essentially a simple, 3-step process that completely leaves the website owner in control. In addition, Facebook has provided Javascript methods allowing the developer to confirm various states of authenticity, without the user having to leave the website. I’d like to see OAuth emulate this model more. Right now I’d rather implement Facebook Connect than OAuth for these reasons.
I think, as both Dave Winer and Rob Diana point out, there are some serious issues being brought up from the recent DDoS attacks against Twitter and other sites. Twitter’s inability to handle the DDoS attacks when compared to the others I think shows we need much more Federation from the site, as well as the “Open” protocols it is trying to build around. Twitter wants to become a utility. There is no way that will ever happen until they Federate, and I think that has to start with a change to the OAuth protocol.
Taking a Stand on Twitter’s Auto-DM Policy #endautodm
I’ve long mentioned my annoyance with automatic DMs after follow and elsewhere. It’s one of the reasons I built SocialToo, and we’re doing things there to combat the process. Unfortunately it’s not perfect. In fact, even with the anti-spam measures SocialToo has in place, it’s getting to the point that most of the DMs I receive are non-legitimate messages that many of the users probably have no idea were sent on their behalf. My other followers get hurt because of that because I can often miss their messages. Chris Brogan mentions fun140.com, which I admit recently is a major perpetrator of my DMs. But there are others too: Tweetlater (which has the ability to opt out, and we’ll even do it for you on SocialToo), Twollow, Twollo, Mob Wars, SpyMaster, and many others. Too many to know which one needs to go to and opt out of, assuming they even have a solution (which most do not).
Twitter could fix this easily. Facebook already does this – they allow users to identify that they do not want to receive any more messages or invites from a specific app. Then, the minute they do that, the app can keep sending invites, but that user will never see them again. In addition, the app gets dinged a “spaminess score”, reducing the number of app invites it can send out per user. Users have full control, and they can still be friends with people that like to use these apps.
Twitter needs a similar system – it wouldn’t be very hard to require all apps to identify themselves via a developer Terms Of Service (I’ve talked about this before), either by OAuth or some other means, and then provide the tools necessary to allow users to opt out of receiving DMs and @mentions generated by these applications if the user does not want to receive them. Based on a current discussion in the developers mailing list for Twitter, I’m guessing developers wouldn’t be opposed, either. At the very least, open up the API to allow the identification of these applications while requiring them to identify themselves. Blacklist and ban the applications not willing to comply.
I’m getting sick of the auto-dms. Chris Brogan is sick. Sean Percival is sick. Robert Scoble is sick. Jeremiah Owyang is sick. The list goes on and on, and we’re not the only ones. Starting today I’m taking a stand. I want to show what my inbox looks like right now. For that reason, I’ve taken a screenshot of my Twitter DM box and posted it as my Twitter avatar. If you are against this practice, change your avatar to your own DM inbox, and retweet this to your followers (click on it, and it will auto-populate Twitter for you):
I’m changing my avatar to my Twitter DM inbox in protest of automated DMs on Twitter #endautodm
You can include a link to this article if you like, but that’s not required. I want to send a message to Twitter that this is a serious problem. It’s time to end automated direct messages once and for all. I’m done with them. Will you join me?
Here’s a FriendFeed Real-time search of #endautodm – will you contribute? Just end your tweets with #endautodm:
Twitter’s New Monetization Strategy?
This is just too good not to share. Twitter CEO, Ev Williams, Tweeted this tonight – I’m not quite sure if it was supposed to be a DM, a drunk Tweet, or if he really did actually mean to send that, but I’m clueless as to what it is supposed to mean. Is this Twitter’s new monetization strategy? Or did Twitter just find a new way to make itself a “utility”? Let’s see who can come up with the most creative explanation.