On the Design of Socially-Aware Distributed Systems