November 2010 – Stay N Alive

Microsoft Offering Free Windows 7 Phones for Black Friday

I’ve had my criticism of Microsoft in the past, but the new Microsoft keeps pulling me back.  Just a few minutes ago on the Windows Facebook Page Facebook announced:

“Here is a Black Friday sneak peek for our social media fans: Visit your local Microsoft Store this weekend, starting November 26, to pick up Windows Phone 7 for free! Get your choice of the HTC Surround or a LG Quantum for $0 when you renew your two-year AT&T contract. If you can’t make it to a store, don’t worry. We will have online deals for everyone starting bright and early tomorrow morning.”

Free phone? If you’re not in San Francisco you probably don’t hate AT&T so this sounds like a pretty good deal!  I wonder if I can go back and forth between my iPhone SIM card for this – I’d love to just try it out!

Now, Utah has a Microsoft Research Office – is there a Microsoft Store somewhere?  If the new Windows 7 phone experience is anything like my Kinect experience (more on that later) I’d say Microsoft could be making their way back into the game.  Google, Apple – any matching offers from you?

Now You Can "Like" Any Tweet on Twitter.com

As part of Kynetx’s Facebook App contest I wrote a simple browser extension that you can install on Chrome, Internet Explorer, or Firefox, which allows you to, in addition to the “retweet”, “favorite”, and “reply” links you see when you mouse over a Tweet, you can also now “like” the Tweet as well.  What does this do?  It puts it on Facebook, of course!  Here’s me liking one of Jolie O’Dell’s Tweets (she had the most like-worthy Tweet in my stream at the time):

The plugin was very simple to write on Kynetx’s platform – Brad Hintze explains it well over here, but to put it simple, all I had to do is distinguish through a selector where to put the like buttons and put Facebook’s default like button iframe code in where each Tweet is.  With some simple jQuery I could identify the permalink for the Tweet, insert that as the href for the like button, and voila, each like links right back to the Tweet on Twitter.com.  The like shows up in my profile like this:

Of course, there is much more I can do with this – at the moment I’m using Kynetx’s Facebook API to greet you by name and tell you how to use the plugin.  I anticipate also enabling a “post to facebook” checkbox below the status update box in Twitter, and because you’ve authorized your Facebook account through Kynetx you can now cross-post to Facebook, straight from Twitter.com.  Or, what if I wanted to, in my Twitter settings, pull my profile pic from my Facebook profile and upload that to Twitter as my profile pic?  I could use Kynetx’s Facebook API to access the profile picture, then use Kynetx’s Twitter API to upload that pic up to Twitter.  Not just that, but all the changes, written in one single language and written only once, get compiled into Chrome plugins, Firefox plugins, Internet Explorer plugins, as well as Information Cards and bookmarklets anyone can install to completely customize the Twitter.com experience to work with Facebook.  What are some other ways you can see this extended?

If you haven’t tried out Kynetx yet go check it out.  This was very simple to write – you can see the source code I used over on the Kynetx blog.  Feel free to add to it and make your own creations – I’ll just release this all under the GPL, so change away.  Oh, and if you’re not a developer go install the extension and like your favorite Twitter posts!

I’ve uploaded the extensions for IE, Firefox, and Chrome all to this zip file – feel free to download and enjoy!  It’s a work in progress (and mostly a hobby), so please send me your ideas and feedback.

Disclosure: I won a $200 Amazon Gift Certificate for entering this app into Kynetx’s Facebook app contest

Are Toll Roads Open?

Twitter proved me wrong. Well, sorta.

After my last article I had a whole slurry of rebuttals by Twitter employees suggesting my last article had “serious factual errors” and that the move by Twitter to charge $360,000 a year for 50% access to their full firehose through Gnip actually made Twitter “more accessible” and “open”, and not more closed as I was claiming.  Before I start I want to make sure it’s clear to those Twitter employees – what’s business is business – I have made no personal attacks here guys.  Please take this constructively.  I’m only stating my viewpoint as one of your developers, and, I think if you look at the replies to my post and retweets (and the comments of that post), you’ll see many other devs that agree with me.

I’ll give Twitter that credit, and I applaud them for it.  Compared to yesterday, even with a Paywall, Twitter’s firehose is “more accessible”.  In addition, Twitter is one of the only content sites out there that even provides an API to their full firehose of data, and, for that, they should be applauded.  It doesn’t matter if 2 years ago all this data was available for free via an XMPP feed and that really isn’t correct – Twitter is still one of the only sites at least giving an option to scan their massive database.  I think that’s a powerful thing and I’m definitely not discouraging that.  I want to make sure we’re absolutely clear on that – what Twitter did today was a good thing.

