PatternLanguageForTheSocialNetwork (ThoughtStorms)

I've been reading ChristopherAlexander's APatternLanguage recently, and am impressed by it's scope, vision and humanity.

I also started thinking about creating a PatternLanguage for social software / social network / internet design. This is hardly a new idea. People have been incorporating Patterns into software engineering theory for a decade or more. But it's remarkable how boring, lumpen and generally degraded the idea has become in the hands of some (not all) of those engineers. In Alexander's book, patterns capture the dynamics of human life at human scale; they're often profound insights into our psychology, politics, educational theory and the good life. In contrast, software engineering patterns are often crude, ugly, clunky examples of wishful thinking in hindsight : "If only we hadn't allowed X to happen it would be so much easier to do Y. Quick let's make Don't do X a pattern. And flog it for all it's worth." Many software patterns lack the aesthetics which guides Alexander's architecture.

One reason for this is that current software engineering presumes a SeparationOfFormAndFunction which doesn't exist in architecture (FunctionMeltsForm). In software we presume that the engineers produce the infrastructural machinery and UI experts or web designers or information architects graft the aesthetic form on top. It has no notion of aesthetics, information architecture and deeper structure as nested systems of ShearingLayers (or structure which interweaves form and function at different scalar levels.)

This is one reason I've become sceptical and asked DoesAbstractionScale?

But suppose things were different. Suppose that we understood that we were building structures of complex interconnected systems. That we couldn't rely on abstraction. That we wanted to integrate everything from code design to the aesthetics of user interfaces to sociological and political research into one continuum. Then Alexander's work would be our guide.

Here are some notes towards a pattern language which, like APL, starts at the grandest scale, with the global society, the political network (RossMayfieldsThreeScalesOfNetwork). Then moves down to individual sites, places and tools. Then finally zooms in to the components of the software and user interface design. Everything is connected. Outer shearing layers constrain the inner ones. Large scale is connected to small scale. Concrete is connected to abstract.

I didn't invent any of these patterns. But I observe them, in every part of the internet which feels like a place you want to be. Please feel free to criticise or refactor these patterns or add new ones that you've discovered. (Note the convention I started using is that all patterns are documented with wiki pages starting "Pls". And they all belong to CategoryPls and no other categories. However, I'm in the process of refactoring to sub pages (using the / notation) of this page. )

The Global

The Political

The Social

The Creative

Individuals and Personal Sites


User Interface

This is still very web oriented at the moment. Particularly at the small scale. All suggestions for patterns for mobile devices etc. (BillJoysSixWebs) and other types of network are welcome.

Other relevant pattern languages

: Very interesting. Thanks Andrius. -- PhilJones


ClayShirky thinks we need to know how to learn more from examples of social software :

: The group is it's own worst enemy :

(See also CreatingCommunities)

See also PatternLanguage (BookList), HowBuildingsLearn, OnGranularity, DecompositionByLanguageIsProbablyAModularityMistake, ScaleAndStructureOfSocialGroups

A weblog pattern : (See (See also RssAsARiver)

CategoryPls, CategoryDesign, CategoryComputerScience, CategorySoftware, CategoryInformationArchitecture, CategoryOrganicArchitecture