Social Networks and Software Development

If 2007 was the year that social networks "got their geek on," will 2008 be the year that programmers actually profit from them?


February 05, 2008
URL:http://www.drdobbs.com/tools/social-networks-and-software-development/206104412

2007 was the year that Social Networking "got its geek on." We have that on no less an authority than CNet.

I'm predicting that 2008 will be the year that social networking, uh, does something that sounds less silly.

Like becoming useful for software developers.

Maybe you have a Facebook or MySpace page, but I have my doubts that you consider it a big help to you in your work. On the other hand, you surely do rely on social networks—in the mundane sense of networks of coworkers and contacts and people you know that you can e-mail with a question in a pinch. And there are those who think they can make your use of these informal networks a lot more efficient. They think that social networks are about to become a lot more serious and useful than MySpace.

The Year of Getting Serious?

Most of the things called social networking services are website centered. At last count, Wikipedia listed more than 100 "notable" social networking sites, some quite general, like Facebook and MySpace, some quite focused, like Cyworld (young South Koreans), Sermo (doctors), CarDomain (car enthusiasts), and Advogato (free and open-source software developers). But Twitter is proof that social networking services can transcend the blog/website frame, extending social networks into IM, RSS, and SMS.

Actual social networks of people already exist and function in these media, of course; that's what they're for, largely. But the point is that social networking services are making headway in multiple media, not just sites like Facebook.

While these social networking services provide a variety of ways for users to connect and interact, arguably the defining characteristic of social networking services is a recommendation system based on trust. Social networking software attempts to enable the sharing of judgment, letting you leverage somebody else's trust and knowledge about other people, and letting you share your own knowledge and judgment. How well they work depends on the trust metrics and the model for using those metrics. Yahoo, Amazon, Slashdot, and Daily Kos all have their distinct reputation systems.

The FOSS social network site Advogato (www.advogato.org) is interesting in that it was set up specifically to test a model for attack-resistant trust metrics for peer certification. Raph Levien's model is described at the site, as well as in his Ph.D. thesis (referenced at the site). Levien claims that the trust metric used in Advogato exhibits "resistance to catastrophic failure in the face of a sufficiently massive attack. Instead, the number of bad nodes [nodes under the control of an attacker] accepted scales linearly, and with a fairly small constant, with the number of certificates from valid accounts to bogus ones. It is also easy to compute efficiently and fairly simple to understand. As such, it should find applications in...defining online communities, reliably excluding spammers, trolls, and other common annoyances."

Advogato exemplifies the software smarts that need to go into social networking services. But these services also need to be smart about people and social interaction: A recent IBM whitepaper asserted that social sciences would soon become more important than IT to IT departments. Whether that's true or not, those branches of computer and social science that explore the characteristics of networks, social or otherwise, are likely to be very useful in making social networking service work better.

And one insight from the social sciences that challenges the MySpace model is that we all belong to not just one social network, but many, reflecting our varied interests—including software development. Advogato is not the only social networking service addressing the interests of software developers. If 2007 was the year that social networks got more tech-savvy, could 2008 be the year that the tech savvy get a grip on social networking?

The Year of Hiring Smarter?

In truth, programmers and software firms use social networking today. Myra Norton, whose firm Community Analytics (www .communityanalytics.com) specializes in analyzing social networks, says:

Our research indicates that this happens informally, but that developers aren't necessarily "engaged" in targeted social networks—rather, they use their trusted networks to vet ideas and solicit advice. They use online search and other sites to gather information—they then filter this information through their relationships of trust and advice seeking.

One area where it's easy to see that software firms do use social networking is in finding and vetting potential employees or team members. If you're looking to hire someone with Ruby on Rails skills who'd be a good fit for your team, do you immediately post on Monster.com, or do you look at your contact list and ask your staff to do the same?

Tapping into your staff's contacts to find new employees is an obvious social networking ploy, but Sun Microsystems takes steps to keep in touch with ex-employees, providing blogging space for them on the Sun corporate site. Can ex-employees extend your network of trust for recruiting purposes, and is it possible to use network analysis tools to push this to another level?

Yes, according to Norton:

[W]e've worked with a firm called SelectMinds that focuses on enabling "Corporate Alumni Networks" for that very purpose...The idea is to remain in contact with individuals when they leave your firm and provide them a way to remain connected to the folks with whom they already have valued relationships. Then, when you have a job or jobs to post, you send it first to this group of people who already have a connection to the firm and who now know a lot of other professionals as part of their career since leaving the firm. This can be extended to include other populations—college interns, for instance, who might be excellent candidates down the road.

Can social network analysis take a significant amount of the risk out of hiring? This may be the year that we find out.

The Year of Social Coding?

