Just 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?
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.
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.
I’ve been contemplating for awhile now a good way to share what I know about Social Software Development and helping business owners, marketers, and developers learn how to set up their own social apps. Especially for developers, I know there are many out there looking for howtos and ways to learn more about starting their own App, promoting it, and getting it off the ground. As the author of FBML Essentials, I feel I am well suited for the task so in the next few days I’m going to start doing howtos and overviews on how you can get your own Apps together. If you’re “the business type”, I may get a little technical on you, but I do recommend you keep watching and forward these onto your IT personell – your CIO, CTO, and the like should read these so they can learn what’s possible to integrate into your existing environments. I’ll also try to throw in a little goodie here and there for “the business type”.
So, I’ve created a new category to the right, “Social Coding” – if you want to track just that, click on the category name and add it to your RSS. I’ve also started a new FriendFeed Room where those involved or that want to get involved in Social Coding can discuss, learn, and talk with each other. You can subscribe to that here.
Let’s start by going over the types of sites I could cover. Here are just a few – let me know if you have a particular interest in learning about how to code for any one in particular:
Facebook
OpenSocial
Google Friend Connect
Twitter
FriendFeed
Pligg
Digg
LinkedIn
MySpace
WordPress
MoveableType
Google App Engine
Bungee Connect
Stay tuned! I’ll keep posting news and other rants as we go forward – I’ll just be adding in some good howtos at the same time. Oh, and if you’re a developer and would like to do a howto in your preferred language for us, contact me – I’d love to let you do a guest post.
Note that I’m not going to provide any links to the mentioned content here – you can go research yourself. Unlike Wikileaks, I respect others’ copyright.
One thing you may notice on this blog is that while I rarely pipe in with religious thoughts and my own personal religious beliefs (although I used to quite often), I will not hesitate to step in when a Social Media-related religious event occurs. An interesting Groundswell is happening today between the Headquarters of my Faith, and the controversial anonymous sharing site, Wikileaks. However, I don’t think it’s occurring in the way people think it is.
This morning on Slashdot you may have seen an article about the Mormon Church (or “The Church of Jesus Christ of Latter-day Saints“, which is the Official name of the Church) sending a Cease and Desist to Wikileaks for posting links to a Copyrighted, yet old version (1999) of the Church’s “General Handbook of Instructions” for others to freely download.
I don’t understand why this is news. Having been in LDS Bishoprics before as a Clerk and Executive Secretary, I am very familiar with this manual. It is simply a guide for leaders of the Church to know how to council and guide members of the Church, and according to my understanding, NOT (fully) DOCTRINE. It is simply a Policy manual, and while Bishops and other Leaders of the church may follow its council, in the end they are left up to their own judgement (encouraged by the Church “to follow the promptings of the Spirit”) to decide how to handle matters in the Church. The Church considers the Bible, Book of Mormon, Doctrine and Covenants, and Perl of Great Price to be the Official Doctrine of the Church.
The Mormon Church is simply requesting Wikileaks remove the content because it is their own IP, not Wikileaks, and they are removing it as they would any other Church-owned and copyrighted document. Wikileaks and other sites are also portraying the contents of the manual as though it is doctrine for the general membership of the Mormon church, when in reality it was only intended as a guide for Leaders in the first place. The Mormon church has to protect the dissemination of false information as well.
In Charlene Li’s and Josh Bernoff’s book, Groundswell, she starts out with an example that happened last year on Digg.com where a user shared a blog post about how the HD-DVD Encryption standard had been broken. AACS LA quickly sent a cease and desist to Digg.com and the Digg.com founders promptly removed the link. Before Digg knew it, their own users began to backlash against them, occupying the entire front page of Digg with copies of the HD DVD encryption algorithm. Digg had a Groundswell of its own between its own users and it knew it had to do something. What did they do? They listened to their users and put the link back up, stating they would go down fighting rather than ignore their users.
I think with the post on SlashDot this morning some people may be thinking (and some hoping) a similar Groundswell is going to occur with the Mormon Church. Those that think so will be pleasantly surprised – there’s a difference between a Groundswell of your own members and those outside of your membership talking about you. How do you handle a Groundswell of people outside of your customer-base/user-base/member-base? You get in the conversation!
I want to share with you a video from Elder Russell M. Ballard, a member of The Church of Jesus Christ of Latter-day Saints Quorum of 12 Apostles – religious or not, I’d like to encourage you to read this not just from a religious perspective, but also a business perspective and how you can disseminate correct information about your business:
The Church of Jesus Christ of Latter-day Saints is getting in the Groundswell through its own members. They encourage their members to blog, Twitter, get on Facebook, and clarify misconceptions. The Mormon Church will overcome this Groundswell (if you can even call it one) via its own membership, correcting misinformation Socially rather than through news releases and other means and letting the general media and blogosphere say what it believes. They have a Youtube channel here. They are on Twitter. They have a Facebook Page.
I encourage other churches and even businesses to take this response – there is a lot that can be applied from a religious, or even non-religious perspective from this. When you get your own followers of any business, brand, or religion to spread correct information about your brand it can overcome any misinformation spread about it.
Wikileaks is wrong in this case – they are sharing copyrighted information, not owned by themselves, and without the permission of the owner. The LDS Church isn’t going after them because the shared links are “secret”, but rather it is copyrighted material, and Wikileaks does not have permission to share it! As a book author and software developer I don’t want people using my content without my permission (which I’m generally pretty relaxed on in my personally owned content). Why would I want Wikileaks sharing the content I personally own on their site let alone others?
Yahoo’s keynote proved very interesting. In it they announced a new technology they call, Y! OS. This technology is to be the beginning of a new Open, Social Strategy for Yahoo, and with the technology, as they term it, they are “Re-wiring Yahoo”.
Starting today, Yahoo is opening up the beta for their Search Monkey platform, which is to be a new way to organize and format search results. He showed some interesting formatting of search results with reviews, descriptions, etc.
According to them, Yahoo’s open strategy is about opening up all the properties of Yahoo. First of such will be an Application platform. They will be socializing all of their properites, unifying the user profiles, and integrating the ability to add “applications” across all Yahoo properties and apply Social properties to those applications.
According to Yahoo, they are “Not creating ‘yet another social network’”. Yahoo does not view “Social” as a destination. It should be an integrated environment. He showed some examples of integration within the Yahoo mail environment, showing a way to pop up messages most relevant to the individual through the Social Graph. Taking Yahoo portable will also be an integral part of this.
Yahoo says that later this year the first version of Y! OS will be delivered. This will include the beginning of Social Graph and Application Development platform, and an entirely new dimension of developing applications at Yahoo will become available.
This is huge news for Yahoo – it puts them up at par with Google and Facebook, and will change the way you use the internet as you know it. Expect to see more from Google along these lines in the future – I believe the iGoogle OpenSocial integration predicts this. With Yahoo as a part of the OpenSocial foundation, I expect them to integrate OpenSocial as part of this, and move to a fully social strategy. I’m very excited for this announcement and look forward to Y! OS to come into play at the end of this year.
Mark Andreesen, creator of Mosaic and founder of Ning.com, spoke to us in an interview today at the Web 2.0 Expo, and shared with us some of his thoughts on the growing up of the web, and what he thinks of the future. As I mentioned earlier, one interesting thing he mentioned was plans for Facebook Platform Integration, something I am very excited for. Here are the highlights.
What were your expectations when you released Mosaic?: “Hype at the time was interactive TV. Mosaic and internet technologies were kind of the renegade of the time – no one believed it could make money.”
At what point did you think this was going to change the game?: “It wasn’t until after Netscape was started that Mark started thinking it was going to be a phenomenon.”
Many of the TV and media companies mentioned are now extremely important players in this space. What do you make of those guys now?: “By and large most of the major media companies are still unprepared for the shift. Many of the newspaper companies are in an absolute free-fall. There is still a story that has yet to be written. These companies are uneasy about a commodotized future. That said, things are still developing and are still unknown.”
In 1995 Microsoft realized what you were doing was competitive and decided to launch Internet Explorer for Free – what is your thought of that?: “Well, in fact they used my code. If you go into the credits you’ll see the name of Mosaic from University of Illinois in there.”
Looking at the legacy of the browser, what is it you like and what do you wish evolved differently?: “It has turned out far better than anyone ever thought. The big surprise has been how many of the ideas that we had that we thought were experiments have lasted. One example being javascript – we created something that looked like Java because it was familiar to people at the time. Another example was cookies – we were writing an E-Commerce site for MCI, and needed a way to do it, so created the “cookie thing”. People are now seeing that as a threat to privacy, and I find that amusing. The other expiriment was the back and forward buttons – we were looking for a better way to navigate the internet, and it’s interesting to see that that method has stuck around.”
You said, “It’s nice to have this kind of money for the ‘coming of the nuclear winter’”. Can you tell me how to “build our bunkers”?: “There’s a huge irony for the industry where after the crash of the stock market in 2001 all the money got put into Real Estate, and now that’s crashing. On one hand all of this is happening in a remote area and doesn’t have a lot to do with us, but on the other hand, it all comes back around, and effects us in the end.”
What are the advertising models that might work?: “Your company has a strong advertising model to it – Ning is a social network play, but different – why is it not Facebook?: Ning is a company for people to create their own social networks. On average those networks are growing very quickly. Adding 1500 networks a day, and people are discovering that social networking is a central part of their lives.”
How do you feel about the idea of Data Portability?: “In general, pro. You can import data in and out of Ning as you want. There is not a lot of consumer demand for that type of thing however. The majority of supporters of Data Portability are early adopters.”
Google has laid out OpenSocial and you have ascribed to it. What does that matter to the users of Ning?: “It matters by default. Facebook did an amazing thing with rolling out the idea of a Social Networking Platform that users can take applications and apply them to their profiles, a powerful idea. The Facebook platform was specific to Facebook though, so a standard was needed which we joined.”
“Facebook is starting to get more open about the Platform – directionally that is the trend. I think a lot of people like us will be implementing both OpenSocial and Facebook.”
I’m sitting here at Web 2.0 Expo and watching the Mark Andreesen Keynote. One interesting thing he mentioned was that Ning (and others) has plans to launch onto both OpenSocial and Facebook platforms. This is the first I have been aware of plans outside of Bebo to utilize the Facebook Platform, and I believe a wise decision. The Facebook Platform is indeed one of the most popular and most used platforms out there, and therefore worth looking into as a Social Network looking for a standard to adopt. The question is, is Ning in talks with Facebook on this, and how far along are they in organizing this? Is this pure speculation? I am very much looking forward to Ning, and other Social Networks adopting the Facebook Platform as a standard. I’ll be posting the notes from the keynote next.
Charlene Li, and Josh Bernoff are two of my favorite Social Media Experts. They published “Groundswell”, a book I strongly suggest and recommend to anyone looking to utilize social technology in their business strategy. Here are my notes:
Key roles and their Groundswell objectives:
Research
Marketing
Sales
Support
Development
Charlene talking about specific applications that accomplish these objectives:
Del Monte community, invitation only, has conversations with their customers. Del Monte asks their customers questions like, “What does your dog eat for breakfast” and gets responses back from the customers. Then, more specific questions are asked, and a conversation is started. This information is hard to measure in a focus group, but can be gathered via a Groundswell.
Now Charlene’s talking about tampons. What, don’t like the subject? Neither do most people. P&G had this same problem, and created the social network, “Being Girl”. No branding of “P&G” on the site. In articles, adds things like, “Brought to you by Always pads”.
Brides.com: Allows the bride-to-be to create a count-down calendar on their Myspace page. Widget shows the countdown, and offers a challenge to get the widget. When a user clicks to get the widget, they go to brides.com to get the widget. With widgets like this, your fans are doing the selling for you.
Starbucks: Suggestion boxes. All suggestions are public, and can be voted by the community. Management talks back to the community and responds to their feedback!
Keys to success for pragmatists:
Start with your customers
Choose an objective you can measure
Line up executive backing
Romance the naysayers
Start small, think big
Pragmatists bring companies and the groundswell together. Objectives are the key to successful social strategy. Use POST to frame your strategy. Think big, but start small.
Unfortunately I only have a Flip which gives me just 30 minutes of storage so you’ll be able to see the first 30 minutes below. I’m currently watching “Comparing Social Platforms”, with Dave Morin, Senior Platform Manager for Facebook, Allen Hurff, SVP Engineering for Myspace, Jessica Alter, Dir. of Platform and Business Development for Bebo, Patrick Chanezon, Google OpenSocial Evangelist, and David Recordon, Open Platform Lead for Six Apart. It’s fascinating to see the leaders of all 4 areas, including a developer standpoint from Six Apart all talking about ways to improve the Social Graph.
I’ll continue from where the video left off:
Allen Hurff said a great point when it comes to focus on Platform Development: “I love developers, but I love users ten times more”. That’s a great point and something we need to remember, and not be too demanding on as developers. In the end it’s all about the users of our applications.
Dave Morin talked about the Causes application. If the user can’t get the message to the friends that they care about such a cause, that’s bad and needs to be taken care of. Facebook is trying to focus on this, while finding balance with Applications that perhaps aren’t as impacting to ensure they aren’t being spammy and user experience is protected.
Patrick Chanezon says Google prefers the term “organic growth” to “viral growth”. Dave Morin brought up that ultimately, creating the best product is the end goal. Those applications that just focus on Viral growth grow fast, but ultimately die out. In the end you want the best experience for the user.
Dave Morin: “A lot of the times we’ll see viral but no ‘social’”. Being able to see what your friends are doing with your application, how they interact together makes it social and not just viral.
Dave Morin: Social Commerce is the future of how people do business on the web. Working on a commerce engine for Facebook. He likes the applications that are doing virtual currencies (I agree).
David Recordon: Building applications has to be easy. Extensibility is important. It has to be easier than it is today – if more successful than today next year, technology still isn’t easy enough.
Questions:
Matt from SocialThing: will there ever be a premium model with guaranteed uptime, extended support, etc.?: Myspace says they haven’t thought of it. Facebook says they are committed to their platform – says it’s a good point and also haven’t thought of it.
How liberal are platforms going to be in sharing data?: Six Apart is one of the creators of the ATOM standard – bloggers should own their content. Facebook is committed to enabling people to take data where they want to. What exactly does “data portability” mean? Dave Morin posed that question to OpenSocial… “data portability” might not be the right word for it – “privacy portability” might be a better term for it. “It’s all about the user – it’s not about technology.”
What are the thoughts on creating an even playing field for viral channels?: Myspace will have a hard time
In conclusion it looks like the theme for this was putting focus on the users in the end vision, not the application. I’ll upload the video in a minute if it isn’t showing yet.
StayNAlive.com is the brainchild of Jesse Stay, The "Social" Geek, two-time book author, speaker, and social media expert. With StayNAlive.com, Jesse's goal to provide you with valuable content, share information in his life, and provide a virtual brain dump for him to share with you his knowledge on Social Media, technology, new media, and the occasional rant.
About Jesse Stay
Jesse Stay is a speaker, author, blogger, and entrepreneur, who writes and consults on the topics of social media and new media architecture, bridging the gap between “technical” and “social” for both marketers and developers. Please Contact him or follow him on Twitter, FriendFeed, or Facebook to schedule his services! Learn more about Jesse and Stay N' Alive Productions on LinkedIn.