However, let me explain what I was getting at in my previous article.  Even though Twitter is one of the only sites allowing this data, there is a dangerous precedent they’re setting towards “open data”.  In essence, they’re saying, “You can have access to an individual’s Tweet stream. (with limits)  You can have access to the Tweet stream of your site’s users (with limits).  But to access all our data, you have to pay us.”  Now, let’s go back to my “Pulse of the Planet” reference and compare it to a highway system.  If Twitter was a Highway, anyone could have access and go where they want, as they please, all for free.  All destinations are possible as a result.  However, by closing their firehose to only those that pay, they are offering only one road, to one destination.  The problem is that anyone else can still get to that destination for free via other Highway systems – it’s just more difficult to do so.  By creating a “Toll Road”, Twitter is, in essence, creating a single way that guarantees direct access to the full data that Twitter provides. Everyone else is stuck finding their own way, and what happens is a result is they plan new destinations that are cheaper to get to.  Which route is more open?  The Toll Road, or the free Highway system?  This is actually a big debate in many cities – it’s not an easy question to answer, so you may decide for yourself what that means and maybe I was wrong in calling it closed earlier.  However, I will argue that the “open” web is a Highway.  Twitter, at the moment, along with Facebook, Google’s Search Index, Google Buzz, MySpace, and many others’ data are toll roads.  Which is more open?  I’m not even saying it’s wrong to be a toll road.  Maybe you guys can debate in the comments.

What I’m getting at is now that Twitter is charging for the full firehose, your data has a specific value to them.  Their bottom line now relies on them charging for access to half of their users’ data.  My concern is that now that Twitter is profiting off the full firehose, what happens when they realize this is making them money and they start charging for other pieces of their data?  Money is tempting, and my concern is that this is a path that is leading them towards more paywalls and more areas that just aren’t open to the general public or normal developers.  Call that “open” or not, as a developer, I’m very worried about that.  I’d almost rather Twitter keep their firehose closed than charge exorbitant fees for it.  Or, just charge for the whole thing already and put us all out of our misery.  On a site where it’s very unclear how they’re making or going to make money, this is a very scary thought to a developer that has been relying on a free API.

I’d like some comfort in this matter.  Can Twitter guarantee they won’t charge for any more of their data?  Or is this the path they are moving towards?  What’s the roadmap so we, as developers, can prepare for it?

I hope Twitter employees that disagree can do so in the comments this time – it’s much easier to have a sane conversation when your limit isn’t 140 characters.  Let’s keep this conversation going.  I hope there is some clarification on the matter.

Image courtesy http://www.carandhomeinsurance.co.za/home-insurance/articles/open-road-tolls-will-change-driver-habits_319

Twitter’s Gnip Deal Ensures a Closed Ecosystem

Today, at Defrag conference, Twitter announced a new deal with the Real-Time stream proxy Gnip, where for $360,000 per year they will search 50% of all content posted to Twitter.  This move follows the move, as I mentioned earlier, of Twitter moving further and further away from an open platform, and more towards one they fully control, which, as I’m sure is their opinion, will hopefully bring them more revenue in the future.  The problem with this move is that rather than open up the data of users on Twitter by embracing a real-time standard such as PubsubHubbub or RSS Cloud where middleware Proxies can filter the traffic coming through which anyone can set up, they’ve entirely blocked the potential for such by ensuring their revenue source instead comes from what should be open data.

This move is troubling.  This move means Twitter’s revenue is entirely reliant on them being a closed ecosystem.  The more they block data from the open web, the more they profit.  This sets a very bad precedence that could very well seep into other systems of theirs in the future.  In fact I bet it will.

Twitter has every right to protect their main firehose – they have pretty much done so already.  The Gnip deal seals that direction even further though, and builds Twitter’s entire business model around content that should be free in the first place.  To be “the pulse of the planet” you cannot be a toll road.

Twitter has made similar moves recently, with their move towards their own user interface that only “preferred partners” can interface with (meaning you have to pay to provide an interface to users on Twitter.com that might have an interest in your product), and also removing the obvious RSS feed links to users that are logged into Twitter that made it easier for users to retrieve and parse content of those they want to follow on the service.  This move also comes after Twitter reduced rate limits and removed capabilities for applications to do popular features on the site.

If one thing is obvious, it’s that Twitter wants more control over its ecosystem.  Unfortunately, control means a more closed environment.  Unfortunately, the deal with Gnip seals that closed environment in stone for some time to come.  I think we can pretty much count on Twitter being a closed, walled garden in the years to come.

I hope they prove me wrong.

UPDATE: Twitter did prove me wrong, sorta – read how here.

With Facebook Messages, Has Facebook Reached FriendFeed Nirvana?

There’s no doubt of the FriendFeed team’s influence on Facebook after they were acquired a year ago.  Bret Taylor, CEO of FriendFeed is now the CTO of Facebook after all.  Even before the acquisition of FriendFeed, Facebook was taking cues from the service, adding “like” buttons to posts, something available on FriendFeed for quite some time, and turning on a pseudo-real-time stream, a token of what made people love or hate FriendFeed.  With Facebook Messages, Facebook has added yet an additional piece of the FriendFeed puzzle – that of messaging, something FriendFeed added only months before their acquisition to Facebook, but what happened to be one of my favorite parts of FriendFeed.  The idea being that, in real-time, I could post private messages to individual friends or groups, and see the updates happen in a thread, in real-time, with that individual for that message.  In addition, I could set notification settings – whether I got notified by e-mail or IM when new messages appeared.  Lastly, my username@friendfeed.com (jessestay@friendfeed.com) automatically places any message sent to it into my personal inbox.  Sound familiar?

