As I was writing my last post about the arms race between the client and the server, a thought crossed my mind.
Why has the social networking arms race come down to Facebook and Google?
Facebook is #2 in the social networking space and Google is #I-don't-care. Why? Because Google doesn't have a viable social network.
Don't bother with Gmail, YouTube or Okurt.
Okurt isn't in the same league as Facebook. Just trust me on this.
Gmail, YouTube and whatever other Google properties aren't social networking sites. Just don't try to make that argument.
That's like saying Hotmail, the LA Times or Amazon is a social network. Stop it.
So then I read the Cold War comparison( more here ), and I realized it was very exaggerated and not really true, but made for an interesting headline and topic. (Well played, Duncan, well played).
So Google is trying to tip the dominoes. With the release of OpenSocial and FriendConnect, Google is trying to get other countries, er, ah, sites to join them and thrust itself into the social networking scene. As more fall, more will be more likely to fall, or something to that effect.
The problem is, Google is shooting blanks, and Facebook is still firing back, playing right into Google's hands.
Google opens. Facebook opens some more. Google opens even more. Facebook... you get the point.
The difference is, people actually care about, and can build applications around Facebook's openness.
It's like poker, but not. Google is getting Facebook to go all in, but Google is playing with house money. Why should they care if they lose?
On the other hand, if Google can accumulate second-tier sites and entice Facebook into blowing open it's doors, there is an open conduit from Facebook to thousands of other sites, and that conduit is Google.
If I were Facebook, I'd call Google's bluff before I lose the only thing valuable I have.
So TechCrunch confirmed that Facebook will be turning their application framework into an open-source project, meaning that pretty soon, anyone who wants will be able to host Facebook Apps on their own site.
The details are still scant at this point in terms of what features will be available and how it could/should/would be implemented.
But I'm guessing it's going to be pretty much exactly like OpenSocial.
With one rather enormous exception.
Facebook Apps rely on server components. To make Facebook Apps stupidly simple. A Facebook server makes a request to your server, your server returns markup and wawmo, you have a Facebook App. What you want your server to run is up to you. The Official (cue the Choir and sunrise) API is implemented in PHP, but has been ported to ActionScript, Ruby, Java, blah, da, blah, blah, blah.
OpenSocial requires no servers -- aside from the one(s) acting as the host/shell/container/whatever-you-want-to-call-it. So, in theory, and I guess, in practice, you could build an entire OpenSocial app with no server, relying completely on client-side Javascript. And really that's your only option.
Now, pros and cons aside, many have wondered whether Javascript is the wave of the Web X.0 future because of it's ubiquitous nature and nearly absolute install base.
If OpenSocial with its client-side glory comes out on top, it would go a long way in proving that is true.
The blogs plunged from euphoric to despondent over the last 48 hours as MySpace, Facebook and Google all announced some sort of outside-the-wall sharing of their social graph data. See Here, Here and Here for a sample.
The tenor began to change as more information became available, hitting a low point with Facebook's blocking of Google's Friend Connect. See Here, Here and Here for a sample.
Is this news really surprising to people?
As a social networking fan and advocacy of openness, I say "that's garbage."
As an employee for a large company and an MBA student, I say "duh."
The first big issue with this initiative is Personal Identifiable Information. What PII data actually is varies, but is generally, first name, last name, email address, etc. Anything that could be used to identify the real "you".
PII is a really dicey issue in big companies, so much so that we have problems just transferring it from one server we control to another. Forget about trying to share it with, well, anyone.
Secondly, the incentives for the consumer is obvious, but what is the incentive for the business units?
OK, maybe Google is more willing to share their users info because this doesn't represent its core competency. Same with MySpace (owned by Fox). For these BUs, the publicity and potential attraction they get might be worth it (although, I still don't see it).
But what about Facebook? Facebook's sole business is its users and users' information. Why would it want to just give its business away to its competitors.
Sure, I'd love to have my Facebook friends in my Gmail address book and vice-versa, but I don't expect it to happen any time soon or ever.
And I get that.
The 2008 Web 2.0 Conference (and Expo) got off to a raucous start today. This morning I participated in a workshop (emphasis on the "shop") covering Facebook and opensocial application development. While extremely disappointing in its basicity (a word which I am coining to mean "When a group of people watch some girl click around her MySpace profile to show where you can put really neat widgets"), the latter half of the workshop did semi-touch on important concepts concerning how one should develop in this rapidly changing social network application development environment. I wish the entire 3 hours had been spent developing a working application from scratch, though, even if it had just been a dumb "Hello World" app that says "Hello World" to your friends. Then they could've discussed specific issues encountered with working with Facebook and OpenSocial. How you deal with the differing implementations in the OpenSocial containers. The best way to update and maintain your code to work on the various sites. That's stuff I would've liked to learn about. But if anything it provided a few scraps for thought about OpenSocial coding.
In the afternoon I sat in on a pretty interesting talk about "Innovating on Time" (which may or may not be the official title, but close enough). This topic is something I'd like to go more in depth with at a later point when I've had the opportunity to read a little more and collect my thoughts, but the premise that someone or some group should allot time in their schedules for the simple act of idea creation - or "ideating" - is pretty interesting to me. And while this was the primary focus of the first half of the workshop (there was a 15 minute break for snacks which were nowhere to be found...sob), the second half of the workshop focused on the issue of how you act on these ideas in a timely manner. The presenter, Scott Berkun, brought up several key issues and roadblocks we all face when trying to complete a project - be it innovative or not. At one point he started presenting a series of charts and was throwing around "quantities of work-time" and calculus-based derivative explanations of how projects finish in a hyperbolic fashion. It got a little goofy. But the last 10 minutes of wrap-up definitely left some good messages in terms of how one (or, again, one group) should focus on developing innovative products in an efficient and timely manner.
Early-to-late evening after the conference is mostly a vague wash of various scary homeless people harassing me.
In conclusion,
Web 2.0 FTW