Managing Social Profiles in Your CRM (Part 2)

Thursday, April 15, 2010 by Jurgen Appelo

Part 2: Hiding Network Issues

In this series of three blog posts we're investigating a few technical challenges for social CRM solutions. In part one we looked at the problem of finding people on social networks. In this second part we discuss hiding various kinds of issues with social network APIs.

Last week TweetDeck had to rush out a minor update because of a Facebook integration problem. It appeared that Facebook had implemented some changes in their public API, apparently without bothering to communicate this to anyone. The result was that TweetDeck users were confronted with authorization pop-ups every time they restarted the application.

It seems that changes in social networks APIs are more common than videos of funny kittens. All too often there are new APIs, new features, changed method calls, authorization updates, switches in protocols, etc. For example: at sociotoco.com we not only noticed the unannounced change in Facebook's API. We also know that Foursquare is switching from XML to JSON, and that Twitter is completely abandoning basic authentication in favor of OAuth.

As a provider of social CRM-enabled systems, how can you deal with so many changes?

Here are some ideas from our own experience:

Limit dependencies to central servers
The Facebook API change was a problem because TweetDeck has implemented the connection in their client application. This is an architectural decision with far-reaching consequences. When any of the network APIs change, TweetDeck has to release a new version to all its users and ask everyone to update their local installations. Such changes are much less of a problem for competitors like HootSuite. They have server-based applications and they can easily fix their application and push the update to their servers in a matter of hours.

Monitor all announcements
Social networks have plenty of blogs, Twitter streams, developer forums, newsletters, and other sources with information about their API's, and any upcoming updates. But the question is: who is going to read them all? In your software development team you must formalize the process of being up-to-date. It is important that you know when new API features are added and, even more crucial, when old features will stop working…

Monitor all code dependencies
Any agile software development team will create unit and integration tests to make sure that existing code keeps working as expected. This is particularly important when part of that code depends on other people's code. After all, it's usually other people who screw up, isn't it? :-) Their breaking changes, that they didn't inform you about, need to be caught immediately before they wreck your application.

Limit the number of social networks
Finally, you have to think hard about your business. Do you need connections to Facebook and MySpace? To YouTube and Vimeo? To Twitter and Google Buzz? For every social network added to your system, you are adding lots of maintenance. You will need to know whether the business value of having these connections is going to pay for the costs of their maintenance.

It is clear that the social networking space is a very dynamical environment. With the right measures one can make sure that bad programming (and bad communication) on the side of social networks is unable to make a mess of your social CRM offering.

At sociotoco.com we're trying to solve these problems for everyone who is unable to do this themselves. But, as everybody else, we keep learning...

(go to part 1: Finding Social Profiles, part 3: Forming Unique Identities)

0 comment(s) for “Managing Social Profiles in Your CRM (Part 2)”

    Sociotoco is an ISM eCompany business unit. © 2009-2010. All rights reserved.