Archive for the 'Social Media' category

Facebook Top Friends Re-Appears

Hi - you seem to be new here. Please subscribe to my RSS feed to get the latest social news and information!

Please follow me on Twitter, Facebook, or FriendFeed to see what I'm up to. Thanks for visiting!

app_3_2425101550_8298.pngLast night, quietly, Facebook re-enabled Slide’s Top Friends App on Facebook. On June 26, exactly one week ago, Facebook removed the Top Friends App from its directory, citing “violations of their terms of service”. The App was no longer visible on users’ profiles, no longer accessible via canvas pages - it had just vanished from Facebook with no notice. The problem, Facebook said, was, according to InsideFacebook, “Top Friends was allowing access to non-friends’ personal information in a way that violated the TOS”. Last night it seems, again with no notice, the Top Friends App was finally made available again.

According to “tichwhack” in the Facebook developer forums, all installs remain intact, and not surprisingly, active user counts have gone down significantly at only 8,000 DAU. It will not be surprising to see that number go back up to where it was before over the next week or so.

Top Friends disappearing is just one of several Applications on Facebook that was removed with little notice by Facebook, in a recent crackdown on spamminess and TOS violations they seem to be doing. About a month or two ago, Facebook removed the Google FriendConnect App (which I mentioned earlier), and still has yet to provide a very good explanation other than “they are violating the Terms of Service”. Justin Smith of InsideFacebook mentioned just a few days ago that the “Social Me” App was also removed recently for similar reasons. That was also in addition to a few other Apps by the same developer which were removed at the same time.

The removal of such large and important Applications should make every developer on Facebook take note. Facebook is not going to just sit idly by and let developers violate their terms of service! Developers must take care to read the Facebook developers terms of service very carefully and make sure there is no question or their Application too could be at risk.

This is only the third large Application to be removed for TOS violations on Facebook. I would fully expect there to be more. In the end, while scary for developers this is a refreshing thing to see, in hopes that Facebook will be a better, less spammy, and more secure place to be.

Note: You spoke, I listened! Last night, Facebook was the clear winner on what you wanted to hear about next - let me know your thoughts and comments below!

UPDATE: It appears that Facebook has also upped their invitation limit to 40 - more spam for all!

Identi.ca Provides Users An “Open” Alternative to Twitter

logo.pngToday I was introduced to a new service called identi.ca, which claims to provide Twitter-like functionality, in a nice, Open Source interface. The service implements the OpenMicroBlogging protocol which, from their FAQs, states, “you can have friends on other microblogging services
that can receive your notices.” This means complete transparency and no reliance on any one service to trust your data with. I am unable to find any other services that have utilized this protocol, however.

The service seems to maintain an open atmosphere across the board. They publish all the details of the code identi.ca is based on, stating they run on the Open Source microblogging platform, Laconica. They state that “soon” they plan to implement SMS updates and notifications, a Twitter-compatible API, Maps, Cross-posting to Twitter, Pownce, Jaiku, etc., Facebook integration, Hashtags, Image, video, audio notices, and even a multilingual interface. Relying on the open source community, on an open standards-based platform may just put them in direct competition with Twitter very soon.

All of your updates posted to the service are under the Creative Commons Attribution 3.0 license and you have to agree to this when you sign up. They seem to remain open across the board - and this will make them successful. I have talked previously about how the mistake Twitter is making is that they are not open enough - they are not basing their protocols on open standards and open techniques of web development. It is showing now, as they are stuck fixing their own problems as the world watches. With a service like this, were it to go down, ideally other services would also sync data and you would not be without service when one service goes down. This is powerful!

The founder of identi.ca is ironically named Evan - they seem to be going head-to-head with Twitter in an Open platform. Based on my experience with open standards in the past, I can already tell which one has the strongest potential. They state to have 1,000 users already and are growing very fast (in Evan’s words). I look forward to seeing them grow, and hopefully contributing as I can - will you join me? You can find me at http://identi.ca/jessestay.

Twitter Continues to Fail Developers, Why They Will Still Succeed