I thought I’d go through the various features Facebook has integrated that FriendFeed had first:

  • The “like” button
  • Real-time stream
  • Real-time group messaging and e-mail addresses for those groups
  • Integration with Twitter (Facebook only does this with Pages at the moment)
  • usernames
  • Real-time direct messaging
  • e-mail address for each user profile
  • Notification preferences for messaging
  • Simplified API – OAuth WRAP Authorization (now OAuth 2.0 on Facebook)

With the new Messaging product, Facebook has pretty much fully absorbed FriendFeed’s best features.  The only thing left for Facebook is a more real-time stream that auto-updates (right now I have to click to get real-time to update on Facebook), and a better search product.  Paul Buchheit, co-founder of FriendFeed, who recently left Facebook to join Y-Combinator, stated that one of his last projects upon leaving was a search product.  Could that be the icing on the cake?

Paul Buchheit mentioned that a beautiful butterfly would emerge as a result of the FriendFeed acquisition.  With the final pieces of Facebook Messages coming into place, I think we’re finally seeing that.  In an interview I did with Paul at Facebook’s F8 conference earlier this year Paul suggested that the Butterfly he was inferring was “all around us”, and that “the butterfly is not one, but multiple butterflies that permeate both FriendFeed and the Facebook Platform, and will continue to grow.”

FriendFeed has indeed permeated the Facebook environment.  Facebook is more open.  They’re more beautiful.  They’re more functional and more useful.   For the die-hard FriendFeed fans like myself out there, it’s becoming much much harder to deny the fact that Facebook is very quickly absorbing the usefulness of FriendFeed one feature at a time.

For those still using the service, what else does Facebook need to add to make FriendFeed completely useless?

You can always follow me on FriendFeed, for which I occasionally still check and always read comments, at http://friendfeed.com/jessestay.  Or, feel free to like me at http://facebook.com/stay or friend me at http://facebook.com/jessestay and we can talk further about this.

Photo courtesy CNet.tv

Facebook, Play the Higher Ground

I was wrong.

On Twitter, Buzz, and on Scoble’s blog I was insisting there was a way to retrieve Email addresses via Facebook‘s API.  That’s because I truly thought there was.  In fact, I had this scathing blog post ready criticizing Google on playing games with Facebook (which I think is wrong and evil, too) when all Google had to do is embrace Facebook’s API, something Gmail has been reluctant to do for some reason.  However, that aside, I’d like to put the Onus on Facebook this time.  It’s time for Facebook to stick to their guns, fix their API, and make this stuff a little more open than before.

By open, I don’t mean take away any privacy controls.  I don’t mean release any e-mail addresses or phone numbers that my friends are hiding from my view.  I don’t mean releasing any e-mail addresses or phone numbers that my friends haven’t approved 3rd party apps from taking.  I mean, respectful of privacy, let this data go!  It’s time.

Here’s what Facebook needs to do:

  • First, they need a global privacy control for each user, that is opt-out only if they’ve already opted into their friends seeing their e-mail address.  There should be a big message at the top when you log into Facebook giving users the option to opt out, with a user-friendly description telling what that means.  (part of the problem is many users won’t even understand this, for which I sympathize with Facebook)
  • Second, they need one more extended permission apps must be granted by users that authenticate through Facebook: “friends_emails” – if you want to also enable friend phone numbers (which I also recommend), add “friends_phones”.  This way, I, the user, get to decide and have to make the choice if I want that application to access my friends’, through the social contract I made with them, e-mail addresses and phone numbers.

Right now the only way to access e-mail address information is either through a special deal Facebook has with Yahoo, a special deal Facebook has with Microsoft, or the Facebook app on several mobile devices.  There is no way for an average developer to access this stuff.  It’s not in FQL.  It’s not in the old REST API.  It’s not in the new Graph API.  Technically, if I have each and every one of my friends come in and log into my application I could get them to all give me permission to get their e-mail address, but that to me seems like a really flawed way to allow me to share their e-mail addresses.  Facebook can do better than this – they’re much smarter than this.  They can make this work for everyone if they try.  Right now it just looks like you are hanging on for dear life to my data.  Maybe that’s the case, but it isn’t right.

I hope Facebook can play the higher ground on this.  I hope this is only a technical hurdle.  Facebook did make it possible to export all your data, including e-mail addresses, earlier, so I see this as an ongoing trend and I hope this is on the radar (although my request to download my data failed for some reason).  I see this as an opportunity where Facebook could be made out to be the good guy, and then afterwards no one would probably even notice the feature’s there.

Just do it.