Using Theoretical Frameworks from the Social Sciences to Understand and Explain Behaviour in Social Computing