As promised in the video that I just posted that demonstrated how Flixster used Google's just announced OpenSocial APIs to build the functionality of its social movie reviews Web site directly into a MySpace profile (a part of the news that MySpace is now supporting OpenSocial), we've got the entire audio of the news conference as well as a podcast. To hear the podcast, you can just press the play button above. Or, if you want, you can download it (but if you're already subscribed to ZDNet's IT Matters series of podcasts, it should already have appeared on your PC and/or MP3 player).
As you can hear in during the Q&A portion of the news conference, I asked two questions regarding identity and business model. I'm not sure that the first question on identity got fully answered but it's pretty clear that OpenSocial
will could involve some complex reconciliation of identity between dissimilar systems. For example, as can be seen in the aforelinked video demo, MySpace CTO Aber Whitcomb's MySpace profile incorporates a widget from Flixster that shows what his MySpace friends think about certain movies. In order for that to happen, MySpace must look that information up in Flixster and the question I basically had was "How does the process know how to map a MySpace identity to a Flixster identity."
The answer I got during the press conference was essentially that it's not that complicated -- that it uses an OpenSocial application programming interface called "GetFriend." But it has to be more complicated than that if, as Whitcomb and Flixster CEO/co-founder Joe Greenstein said, the lookup involved Whitcomb's MySpace friends. If for example Whitcomb has a friend in MySpace named John Smith, it can't look up John Smith in Flixster based on his name alone. Somewhere, somehow, the unique MySpace ID of Whitcomb's friend John Smith has to be associated with the unique Flixster ID of Whitcomb's friend John Smith. Otherwise, if the lookup into Flixster is based on just the user's name (which isn't even available a lot of the time), the data that Flixster passes back to MySpace could easily come from the wrong John Smith. I've re-asked the question to Google via e-mail, but here are the possibilities given a call as simple as "GetFriend."
- The friends shown in the Flixster widget in Aber Whitcomb's MySpace profile were Whitcomb's friends in Flixster, not MySpace. This is scenario is plausible because all a MySpace user would have to do to make the widget work is supply the his or her own unique Flixster ID and then the widget would dive over to Flixster and pull up his or her list of friends from there.
- The friends shown in the Flixster widget in Aber Whitcomb's MySpace profile were his MySpace friends, but each of them has, somewhere in their profile, told MySpace where to find their Flixster profile. In this case, the way the widget would work is it would run a loop that iterated itself one time for each of Whitcomb's MySpace friends, interrogating each of their MySpace profiles for their unique IDs in Flixster. For each friend that actually entered that data into some field that's especially designed to enable the Flixster widget, the widget finds that friend's Flixster ID, calls Flixster with it, and retrieves the information that's subsquently poured directly onto Aber Whitcomb's profile.
- It's a reverse lookup. In other words, over on Flixster, there's away for Flixster users to input the location of their MySpace profile. In this case, the widget would iterate a loop that goes through each of Whitcomb's friends and then passes their MySpace IDs into Flixster in hope of finding users of Flixster who have entered matching MySpace profile data into their Flixster profiles.
- The demo was alligator clipped together: the code that looked up all of Whitcomb's MySpace friends over on Flixster was somehow hard-wired to look up each friend. In other words, instead of being able to loop through code that, one iteration at at time, loads a variable from an array (eg: "GetFriend(X); where X= the Flixster or MySpace ID of the next friend in the list) of Whitcomb's MySpace friends (a variable whose data is eventually passed into Flixster, the code statically calls specific friends for the purposes of the demo and press conference (eg: "GetFriend('JohnSmith'), GetFriend('MaryWhite'), etc").
I highly doubt it was the last option since that would mean the end results were more smoke and mirrors than it was the actually functionality working. But on the other hand, if it is one of the former three options, that involves some complexity where end-users must take on the responsibility of handing some mapping which in turn has implications on the user experience and ease of use. Perhaps there's a fifth option I haven't considered. As soon as Google gets back to me, I'll post an update. But regardless of which option we're talking about, the demonstration was an impressive look at the potential of OpenSocial to seamlessly integrate two or more social networking sites into each other.