During undergrad, I worked on a few side projects, with most of them using some sort of social-networking API. It was great learning some new skills and at the same time it was rewarding to tap into the vast networks of established sites such as Facebook and Twitter. Cue to postgrad and I had to complete a research component as part of my course requirements. With a nudge from my supervisor I asked the question: "Is it viable to have a generic social networking API? Will it be useful?"
Think signing petitions is useless? There's probably an app for that. But Change.org proves the cynics wrong--every day. And now there's a Change.org API to rattle the powerful even further. The API is in beta, is free, and uses REST with JSON returned. The API covers a multitude of requests from creating petitions to checking signatures, from looking at the case for a petition to updating them.