Friday, November 9, 2007

OpenSocial and the Enterprise

Okay, we've heard a lot about Google's OpenSocial APIs, and clearly opinions vary, from unbridled excitement to downright skepticism from Tim O'Reilly, at least regarding what is available right now. But most of the commentary on the web has to do with the consumer space (not surprising), so what does this mean for the enterprise?

Let's start with what OpenSocial is today: it is a way for developers to write a social app (or micro-app) that plugs into any social "container" that supports the API, much like you would write a proprietary Facebook app to plug into Facebook. For people that have been involved in portals, it is analogous to the standard portlet APIs, such as WSRP or JSR-168, which let you write a portlet that works in any portal. Wow, that's exciting.

Well, it could be, but it isn't now, except for developers or startups trying to get presence in the consumer cloud. As Tim O'Reilly notes, it doesn't help the end user.

Most modern individuals have fragments of themselves in several social networks. We need a sort of broker that can figure out which applications can have access to which fragments in which networks. This way we don't need to repeat our information again and again but the value of the networks we join can be preserved effectively, and help the knowledge worker in the enterprise.

We've talked about AquaLogic Pathways, and how it maintains an activity graph of interactions in systems, both explicit and implicit. This graph helps people find people as well as information. This implicit social network could certainly benefit from networks in the cloud -- if you and I work together but are also friends on Facebook, our connection is also stronger in the enterprise, and our coworkers should be able to find me through you and you through me.

But now we're talking about the enterprise, where the rules are different. Some information is sensitive, some relationships are only for certain people to know about. Who "shares" what with whom can be complex. And almost none of this, for now, will be shared with the networks in the cloud.

So here is what we need: give us a data and social bridge from the cloud to the enterprise, so users can self-select what to "share" inwards. Enterprise systems can leverage the information it deems reliable (as discussed by Mark Cuban), which can make the enterprise more fun and more effective. This bridge will have to address basic things like identity mapping, and let users connect their various consumer systems for general, unified access by either cloud applications or enterprise applications. Let the enterprise pull data in today, and at some point it will be comfortable to push data out.

APIs can be a nice start, but design them for the use cases that empower the participant. I decide what I share on Facebook (even though I can't figure out how to hide all of those annoying zombies) and that is why Facebook is powerful and popular. Build me a bridge between systems, and I'll probably cross it. If the bridge goes to the enterprise, some of the energy and playfulness will come along as well.