Social Actions moves the open source ball forward for the cause community
Guest post by Amy Sample Ward
I’ve followed and supported the work of Peter Deitz and Social Actions ever since hearing about his passion and ideas a few years ago. There’s a lot happening with Social Actions right now, but one bit of news is really exciting and needs to be highlighted: some incredibly important technical enhancements have recently been made to the Social Actions API. (Here’s what an API is.) Earlier this week, I got ahold of Peter to get the full scoop! Here’s our exchange:
Let’s start at the beginning: What is Social Actions and where does the API come in?
I describe Social Actions as an aggregation of actions people can take on any issue that’s built to be highly distributable across the social web. We pull in donation opportunities, volunteer positions, petitions, event, and other actions from 60-plus different sources. That’s today. A few years ago, microphilanthropy had just a handful of pioneering platforms.
The Social Actions project began in 2006. I wanted to make some kind of contribution to the world of microphilanthropy. My intent was to inventory every interesting action I came across to make it easier for people to engage in the causes they cared about. There wasn’t much scalability in the way I was pursuing the project.
In 2007, I realized that a much more effective way to aggregate interesting actions would be to subscribe to RSS feeds from trusted sources. I wrote about the potential for aggregating RSS feeds of giving opportunities in a blog post called, Why We Need Group Fundraising RSS Feeds. Three months later I had a prototype platform aggregating actions from RSS feeds, with a search element around that content.
Around the time of the Nonprofit Technology Network’s 2008 NTC conference, an even brighter lightbulb went on. I remember sitting in a session by Kurt Voelker of ForumOne Communications, Tompkins Spann of Convio, and Jeremy Carbaugh of The Sunlight Foundation. They were talking about APIs. (API stands for Application Programming Interface, and refers broadly to the way one piece of software or dataset communicates with another.) In fact, the name of the session was “APIs for Beginners.”
I knew I wanted to be in the session even without really knowing why. It was there that I realized my RSS-based process for aggregating actions could be so much more with a robust distribution component. I wrote a blog post called, Mashups, Open APIs, and the Future of Collaboration in the Nonprofit Tech Sector. I left that session knowing exactly the direction I wanted to take Social Actions.
And what would you describe as the purpose of Social Actions’ API?
There’s a groundswell of interest, on the part of “non-nonprofit professionals,” to engage with social movements and causes. It’s well-documented at this point that people are hungry to engage with causes they care about in various forms.
The premise behind Social Actions is that there are enough actions floating around on the Web that nonprofits produce, but that they’re not linked up properly or adequately syndicated. There are a million opportunities to take action on a cause you care about, but it’s not easy to find them. The Social Actions API attempts to address the distribution and syndication challenge while also encouraging nonprofits to make their actions more readily available.
What were the limitations that Social Actions and its API were hitting up against before the recent updates?
We have encountered a number of challenges over the years. Originally, adding actions manually was difficult. That challenge was resolved by creating a platform that used RSS feeds to pull in opportunities, which in turn evolved into the Social Actions API, allowing people to access the full dataset from any application that connected to it.
The vast majority of applications that have been built since 2008 match actions with related content: for example, by reading a blog post and searching the Social Actions dataset for related actions. The quality of the search results were limited by our querying capabilities and relevancy ranking. The results we were able to produce didn’t reflect the full contents of our database. They tended to reflect only the most recently added actions, not the most relevant. As a result, we weren’t equipping developers with a platform that allowed for more accurate location- and issue-based searches. Until the recent enhancements, producing the best possible search results for a given phrase or keyword was the biggest challenge.
What did the recent updates accomplish, and how did the opportunity to make them come about?
The enhancements effectively put Social Actions back on the cutting edge of social technology. These were changes that we had wanted to make for a long time. In spring 2009, we were approached by a group that was building an advanced video + action platform and that wanted to draw on the Social Actions API. Link TV, in prototyping their ViewChange platform, noticed that the Social Actions API wasn’t producing the best possible results. They invited us to explore with them what would be involved in updating our platform so that ViewChange could feature more relevant results.
Link TV, along with Doug Puchanski and Rob DiCiuccio of Definition, helped us articulate the changes that would need to occur and then connected us with a funder who could underwrite what amounted to a very significant enhancement to our code base. In one month, we had approximately as large an investment in the technology as we’d had in total up until that point. It has been incredibly exciting to see how open source projects like Social Actions tend to grow in fits and bursts, depending on the demands and resources made available by users.
What do “Semantic Analysis” and “Natural Language Processing” mean, and how do they make the Social Actions API better?
Semantic Analysis and Natural Language Processing both have to do with the process of identifying the meaning of a collection of words together. Semantic analysis, for example, can help to identify the meaning of a phrase like “poverty relief” as distinct from what “poverty” and “relief” mean independently. The Social Actions API now uses a tool called Zemanta to apply these processes when searching the actions contained in the dataset. As a result, we can say with more confidence what an action is about and where it is taking place. When searching for the phrase “poverty relief,” for example, not only are the search results more accurate, but Zemanta helps us to identify other actions that might not in fact use that phrase but are nonetheless linked in meaning to it. It’s a difficult concept to explain, but hopefully this makes sense.
And what does “Linked Open Data” refer to?
Just like in 2008 when I had an “aha moment” about APIs, in June 2009 I had an “aha moment” about Linked Open Data. I was presenting Social Actions at the Semantic Technology Conference (SemTech), describing how Social Actions was an open database and how we encouraged developers to build open source applications that distributed this data widely. Ivan Herman from W3C listened to the presentation asked, “Why are you building something that’s so closed? Why aren’t you publishing this data in RDF?”
I was surprised, to the say least. Defeated, in fact. I had spent close to three years trying to build this open platform only to have someone more tech-savvy than me explain that what we had built was in fact still a closed platform. It turns out I was at the epicenter of the Linked Open Data community. Their mission is to link the world’s knowledge in the same way that all of the world’s web pages have been linked to one another.
If you can imagine that today the web is a collection of links between pages, the web of tomorrow (proposed by these folks and Tim Berners-Lee) will be a collection of links between discrete bits of knowledge or datasets. Anyone will be able to follow the connection that’s been made between one repository of data and another the same way people can now hyperlink between one web page and another.
Linked Open Data essentially refers to building connections between these repositories in a standard format not unlike HTML and hypertext.
What role do APIs, and the people who build them, play in Linked Open Data?
The stewards of databases are no longer just asked to open up their datasets but to make them available in such a way that they link with other data repositories by design. In the case of Social Actions, Ivan from the Wc3 was effectively saying, “It’s great you have all of this data on actions people can take, but what are you doing to link that data with other datasets? What are you doing to help people make the connection between ‘poverty relief’ as an issue, for example, and existing data sets on the prevalence of poverty in a specific location?”
The Social Actions API now cross-references issues and locations with universal identifiers that have been assigned to them. Just like you might cross-reference the subject of a book with a Dewey Decimal number, we are now cross-referencing each action with a universal identifier that helps to link it to related data. Using Zemanta, we are able to provide URIs (Uniform Resource Identifier) from Freebase and DBPedia that make the connection between actions in our system and other material on the web that relates to the same topic.
You can see examples of this at http://search.socialactions.com. Search for any phrase. Below each result you’ll see a link to “Entities.”
Can you tell me more about what ViewChange has done?
ViewChange is an example of an application that queries our actions using Freebase and DBPedia URIs as well as traditional keywords and phrases. The application says to Social Actions, “Show me everything that matches this URI.” The same query is submitted to the Social Actions API as is submitted to any data repository – news articles, videos, blog posts, etc. It’s truly commendable that Link TV, through the ViewChange project, has driven these enhancements on our platform.
A lot is also owed to Doug Puchalski, a programmer with Definition who helped lead the development of ViewChange.
To you, what might the future look like for people who want to take action on the causes they care about?
The technology exists for us to do really amazing things when it comes to matching people with actions they can take to make a difference. The technology itself is advancing, opening up more possibilities for even smarter applications.
The future of social technology, specifically creative implementations of the Social Actions API and similar open source platforms, is very exciting provided nonprofits and foundations continue to make rich data available and link it up with other repositories in the way I’ve attempted to describe. The future is also very bright if we continue to experiment with how these linked data repositories can be deployed for forms of community engagement that we would not have thought possible a few years ago.
If everything goes incredibly well in the coming years, what might emerge is ubiquitous infrastructure of enabling technology and complementary applications that continuously present individuals with meaningful and relevant opportunities to enact change.
The Social Actions API – a pioneering open source project since 2008 – continues its boundary-pushing agenda by embracing the semantic Web and contributing to the Linked Open Data cloud, encouraging the sector as a whole to leverage open source software and linked data for greater impact.
Visit socialactions.com today to learn more!
Cross-posted from Amy Sample Ward’s blog.
• Social actions toolset (Socialbrite)
• Social Actions: Toward a philanthropic Web (Socialbrite)
• How open standards can benefit nonprofit tech (Socialbrite)
• A new open database about social entrepreneurs (Socialbrite)
• All for Good: A Craigslist for service (Socialbrite)
• Making social causes actionable (JD Lasica’s 2008 interview with Peter — Archive.org)