But recruiting is a peripheral process. Can understanding and enabling social networking actually help you in the core activity of developing software? Obviously, a software development team is a social network. And there is already much concern in the industry with communication within software teams and how it affects the work. But the question goes beyond Wikis and collaboration software and version-control systems and the arrangement of desks and the deployment of lava lamps. Can social networking services and analytics play a role in a software firm's real business of developing software?

Again, Myra Norton is optimistic. Her company focuses on analyzing actual networks of influence, which may or may not mirror the structures defined by corporate org charts or the tools and office layouts alluded to above. How might a software firm make use of this insight?

[W]e might start by understanding the network among developers and other IT professionals inside the firm—opportunities to improve the level of support, expertise, resources available to the group that currently exists. We would also map the network these individuals rely on outside of the firm. Then, we might talk with developers external to the firm with interests/expertise that are in alignment with the firm's business focus. Understanding these networks would provide a solid understanding of opportunities to integrate external knowledge/expertise into the firm in a way that meets both the firms needs and the needs of the developer network.

So what would the firm do with this information? Would it actually change the formal structures to reflect the informal ones? Yes, Norton says:

They do re-examine the formal structure and alter it to better support the individuals involved as well as the company/organization as a whole. For instance, when "bottlenecks" (individuals who are relied on heavily by other members of the organization—and disproportionately so) are revealed, organizations are able to focus knowledge sharing and cross-training initiatives to relieve the burden on those individuals and reduce the institutional risk of having the bulk of the knowledge resting in the hands of the few.

The Year of Socnet Tools?

There is one obvious area in which social networking offers something to software developers: the opportunity to develop software for social networking. Whether or not you ever make use of social networking tools or analytics yourself, you can certainly develop software for this booming area.

Note that I didn't say "booming market." Is social networks a hot area? Undoubtedly. Does it present some interesting challenges in software development? It does. Is there money to be made? Sure, but first you have to figure out the model. Are you going to get rich doing mashups? Creating a social networking site, and competing with all the other socnet sites for attention? Maybe, like Community Analytics, you can focus on tools for mining information from social networks.

Whatever you do, you'll have company. CNet's claim that social networking had got its geek on was a recognition of the tools that have arrived to make it easier to treat social networks as a platform for new tools. And the easier it is, the more competition you'll have.

As we reported in December, IBM has announced IBM Atlas for Lotus Connections, "a corporate social networking visualization and analysis tool designed to help organizations maximize their investment in social software by answering questions such as who the key experts are on a given topic, how they are connected, and whom a user's contacts know that they do not."

Then there's Google's OpenSocial, which Ryan Garver discusses in the accompanying sidebar "Google's OpenSocial API."

Even Cisco is getting into the social networking tools business. And Microsoft is working with researchers at three universities to develop software that can identify experts in online social networks based on the structure of their interactions. Some of the results of the research suggest the kinds of things that Community Analytics teases out of its data, but perhaps less specific: People who offer the most useful information tend to be relatively taciturn, posting to many threads but only a few posts, responding to people who ask specific questions, rarely interacting with frequent posters.

Tools like these, as well as the very existence of Community Analytics, a company entirely focused on the analysis of social networks, suggests that we are in the early days of exploring and exploiting the hidden power of social networks. The next stage could be pretty interesting.

Google's OpenSocial API

By Ryan Garver

Ryan is CTO of ELC Technologies. He can be contacted at [email protected].


Google's Open Social (code.google.com/apis/opensocial) was released in November of 2007 and has caused a stir in the social network widget space. Similar to the more mature Facebook API, OpenSocial lets third-party developers embed applications into the profile pages of their users across multiple social networks. Websites such as Friendster, MySpace, LinkedIn, Plaxo, Six Apart, and Wink.com are all claiming support for OpenSocial.

OpenSocial is comprised of two core APIs:

  • The JavaScript API is designed to run within an OpenSocial container and be used by an OpenSocial application.
  • The REST API supports more general consumption.

These APIs revolve around the basic concepts of People (including their relationships with other People), Activities, and Persistence.

An OpenSocial application is a Google Gadget with an added <Require feature="opensocial-0.5"/>. The <Content> tag contains a CData section with HTML fragments and JavaScript, which is written inside a <div> within the container HTML.

An OpenSocial container is any environment in which the JavaScript API is implemented and an OpenSocial application can be loaded and run. When embedded in a profile page or something similar, the container exists as an IFRAME, which shelters the host network's private information from the executed application. The container loads the application's preferences and content into the embedded IFRAME as raw HTML and JavaScript. In addition to the OpenSocial JavaScript API, the container also must implement most of the functionality supplied by Google Gadgets, also known as the "_IG functions."

OpenSocial caters to the mashup culture that has been skyrocketing since the early days of MySpace, and more recently with the Facebook application boom. Beyond the benefits to existing networks in promoting a richer user experience, OpenSocial opens the doors for smaller niche social networks by making user profile information easy to share. By lowering the gates, big networks are letting users move their profiles across multiple sites, thus enabling smaller networks to thrive.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.