twitter.pngI’m going to dub this Part 2 of my Twitter Love/Hate fest - this should be my last installment for awhile on this topic, I hope. In reality, I really love Twitter. I have a good network on Twitter and frankly, I wouldn’t have met many of you if it weren’t for Twitter. Twitter, in many ways, has changed my career. For that reason I really don’t want to see it fail. It is perhaps this reason that I am so critical of it at times - it’s my hope that someone at Twitter can read these and at least see what the world is really thinking, hoping, and wishing at a given point in time about how their service is performing and being perceived.

Twitter is still continuing to fail developers!

It’s examples like the one I learned about recently where the service, Gridjit, was put offline entirely because of a rash decision on Twitter’s part to remove a feature from Twitter’s API with little to no notice for the developers to respond. In the time Gridjit was down, they have since added FriendFeed support, and I’m willing to bet they have other strategies that don’t include Twitter. Now that Twitter has re-enabled that feature, they are now back up and running, but Gridjit is just another example of the frustration that is occurring amongst developers in the Twitter development community.

Just today, for example, I noticed Twhirl was no longer working with @replies. I remember seeing posts on the Twitter blog recently stating that the @replies tab would be removed, but I remember no notice to developers stating that the features that enable this on clients like Twhirl would be disabled in the API (they did let us know the API was down today though - still no notice it would be down when they took down the replies tab, and nothing to the developer mailing list that I’m aware of).

Twitter tries, but not quite enough

I mentioned last week that Twitter was hiring on their site, but it just wasn’t enough because I think the problems they have exist at the management level. True, they even hired 3 new individuals recently, but they are developers used to being managed, not managing large groups of other developers. Twitter really needs one or two individuals at the top that have true Enterprise-level experience managing these types of IT issues, and very large groups of developers. Remember, Twitter isn’t just the developers that work for Twitter, but the vast group of developers that are also writing applications for their API. The individual in charge of development and IT efforts at Twitter has to have strong experience in managing very large development teams, and working with a very large user-base, in which any change to any part of the system could effect. Twitter needs a staging environment in place, and a system of testing every single change that goes into place before it actually goes out live into the production environment.

They are showing some promise though!

Just this week Twitter announced the inclusion of 2 new investment partners in their list of investors. One of those, Jeff Bezos, does have experience managing the types of issues and large development audiences that Twitter lacks. This is a huge move for Twitter, and long overdue! Jeff will bring Amazon’s firm experience in scalable web environments, and I hope, enable Twitter to enter the cloud more than they currently are, and reduce the tough scaling issues they are experiencing right now.

You can bet you’ll see Twitter begin adopting Amazon’s AWS Cloud services here soon now that Bezos is on board. Amazon has the capability to scale almost instantly as traffic spikes hit, and they seem to be doing it better than any other right now. Twitter really needs this service!

Why I think they’ll still survive, no matter how many developers leave

Twitter is a Marketer’s Paradise. Twitter is full of content about the every-day life of millions of individuals and their friends, who they connect and communicate with, and what their frustrations and interests are. Businesses are beginning to embrace this and use services such as Summize to track information about their Brand, their image, and even their competitors that they could never track before. Businesses can finally track real people instead of just “visitors”.

This is powerful and valuable information to many businesses out there. Because of this it doesn’t matter how many times Twitter goes down or how many developers stay or go from Twitter. So long as users still have networks on Twitter and the Twitter user-base continues to rise as it appears to still be doing, businesses like H&R Block and Comcast and even NASA will still flock to Twitter as a valuable tool in gathering data about their customers and fans. These businesses have it in their best interest to see Twitter succeed, and you better bet they’ll do their best to help out in that effort. Twitter isn’t going anywhere my friends, and I still haven’t retracted from that statement.

TalkingHeadTV Interviews Me About the Twitter Developer Dilemma

tv.pngThis morning Justin R. Young of TalkingHeadTV interviewed me via webcam (couldn’t figure out how to get rid of the yellow whitebalance on my webcam - I’m really not that yellow!), and asked some great questions in follow up to my article mentioning my concern on developers leaving Twitter. I think we covered a lot of the criticizing articles‘ (they were only somewhat critical, fortunately) issues in the interview. I wish we recorded the entire discussion because some of the best conversation occurred after the cameras were rolling.

