NewsGator is all about presenting the right view of your content when and where you want it. An important part of that concept in our RSS readers is synchronization. If I mark a post read on my mobile NewsGator Go! reader, that post is marked read everywhere else. We do this by tieing all of the user activity to a NewsGator account.
Now suppose I were to add Didja Hear (our OpenSocial application) to Plaxo where my user ID might be based on my NewsGator email address. I set some content preferences so Didja Hear only shows videos about movies, television, and music. I start sending videos to friends, making comments, getting videos from them, etc. Later on, I add Didja Hear to Orkut where I log in with my gmail address.
As an application developer, this scenario raises some questions. Should we prompt the user whenever they add our application to see if they have added it before? If we do that, we could link the two accounts. Then we can provide a benefit of keeping the same preference information.
We could take it a step further though as well. In my scenario above, I could possibly see a video sent from a friend on Orkut while viewing Didja Hear in Plaxo. That sounds like a nice benefit for the user – wherever you look at Didja Hear, you see all of your content and interaction from friends. But in addition with us needing to ask the user to connect the dots and the user feeling comfortable with connecting the two accounts, we have another couple of issues.
If my friend Sue in Orkut puts a comment on a video she sent to me, we show that as “Sue says: …”. We don’t store Sue’s actual name in our database. We store her Orkut ID. Now if I’m looking at Didja Hear in Plaxo, the only way we could show “Sue says: … “ is if we store that information. The alternative is for us to display the considerably less social message “Somebody said: … “.
Facebook has an explicit policy forbidding the storage of a user’s personal data for more than 24 hours, and I could see different container sites creating different usage policies around personal data. As an application developer, it would be ideal if there were some standard restrictions that could be applied to profile and friend data consistently from all container sites. For example, a user setting that says “Share my first name only in views outside this site” would be very helpful piece of information.
One small twist remains to be explored in this story, but that’s a subject for a future post. In the meantime, we need to get back to some real OpenSocial development.