Monthly Archive for April, 2004

Anti-Social Software

I was recently invited by Lauren Zuravleff, Helen Chen, and Daniel Steinberg to blog on java.net. I have accepted this invitation, and will be writing about some of the less programming-centric issues in the world of software. In the interest of maintaining my own web site’s whuffie, I will be reproducing these articles here. The original version of this article appears here.

In light of the recent announcement that Sun Microsystems and Microsoft would stop their bickering and play nicely with each other, I thought it only appropriate to write my first entry on java.net about the need for software that knows how to be social and play well with others. Social networking systems, despite being the new Hot Technology to grab the attention of Valley venture capitalists, are lately being subjected to a healthy dose of criticism: for systems designed to help people interact, why can’t any of the systems interact? And why have the systems overlooked some of the most obvious functionality a user or a developer might want?

The design of the current breed of social networking software repeats the mistakes of another social technology: instant messaging. Whether you chose to use ICQ, AIM, Yahoo! Messenger, or MSN Messenger as your messenger of choice, one thing became abundantly clear the minute you clicked “I agree” to the End User License Agreement – you were part of their system now. Instant messaging companies put a wall around their users by design, and they liked it that way. For one thing, it gave them a chance to figure out how they were going to make any money – at least until astute companies like Jabber and Cerulean Studios figured out that instant messaging companies had overlooked the fact that people using different chat systems still wanted to chat with each other! Imagine that!

Social networking systems have followed a similar path, coding users into the very same corner, building high and thick walls between their communities and discouraging the very activities for which they claim they were designed. Social networking systems are pathologically anti-social on three fronts: their lack of functionality, lack of a web services API, and lack of federation.

Lack of Functionality

People have different kinds of relationships: some of their colleagues are friends, some of them are business acquaintances, and some of them are random people they only seem to run into when neither of them has a pen. One would think that the ability to categorize and segment classes of relationships would be a central requirement for a social networking system. Unfortunately, not one of the social networking systems I’ve used (Friendster, LinkedIn, Orkut, Zerendipity) is capable of distinguishing between types of relationship networks.

Only Orkut provides a faint acknowledgement of this user requirement, allowing a user to categorize their relationships from the neutral “haven’t met” category to the exuberant “best friend” category. It makes me wonder: am I the only one with enemies? I don’t know about you, but personally I’d like to track my enemies and their friends, if only in the interest of keeping all my organs in their designated anatomical configuration. The current systems seem to ignore the fact that people belong to many social groups, and have relationships with people which they’d prefer members of their other groups didn’t know about.

Putting this shortcoming aside, one has to consider what benefit a user gains from joining a social networking system. Alright, I’ve joined – now what? Oh, I can find other people – I, uh, guess that’s kind of cool. Can I import my friend’s contact information into my Outlook address book and keep it up to date (like Plaxo)? No? Can I send and receive messages to and from my social network from my regular email client? No? So what, exactly, is it that I’m supposed to do with this thing? The current state of social networking systems mimics the early days of the laser – a technology searching for an application. What better way to enable application of social networking systems than a new-fangled web services API?

Lack of a Web Services API

One of the smartest things Amazon ever did was create the Amazon Associates program – the service through which web sites can get compensated for directing surfers to Amazon products. All you have to do is add an associates ID to the end of an Amazon URL in your web page and poof you get a commission on each time one of your surfers goes to Amazon and buys something. Though technically not a web service, the program allowed developers outside of Amazon to leverage its technology, extending Amazon’s reach to people who weren’t even surfing Amazon.com.

Since then, both Amazon and Google have provided developers with access to their technology through web services APIs, spawning numerous unique applications and the odd book or two. But Amazon and Google didn’t do it for charity – new applications tie users and developers to their platforms, which in turn drive revenue through more books sales and advertising revenue. It’s apparently called a business model.

Meanwhile, social networking systems are sitting around with gobs of personal information, relationship information, and no way to let anyone else use it. Think of the applications these systems could enable! For example: Amazon makes personalized recommendations by comparing your previous purchases to those of other Amazon shoppers – but does this really make sense? Amazon makes a bold assumption that people who buy one item have the same tastes in other items – what if instead Amazon refined its personalization by knowing the identity of your friends and tying your recommendations to what you had in common with what they had bought recently? Exposing this kind of information through a web services API would allow other companies to refine their personalization, resulting better efficiency for licensees of the technology and a nice revenue stream for the social networking system. Two words: cha, and ching!

Lack of Federation

The worst part about social networking systems is the duplication of effort they require of the user. Do they honestly expect someone who is already a part of another system to upload all their information and invite all their friends to yet another social networking system – YASNS? I don’t know about you, but I consider it a bad sign when your target users have to invent an acronym for the sole purpose of describing how annoying they find your service.

When you think about it, it doesn’t really make sense to have a centralized system to track distributed relationships – hence the invention of the FOAF (friend-of-a-friend) schema. The only hope for social networking systems, now that developers (like TypePad) are starting to adopt FOAF, is to figure out how quickly to reposition themselves to leverage their existing database of personal information, index publicly available FOAF data from the web, and start providing value-added personalization services to other companies.

Conclusion

Although I’m normally not one to condone stereotypes, I found I couldn’t disagree when I overheard someone lament: Isn’t it a little ironic that social networking software is being created by a bunch of antisocial geeks? Yup. Social networking systems are currently like the geeky guy in “Singles“, the one with the high-tech watch full of pretty girls’ phone numbers that he’ll never actually call. If there’s one shortcoming we geeks suffer, it’s our obsession with creating new technology or re-creating existing technology in the name of “doing it better”, while remaining blissfully oblivious of the fact that no one can actually use it.

On the other hand, the people behind these systems aren’t dumb and neither are their venture capitalists. I doubt that anything I’m suggesting here hasn’t already crossed the minds of those involved in the development of social networking systems. Given the involvement of Google in Orkut, coupled with Google’s recent move into search personalization technology, it seems likely that these companies had these types of strategies in mind from the beginning. I can only guess that I don’t know the right people to be privy to such knowledge – now if only there were some kind of computer service to correct that.

National ID Me Up!

I recently went to a discussion of US visas presented by the Pearl Law Group and the Digital Moose Lounge. Sandwiched in between details of labour-sponsored green cards and H1B quotas, the presenting lawyer digressed into a number of points on avoiding problems with the Department of Homeland Security. In particular, he pointed out the importance of maintaining your current address with the authorities.

It sounds simple, right? I should just fill out a form and they’ll know where I am. And of course this form has an appropriately cryptic name: an AR-11. So, one form and I’m done right? Uh, not exactly.

You see, one form to update your current address would be too easy. No, no, we also need you to fill out a form with the Social Security Agency to update your address with them. And then there’s also the Department of Motor vehicles.

On the one hand, it makes sense: only certain agencies should have access to certain personal information. But then again, if all that information is the same, do we actually gain any real protection of our “privacy”? Consider how many pieces of identification you have in your wallet or purse right now – and then figure out how many of them exist only to match your name, address, and birth date against some random agency’s identification number. Go ahead, take your time to figure out the answer.

I’ll give you a hint: all of them, right?

Just how secret is my address anyway? It’s posted on my contact page. It’s in the phone book. I’m all for privacy, but only up to the point that it doesn’t require me to spend my evenings filling out change of address forms in googlipicate. I don’t want Big Brother any more than anyone else, but I also don’t want a real-life incarnation of Brazil either. If a big, bad national ID database needs to exist to match my face (in the public domain) with my name (in the public domain), and address (in the public domain), then damn the Orwellian consequences as long as I don’t have to fill out any more damn forms. The path forward is clear: National ID me up!