First, we wanted to have some experience in trying to use patterns during a real design procect. This could lead to ideas about how patterns should be structured and what kinds of tools could support their use.
Second, we genuinely thought that the patterns could help us construct a better site.
Third, we thought that the attempt to apply the patterns might suggest how useful various patterns were and suggest additional patterns.
Fourth, we wanted to provide a worked example of how patterns were actually used in a design process.
What follows is a document produced early in the design process that list goals and then attempts to consider, in turn, each pattern to see what the implications might be. This is only preliminary and suggestive.
Date:7 March, 2002.
1. Provide a place to publish our patterns in order to:
1.1 Gain mindshare,
1.2 Encourage community
1.3 Gain valuable feedback
2. Provide a place to collect patterns (and partial patterns) in order to:
2.1 Extend the Pattern Language
2.2 Encourage Community
3. Provide reference matterials concerning sociotechnical patterns including:
3.1 URL links
4. Provide design rationale with pointers to the Pattern Language and to Components
4.1 Via the PROCESS of making the website and the design rationale, give us more insight into issues of use
4.2 Via the PRODUCT, provide an educational resource
4.3 Elicit comments on the design rationale and whether it "works" as planned.
5. Provide Components that are useful in building a community website
5.1 Gain insight into the relationships among components, patterns, and actual artifacts
5.2 Add to the value of the website and the Pattern Language by encouraging others to contribute components that relate to the Pattern Language
6. Instrument the website so that we can test some of the assumptions in the Pattern Language
7. Make policies, roles, events, and pattern tools (like viewers and editors) etc. publically available for debate, comment, and possible change. For each of: Patterns, Components, Policies, and the Pattern Language, have various areas of differing degrees of acceptance. That is, one area (place) can be a way for an individual to play with these; then they can submit to a "working area" for community testing, debate, etc. And finally there is the place for "accepted" tools, components, patterns, and so on.
8. Not everyone finds "Patterns" a natural or felicitous way to think about problems. Therefore, instead of limiting a site to "Patterns" provide instead a website for programming for social applications that includes all of the above but ALSO includes:
8.1 Principles of good programming for social applications
8.2 Success stories of good social applications
8.3 Articles of interest; e.g., newsworthy items in the domains of computer science and social science and the business value of social applications
8.4 Pictures and bios of featured contributors
8.5 Announcements of conferences, workshops, of interest
8.6 On-line synchornous/asynchoronous chat facilities including hosted events
8.7 "World Jam" (Greater Gathering).
8.8 An IBM-wide (?) Or World wide face to face meeting on the building of social applications.
8.9 Inspirational materials about programming with special emphasis on social applications including poetry, fiction, music, art, studies of programming productivity. These items should be highly SELECTIVE; the idea here is not to go for coverage but to make the site interesting at many levels.
Extend the website beyond social applications to a website for "one-stop shopping" for making software HCI-supportive. Include an extensive, contributed, set of open source Middleware components; various HCI sublanguages for various tasks, contexts, and users as well as pointers to original source material. At the highest level though, it should remain a site geared toward designers, not Ph.D. computer scientists nor social scientists.
Pattern Instantiation Components
A.1.1 Jump Start e-mail distribution Reciprocal linking Lists; conference Papers; word of mouth Friends; links from various Pattern sites
A.1.2 Support Flow and Evolutionary growth Breakthrough followed by revolutionary Redesign; scheduled redesigns
A.1.3 Incremental Value Characteristic of pattern Correlational SW Language; Monitor correlation module Of new material, behavioral Trail and hits over time
A.1.4 Rachet Social Change with Trend detection SW Infrastructure Outline SW from T? Observe emergent Phenomena and design Add infrastructure to support; Support for special roles SW for roles
A.2 Radical Co-location Consider for an intense phase Of designing and implementing The website (1 month); Present as experiment?
A.3 Support Conversation at the Think about: 1) what other groups SW tools for Boundary we need to communicate with as we choosing Go forward with the project and 2) candidates; What other communities we want our value miner Website to communicate with
A.4 Small Successes Early Implies we should put up a mini-site OR do some other smaller design Activity (perhaps, to some extent This has been done via working together On talks, AR proposal etc.).
A.5. Effective Group Process We might think about applying this to how The three of us work as well, but applied to The website, this means that we need to make it Clear, e.g, (by providing separate "places" or Special markings or fonts) where a proposed Pattern "is" in the overall process; similarly With components. If we have an on-line event, We need to make it clear what we are trying to do; E.g., generate or evaluate ideas --- and then Apply appropriate group processes to support That goal. Components Implied: control of Group processes and record Success.
A.5.1 Special Roles Think about what roles Sw to support diff. We want to support roles
A.5.1 Authority Figure To some extent, this is us, But we want to also get Endorsements and participation From "experts" both in PL, SW And social science
A.5.2 Context-setting Entrance The behavior as well as the Could be "looks" Aesthetics associated with intent Should reflect our goals Context, and expectations This could vary for different areas; E.g., if we have an "idea bin", it should Look (and in some sense behave) Less formally than in "accepted patterns" Tested Components should reflect stability And reliability and so on. Overall, I think the site Should speak of cooperation, openness,
B.1.1 Rites of Passage To be "inducted" into higher levels of "authority" And responsibility, users must pass certain "tests" Some of which might have some content and some Of which might have some humor involved; the Provision of an "official" key, password, etc. Perhaps we should develop some mythic aspects to This.
B.1.2 Mardis Gras The online equivalent would be an event once a Year where all users are "equal" (but obviously Limited in privledge and encouraged to be honest In feedback to others. People are anonymous.
B.1.3 Public Declaration A kind of solemn annoucement with fanfare when various things happen: the 100th user, the 100th Pattern, the "promotion" of a user to high poobah
B.1.4 Anniversary Anniverary celebration of the website. Perhaps Associated with a face to face meeting.
B. 1.5 Greater Gathering Somehow have an online "happening" with OTHER communities interested in SW (or in Patterns).
C.1.1 Special Language We introduce new terms, terminology etc. That Only those "in the know" can appropriately use.
C.1.2 Badges and Uniforms Well, only in a symbolic sense. We could describe Such things.
C.1.3 Skill Barrier This will probably happen naturally, but we might Make it an official part of the rites of passage.
C.1.4 Passwords Different areas with different passwords Corresponding to various levels of responsibility.
C.1.5 Keys Again, this can be both substantive in the sense of Actually shipping a piece of client SW symbolic Mythic in terms of cool objects with cool names
C.1.6 Guards A role for people who like to police.
Back to Pattern Language
Back to Welcome Page