To sum up, I’m not necessarily anti-Twitter. I’m as big a fan, if not more than any regarding Twitter - in fact, in the interview you can see I even wore my Twitter shirt that Ev and Biz gave me! I actually wore it all day yesterday, and was proud to show it off. I’m just worried with what I’m seeing and hearing from Twitter developers, and I want to be sure Twitter knows this so hopefully, they can come up with some way to fix it. My hope is they are already doing this, and they say they are. Here are the highlights of the interview:

Why Are Developers Leaving Twitter?

Despite Outages, Complaints Why Does Twitter Still Thrive?

How Do We Know When Twitter Is Dying?

Developers Bailing on Twitter

whale.pngI’ve been following various development mailing lists lately, and I’m seeing a trend of developers starting to bail on Twitter. This is a scary thought, because when the developers bail, so will the users. It all started with a conversation on the Twitter Developers’ mailing list with the subject, “Shame” by a developer named, “nath“, in which he said,

“Well, twitters always down or unusable due to the speed; the api’s
keep breaking and are down just as often; the groups now packed full
of spam which is littering my inbox.

“It’s a real shame to see such a great app crumble and die like this :(”

Alex Payne, a developer for Twitter, responded by saying,

We own Twitter’s speed a stability; my our metrics, it’s been pretty
solid over the last few days.

We do not, however, own spam prevention for this group. That’s up to
Google, and if it’s a hard problem for them, I’d imagine it’d be a
hard problem for anyone.

I go through and clear out spammy posts, but time they reach my inbox,
they’ve reached everyone else’s as well. There’s just not much I can
do about it. Please make use of Google’s “report as spam” features.

After which another developer that goes by “rlanskyresponded:

Sorry, but I have to agree with the original author, it is a shame
that the service and the API are so unreliable. The potential for the
services that could be built on an API like the one offered by twitter
are endless. They really are.

Statements like this:

> my our metrics, it’s been pretty solid over the last few days.

don’t do much to boost my confidence. When you make an API available,
you are essentially saying to the world, “here’s our service, come and
build something great on top of it.” You can’t build anything of any
real value or widespread use on something that “has been *pretty
solid* over the last couple days (emphasis mine) .” You just can’t.
You need something that is rock solid all the time.

I’m not trying to start a flame war or bash twitter at all. Like I
said, I think it is a shame because the potential is so great. The
idea is great, the acceptance is great, the use is great, the
possibilities are awesome. But they just can’t be fulfilled given the
reliability of the service as it is today; try to build something on
top of the API that will see wide-spread use and you’ll find that when
you push the gas, the wheels fall off the car… at least that’s been
my experience. It’s been *extremely* frustrating and disappointing.

Peace.

After following a few threads on the Perl development library for Twitter, Net::Twitter, I recently found out that Net::Twitter’s original maintainer too has jumped ship. He has handed it over to a new maintainer, but developments like this are not a good sign for Twitter! It is very clear that frustration amongst Twitter developers has hit a maximum level and I fully expect to see this only increase in the short term.

At the same time, developers like Kee Hinckley are giving advice to Twitter, and they are graciously accepting it seems. Some great tips are being given on ways to enhance the API, and I even suggested they do a public bug tracker which they seemed to like. Twitter clearly doesn’t seem to have enough expertise in-house, although they do keep saying they are hiring. Their jobs page doesn’t seem to have any upper-management positions though which I think is really what they need right now.

I’m very worried for Twitter. As more developers jump ship and work on other platforms such as Plurk and FriendFeed (which really isn’t a direct competitor to Twitter), this great tool is going to be left in the dust with no new development and large networks of people moving elsewhere. Twitter’s largest traffic comes from the API itself, and as that traffic dies down, so will Twitter. Imagine, for instance, if Seesmic were to stop development on Twhirl due to the costs associated with keeping up with API flaws? That would be quite a chunk of Twitter’s users being forced over to the other Twhirl clients, FriendFeed and Seesmic itself - it’s such an easy transition were Twitter support to be dropped! What happens when Twhirl begins supporting Plurk?

Twitter needs to do something, and they need to do it fast. I agree they need to get their infrastructure in place, but before even doing that they really need to put every hack possible in place to keep the API up, keep it working, and work with the developers to ensure they are staying happy. A large revolution is about to take place, and I’m afraid it won’t be pretty.

UPDATE: See the little FriendFeed box below? Click “show” and join the discussion on FriendFeed about this right on my blog! Subscribe to my updates here.

Facebook Announces F8 In the Middle of OSCON, Coincidence?

l11204705797_2531.pngJust yesterday, Facebook announced their second F8 conference, to occur July 23, 2008. This Developer-targeted event is said to possibly include some major announcements, including the new Profile redesign, more information about the fbOpen platform, and most significantly, possibly the launch of their E-Commerce platform. What hasn’t been announced or shared however is the odd timing of the event.

The event occurs right smack dab in the middle of O’Reilly’s Open Source Convention, scheduled to occur for about the past year now from July 21 through July 25. This conference is known as an essential “Mecca” for Open Source developers around the globe, and has presentations from such players as Google, MySQL, Sun, Meebo, and even SixApart. Everyone who is a developer (unless you solely develop for Microsoft) or Sysadmin will be at this conference.

As a developer, this is tough news to hear that Facebook will make me choose between OSCON and them. Frankly, I would by default choose OSCON if I were any smart developer, as I would get more. So why isn’t Facebook just joining OSCON and doing an “F8″ track there? Do they really want to tick off Open Source developers? You better bet that OpenSocial will have a presence there. If Facebook really wanted to target the Open Source crowd, as they have “claimed” to do with their fbOpen Platform and a few other contributions back to the community, they would try to have a presence at this conference and not interrupt it as they are currently doing. I was actually going to go to OSCON to promote my FBML Essentials book to potential Facebook developers for O’Reilly. Now I’m forced with a decision. I’ve contacted Facebook with no response, and I’m getting a little frustrated as a Social Media developer. Which conference will you choose?

Breaking: Facebook Adds “Add New Tab” to New Design

Picture 4-2.pngFacebook appears to have just launched a previously announced feature to their new design staging area. If you go there you’ll notice a new little “+” sign next to the tabs at the top. Click on this, and now you can choose to add “Posted Items” to the tabs at the top, as well as “Find more applications”. The “Find more applications” feature does not seem to be working yet.

This new feature allowing you to add applications to the tabs menu in the new design was announced previously by Facebook, and is said to allow your application, through just a simple “tab url” in your application settings to appear in the drop-down you can see there now when you click on the “+” sign next to the tabs. This is also consistent with the removal of “adding” an application by Facebook. Instead, you will be able to add “components” of your application to different areas of a user’s profile, which includes the tabs. Your application can have only one tab and works passively by default, meaning you have to click on something for javascript or Flash to auto-play. Nothing has been confirmed on whether Advertisements will be allowed to run within the Tabs on the new design. The tab also defaults to your Application name and cuts off at 15 characters.

See below for some more examples of the new “+” sign, and adding the Posted Items application to the tabs menu in the new design:

Picture 3.png
Picture 5.png
Picture 2.png

Social Coding Series: I’m In Your Social Graph, Hacking Your Life - a Howto

As the first entry to my Social Coding series I’m going to cover Google’s Social Graph API. I saw a demo of this at Google I/O in San Francisco and was so impressed that I immediately started hacking on it when I got home. Little did I know how powerful this API was and how much information it could pull off the web about a single individual!

Google’s Social Graph API takes a cache of the rich storage of links, information, and URLs on Google’s servers, and determines which of those contain information about actual people. It combines OpenID for confirming an individual’s identity, and XFN and FOAF XML protocols to determine links between those identities. With a simple <link/> tag on a user’s website, a user can determine other websites that also identify them. If you link to one URL identifying that location as you, and at the linked website, it links back to you, Google can tell for sure both of those websites are yours, and identify you as a person. Not only that, but you can similarly provide XFN information or FOAF information via similar <link/> tags or a separately linked file identifying who your friends are. If they link back to you via similar metadata Google can tell for sure that the two of you are friends.

The Social Graph API lives and breaths this data. There are actually quite a few Social networks that use this protocol to identify you and your friends. Sites like Digg, Twitter, and FriendFeed all utilize these protocols to identify your friends. The Google Social Graph API scans this data and organizes it in an easy way for you, as a developer, to access.

Let’s try a simple example, and you don’t even have to be a developer to try it. Google has provided a simple playground to see how the Social Graph API works. If you go to http://socialgraph-resources.googlecode.com/svn/trunk/samples/exploreapi.html, enter in a few URLs of your blogs, social networking profiles, and other identifying locations on the web, leave “Follow ‘me’ Links”, “Pretty Output” checked, and click, “Find connections”. For me, just “twitter.com/jessestay” was all I needed to enter in the textarea.

The resulting structure is organized in a format called JSON - if you’re a Perl developer you might be familiar with this, as it is formatted the same way as a Perl Hash structure. You’ll see under “nodes” a bunch of URLs with different metadata about the URL - these are URLs that Google thinks, based on the metadata in the URL you provided, are you or contain info about you. I’ve found that only those with a “profile” attribute are actual Social Network profiles for yourself, so be sure to pay attention to those.

You can also go back and click “show inbound links” and “show outbound links” - this will then return URLs with links to sites you have identified as yourself, as well as sites you own that claim other sites as identifying for you. Play around with it - there’s a wealth of information it will give you about people!

Now, if you’re not a developer, you can skip over this next section because I’m going to get technical by showing an example. I’m a Perl developer so I’ll show one in Perl.

In Perl it’s simple - you need to install Net::SocialGraph with a command similar to this:

perl -MCPAN -e “install Net::SocialGraph”

Then, a bit of code like this will give you the data you need:

my $sg = Net::SocialGraph->new(’fme’ => 1);

my @urls = ();
push (@urls,’http://twitter.com/jessestay’);
push (@urls,’http://facebook.com/profile.php?id=683545112′);

my $res = $sg->get(@urls);
my @profiles = ();
foreach my $node (keys %{$res->{’nodes’}}) {
  if ($res->{’nodes’}->{$node}->{’attributes’}->{’profile’}) {
    push (@profiles, $res->{’nodes’}->{$node}->{’attributes’}->{’profile’});
  }
}

In the above example I instanciate my $sg object, telling it to follow “me” attributes in the response. I add a couple URLs to identify the individual I want profile information for (in this case, me), and then make the call to the SocialGraph API to go get my info based on those URLs with the “get” method provided by the API. Then, I just traverse the response and I can do whatever I want with it. After this, I could take the response information and list all of the user’s profiles as links, or perhaps I could scan those profiles for more information and provide information about each identified profile. You’ll also note that it’s not always correct so you’ll want to let the user intervene. Also, note I’m looking for only links with a “profile” attribute - I’ve found these to be most accurate.

Beyond that, that’s it. Ideally, you could take the Playground example above and look at the resulting URL. The basics of the Social Graph API are just that URL - plug in whatever you want and you’ll get back whatever information you need. You could then parse it with Javascript, Perl, PHP, or just leave it in the “pretty” format the Playground provides you by default.

Now, imagine taking that data and combining it with, say the Twitter API to pull out all of an individual’s friends on Twitter, then applying the Social Graph API to each of those individuals. Soon, you have a tool which can identify which of a user’s friends are on which networks, and if there are any of your friends you have not yet added on those networks. This API is powerful!

The Social Graph API can be an excellent utility to find out more information about any individual using your applications. No longer do you have to ask the individual for that information - so long as they are active on Web 2.0 that information can be provided for them to choose from!

You can learn more about the Social Graph API here.

Please note I too am new to this API - any inaccuracies in this document please let me know in the comments and I will correct them for others to benefit.

Please Come Join me on FriendFeed

logo-b.pngHow did I get to spend a day with Robert Scoble? How did I get to participate in the interview with Twitter founders, Evan Williams and Biz Stone, that ended up on the front page of TechCrunch? I joined the discussion on FriendFeed.

I think some would probably consider me a Twitter power user. I think Twitter is great for posting updates, getting conversations going, and seeing what your friends and followers are up to. However, FriendFeed is where the true conversation is at. With threaded conversations, the ability to “like” and share items, it provides a much stronger catalyst for conversation that Twitter could never provide.

How do I use it? Well, I actually thought it was too cluttered at first. I am finding as I use it more I am coming up with my own ways to better organize my conversations and keep track of what is going on. First of all, I use the “Me” tab religiously. I often also click the “see both” link (just add “/discussion” after your username when on the “Me” tab) on the right sidebar to see not only the things I have posted and the discussions within, but also the things I have “liked”, and commented on. This allows me to keep track of the existing conversations I have entered.

Then, I skim the “friends” tab to see the interesting things others are posting (If you have over 100 friends, there’s no way you’ll be able to read it all like you do in Google Reader or some do on Twitter). I find as I join other conversations and like and comment on others’ posted items it shows them I have an interest in the things they too are interested in, and true friendships get nurtured from these conversations. Then, if you want a mobile solution, I use http://fftogo.com to read FriendFeed on my mobile phone (a internet plan for your phone is required, but if you haven’t signed up for one of those yet you’re still in 2007! ;-) ). It formats FriendFeed in a nice, easy-to-read browser format so you can track things in the same way you do on your computer. You can send photos to yourusername-yourapikey@friendfeed.com from your cell phone.

FriendFeed is not Twitter. Twitter is hard to replace in what it gives me. I will still use Twitter to post status and other items to get the discussion going, but I will now begin using FriendFeed to continue that discussion. Will you join me on FriendFeed? Subscribe to my updates at http://friendfeed.com/jessestay. You can see what I’m discussing at http://friendfeed.com/jessestay/discussion.

It’s Official, Facebook Releases Their Platform, Open Source and All

Nick O’Neill blogged about it, and Facebook confirmed it officially at the Palo Alto 1 Year Anniversary Developers Garage on Thursday, but Facebook has finally released their platform under a modified version of the Mozilla Public License. The code and announcement can be found here, and includes the full API, a parser for FBML, and more. I will probably be trying to sneak in a little info about this in FBML Essentials if I can beat it to press.

What does this mean for you? Well, first of all, there is a good chance (I have not confirmed this) you’ll now see sites like Myspace and LinkedIn also join sites like Bebo in providing a Facebook-style API. It should be an easy decision for them. This also means you are not stuck porting your Apps over to OpenSocial to get them on those networks, assuming they implement this into their own architecture. Ideally, it will take very few changes to port a Facebook App over to other FbPlatform-enabled sites.

Also, if you are building your own social network, you can now cater to all the Facebook developers out there and bring in the rich API Facebook provides. OpenSocial is great, but you do have to keep in mind it is still in beta - while new, I see no “beta” put in front of this new Facebook Open Platform.

The other thing you should take into account is that because it is Open Source, you can now contribute back to the platform. If you see something in the platform that is strongly needed, you simply have to sign the Contribution Agreement they provide and if they implement your change they’ll even send you a (drum roll please) T-Shirt! (they didn’t say if the T-Shirt was free or not) In reality though, we as developers now have some responsibility to give back to Facebook - that is the essence of Open Source.

I think Facebook just played their cards for Google on this one. Their environment is still closed, but at the very least they are sharing the components that make their closed environment so the world too can get involved. Google now has much stronger pressure to get OpenSocial in order, and in a way that convinces the Facebook platform developers to use OpenSocial instead of the Facebook Open Platform. It’s a race for developers, and I’m afraid Facebook just made the choice for developers to leap to OpenSocial a lot harder.

Close
E-mail It
Blog Directory - Blogged