Social Media Archives - Page 9 of 19 - Stay N Alive

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?

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 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 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.

Twitter Kills Important Features on the API With Just a Few Hours Notice

IMG_0022.pngI saw some very concerning issues on the Twitter development list today, and my frustration has only been increased after reading some of the claims of Blaine Cooke today on TechCrunch. Yesterday, the one thing that seemed evident, and perhaps I’m wrong on this, but Ev Williams and Biz Stone do not seem to have much of a technical background. They made this clear in the interview, and there’s nothing wrong with this, assuming they have the technical staff to handle it.

Today on the Twitter development mailing list something was made apparent – experienced developers and businesses on the Twitter development mailing list cannot trust the architecture of the API that runs on Twitter. Just yesterday, a crucial feature of the API which allowed the retrieval of an individual’s friends and all of those friends’ timelines was removed from the Twitter API.

About 1 week ago, Alex Payne, the developer Biz and Ev kept referring to in the interview yesterday as having a lead role in the development, announced on the developer mailing list that this feature was going to be removed and asked if anyone was using it. With only about 5% of the applications saying they needed it, Twitter removed the method Thursday with just a notification on the developer mailing list and about 8 hours notice, no other notification elsewhere or warning that it was happening at that point.

All of the sudden, application developers everywhere were saying they couldn’t run their applications because of this change. These were applications such as Hahlo, Twitterati, Twibble, and Gridjit. What’s the issue here?

The issue is Twitter isn’t communicating effectively. We addressed this yesterday – I think they realize it, but I want to reiterate it. I can’t help but wonder if the experience is even there to be able to communicate effectively. I’ve worked as a developer in several publicly traded companies, one of them a Fortune 40, and some of the decisions the Twitter development staff have made would have gotten me fired at previous employers I have worked for. Where is the experience, and how can I, as a business and developer using Twitter trust them to build something on top of? I want to see where the experience is before I build any more on top of the Twitter API – does the Twitter staff have LinkedIn profiles?

Now, I’m not trying to criticize any individual at Twitter – I want to think they have the experience necessary to handle this, but I’d prefer they not pull the wool over our eyes if there is not enough experience at Twitter to handle the API I am trying to build a business off of. I know for a fact there are many smarter people using the API that could help analyze the experience if they need that help, but we need Twitter to communicate with us and let us help them out. Because businesses are being built on the API we want to see them succeed (I’m writing this as I wear my “Wearing my Twitter Shirt” I got from them yesterday). I think, as they said in the interview yesterday, while it could take months to get things in place, we, as businesses and developers could help them out if they just let us and communicate properly with us.

The questions I asked yesterday were centered around the developer and how we could help them. They told us to communicate with them. I really don’t know how we can communicate effectively with Twitter if they can’t be open to us back. I even posted this on the mailing list this morning, and received absolutely no response. As a Twitter API developer and business owner, I don’t know how much longer I can keep my Apps on Twitter. I know many others share the same frustration, and once the Apps begin leaving, so will the users.

I think, and hope, based on the interview yesterday, that Twitter understands this. I’m optimistic they do. However, we need an open communication channel, consolidated, and the experience to know how to manage that channel effectively with the API, or new opportunities are going to arise very quickly wich developers will leave to.

UPDATE: It appears that Twitter has a pretty experienced crew, per their recent blog post. Again, you still have to keep in mind that it may take time to fix the problems that are already there – is it worth the wait?

Scoble and Twitter, Behind the Scenes

IMG_0024.pngToday I had a very unique opportunity to in many ways get in the middle of the Twitter Fiasco, the VentureBeat article suggesting that Robert Scoble was the reason for Twitter’s failures, and Robert’s response to it. It was an amazing experience that I will never forget, and before I start I want to thank Robert for bringing me along to be able to participate and hear all of this, first hand (and still getting me back to the airport in time). Robert Scoble’s such an amazing guy and no one could ever tell me otherwise – I wish all could meet him in person, hang out with him, etc. like I was able to do today.

Originally Robert and I were just going to go up to the Disqus new offices and see the founders, Daniel Ha and Jason Yan (they said they are readers of this blog!). However, today around lunch he called and said we were going to make a pit stop at the Twitter offices in South Park. I was told they had made an offer to him (and he was happy to accept) to come by and chat about the recent blog posts and frustration between the two.

