As they continue to grow, social and collaborative applications (e.g. twitter, facebook, digg) are increasingly calling for disruptive distributed solutions than can cater for the millions of users these applications serve daily, in hundreds of countries, over a wide variety of devices. To address these challenges, fully decentralised versions of social and collaborative applications are progressively emerging that seek to provide naturally scalable solutions to deliver their services. Gossip protocols in particular appear as a natural solution to implement these decentralised versions, as they intrinsically tend to be highly resilient, efficient, and scalable. Social applications based on gossip have however been limited so far to relatively homogeneous systems: They typically rely on one similarity measure to self-organise large amount of distributed users in implicit communities, and thus offer powerful means to search, mine, and serve personalised data in a distributed manner. We posit in this work that we now need to move to more complex gossip-based social applications that can cater for different types of data and similarity, organised in multiple levels of abstraction. Exploring, designing, and evaluating such novel approaches is unfortunately time-consuming and error-prone. To help in this task, we have started to design a new programming language, Constellation, that seeks to simplify the realisation and experimentation with social gossip-based applications. Constellation is based on two central observations: (i) future decentralised social applications will need to handle heterogeneous forms of data and self-organisation, and (ii) to offer more powerful services, these applications will need to move beyond physical nodes to encompass richer data structures organised in virtualised levels of abstractions.