When we got to Twitter I was actually quite impressed by the professionalism of Ev and Biz at Twitter, along with Robert as they discussed the matter. There was some nervousness on both parts I could tell, but after the cards were laid out on the table and both sides understood, I think both felt a little better about the situation. In the end, here’s what I got out of the conversation (which you can view via Robert’s Qik stream here):

  • There is still a long way to go before Twitter will have a fully functional product – they are in the process of re-architecting it all so they can scale further as it grows further.
  • It does seem they’re still trying to work with it to make the existing system work with what they have.
  • The problems they are having are NOT because of big “whale” (and I doubt the picture on Twitter’s error page was meant to reflect this) users such as Robert Scoble or Michael Arrington.
  • The problems they are having are very much due to problems with their current architecture, and in particular the way their API is currently set up to handle. Their system was built as a prototype and ended up becoming the product.
  • There is no good immediate solution to this. As they remove API features, applications like Twhirl and TweetScan, and other 3rd party applications with thousands of users will fail, and thus the users will complain and leave. They simply can’t punish the developers as a whole because it would end up offending their users as well.
  • There are still some pretty smart people at Twitter and I really think they know what they’re doing – they’re just stuck between a rock and a hard spot because they designed their architecture wrong.

The most interesting thing for me, and should be for developers as well, IMO, came at the end however, and I think it’s a smart move the faster they can implement it. Twitter is looking into the possibility of having a better way of tracking the Applications developers write on the Twitter API. By doing such, they can first of all put an end to spammy applications that are abusing the system and killing their traffic with too many unnecessary requests (similar to the way Facebook does with notification limits), but secondly they can begin to organize the Applications and provide a centralized directory for all the Twitter applications out there.

I recorded this video to get Robert’s thoughts on the interview afterwards – I think he shares the same feelings as I do:


Getting Robert Scoble’s Thoughts After the Twitter Interview from Jesse Stay on Vimeo.

You can also see some more of my thoughts afterwards, although I think I was still processing it after we were done so I didn’t say much. You can see that on Robert’s Qik stream here.

In all, I think while there’s still a long way for Twitter to get everything worked out, what they said to us was very promising. It’s promising, yet frustrating at the same time because I know it may still be some time. They are willing to accept help and ideas. If you are a developer and want to offer your time to help them out, join their mailing list, offer your assistance in any way. Most of all, as was pointed out, if you’re going to do any heavy hitting on their API, let’s talk to them the same way they’re talking to us now. Let’s build an open communication between the developers and the Twitter dev team themselves and I think perhaps we can all work together to make Twitter an even better place than it was before.

I’m going to talk a little more about my trip to the Bay area in another post coming up. I feel like I visited half the Web 2.0 internet, in person, in a matter of 3 days, and I’m still processing it all. The Bay is an amazing place that you just have to see for yourself to believe. Now Robert – my offer still stands if you ever want to come out to Salt Lake and have me show you around next time!

My Trip to Google I/O

logo.pngTomorrow evening I’ll be heading off to Google I/O at the Moscone Center in San Francisco. I’m very excited to look over the various new technologies Google is offering, including OpenSocial, Google App Engine (keep an eye out for Bungee Labs, the competitor to App Engine – I hear they’re planning to make an appearance there), and hopefully I’ll get a first chance to play with Google FriendConnect. I’m hoping to take quite a bit back so I can apply it to the work I’m doing for Takes All Types to transition them over to OpenSocial.

While I’m out there, look out for me the next few nights. Tomorrow evening, probably late, I’ll be visiting the WordPress 5th Anniversary at the Minna Gallery. That should be quite a fun event, and I look forward to meeting Matt Mullenweg and crew again. Then, Wednesday night, be sure to come out to the Silicon Valley Web Builders meeting, where I’ll be speaking to about 100-150 developers and such with an interest in Facebook and Social Media development. There, I’ll be speaking about a few tags you probably weren’t aware of in FBML, and we’ll go over some fun FBML facts, as well as discuss some of the latest news we’re seeing about Facebook lately. I also hear a local news reporter will be there, so the pressure is on. I’ll have a number of copies of my first book, “I’m On Facebook–Now What???” there for you to purchase, and I’m happy to autograph any copies you buy – if you haven’t yet RSVP’d please do so now!

The final event, Thursday night, is the Palo Alto Facebook Developers meeting. That meeting looks to be jam packed with developers, Facebook enthusiasts, and investors, from Jim Breyer, to Lee Lorenzen, to Justin Smith of InsideFacebook, to Dave Morin of Facebook, it seems anyone that has anything to do with Facebook will be there. They will be celebrating the 1 year platform anniversary, going over the new design and how that will affect developers. I anticipate some announcements out of that meeting, although I can’t say for sure.

So if your out in the area, stop by and say hi! I’m @jessestay on Twitter and FriendFeed – give me a holler and maybe we can go get some Thai or Seafood (my two favorite San Fran cuisines!) together. I look forward to seeing you all there!