Skip to content

Community contributions

Amy James edited this page Oct 15, 2020 · 6 revisions

Community contributions desk research

10 reflections on designing a design system (IBM Carbon)

https://medium.com/design-ibm/10-reflections-on-designing-a-design-system-b79ac93e1fd7

A healthy feedback loop, robust contribution models, active support channels, and regular communication between community members is crucial to the success of the overall system.

Carbon’s what’s happening is a great example of the importance of community to a design system.

GDS Design System Contribution and Assurance Workshop, Dec 2019

Contribution is still intimidating

  • Especially true for people new to government or their team
  • Perception of review sessions is worse than reality - what is the perception of the contribution process
  • Moving to a more open discussion with an emphasis on designing solutions collaboratively

There’s a perception that you need technical knowledge to contribute

  • Github is intimidating, especially for those with less technical skill - perception that it’s mainly for developers and is hard to use
  • Technical terminology used in discussions also contributes to this perception
  • Creates a sense that you need to have technical knowledge and experience to meaningfully contribute, which can be exclusionary to people in less technical roles - Do people understand what they can contribute?

It’s easy to lose momentum

  • Need dedicated staff for sustaining momentum on contributions and assurances - dedicated community manager to encourage and co-ordinate community participation

We need to make ourselves collectively more resilient

  • Creating a single COP responsible for supporting contribution and assurance to reduce the burden on individual teams

GDS - How to support a contributor of a new component or pattern, Dec 2019

Organise a kick off session

  • Beforehand check numerous things like “is the contribution already in the back log?”, “Is there a clear user need?”, “Where would this contribution live in the service manual?”, “What dependencies might the contribution have?”
  • During the meeting - agree acceptance criteria; identify support needs (design, guidance, code and research are ultimately the responsibility of the contributor - could this deter some people from contributing?); next steps to proceed publicly and assign the relevant issues in the backlog

Book into a review session

  • With the design system working group, reviewing new contributions each month
  • Contributions sent 2 weeks before the review session

Develop the contribution

  • Have weekly catch-up meetings with the contributor to record progress
  • 3 weeks before, prepare the contribution for review

Working group review session

  • Contributor should attend the session for context and understanding
  • After the session, review recommendations and meet with the design system team to decide what work should be done before publication

Publishing

  • Prepare to publish the contribution
  • Publish the contribution
  • Let the community know - does the sharing of contributors and contributions encourage contributing?

What are the factors that contribute to a healthy online community?

https://www.quirks.com/articles/what-are-the-factors-that-contribute-to-a-healthy-online-community

  • “Actively participating in a community is demanding for consumers and it often requires consumers to spend considerable time and effort in completing tasks… while there may of an extrinsic motivation for consumers to participate, they will only continue to do so if the community provides benefits and experiences that are valuable and interesting.”
  • “Churn is collectively defined as passive participation and passive contribution… passive participation and contribution will result in shallow communities, superficial findings and inferior content.”

Size of community

  • “Previous research on the size of communities has shown that having too large of a group of people and too many posts in a community can lead to lurking and lower activity”

Recency, frequency, monetary framework -

  • “Recency (how recently did a member post) positively relates to churn; people feel they have done part of their duty and hence their predisposition for subsequent participation and depth of contribution may be lower.”
  • “Frequency (number of posts over time) and monetary value (length of posts) have a negative relationship with near future churn; behaviour is more habitual and they have developed a certain loyalty to the community.”

Positive emotionality

  • “People are positively affected by the excitement levels of others; enthusiasm and ambition generate positive vibes and make people work towards similar goals… positive emotional state enhances co-operation between group members and improves perception of task performance, resulting in a constructive environment that creates the perfect atmosphere for community members to participate and contribute.”

Negative emotions

  • “Negative feelings inhibit group performance and thus it is common practice to moderate and manage groups in a way that creates and promotes a positive atmosphere.”
  • Creating a smaller group of people to call on to contribute more frequently?

The 90-9-1 Rule for Participation Inequality in Social Media and Online Communities

https://www.nngroup.com/articles/participation-inequality/

  • “User participation often more or less follows a 90-9-1 rule: 90% of users are lurkers (read or observe but don’t contribute), 9% contribute from time to time but other priorities dominate their time, and 1% of users participate A LOT and account for most contributions (it can seem as if they don’t have lives because they often post just minutes after whatever event they’re commenting on occurs)
  • “A study of more than 2 million messages on Usenet found that 27% of the postings were from people who posted only a single message. Conversely, the most active 3% of posters contributed 25% of the messages… Obviously if you wanted to assess the ‘feelings of the community’, it’s highly unfair if one subgroup’s 19,000 members have the same representation as another subgroup’s 580,000 members. More importantly, such inequalities would give you a biased understanding of the community, because many differences almost certainly exist between people who post a little and people who post a lot. And you would never hear from the silent majority of lurkers.”
  • “The problem Is that the overall system is not representative of average web users. On any given user participation site, you almost always hear from the same 1% of users, who almost certainly differ from the 90% you never hear from. This can cause trouble for several reasons:
    • Customer feedback - If your company looks to Web postings for customer feedback on its products and services, you're getting an unrepresentative sample.
    • Reviews - Similarly, if you're a consumer trying to find out which restaurant to patronise or what books to buy, online reviews represent only a tiny minority of the people who have experiences with those products and services.
    • Politics - If a party nominates a candidate supported by the "netroots," it will almost certainly lose because such candidates' positions will be too extreme to appeal to mainstream voters. Postings on political blogs come from less than 0.1% of voters, most of whom are hardcore leftists (for Democrats) or rightists (for Republicans).
    • Search - Search engine results pages (SERP) are mainly sorted based on how many other sites link to each destination. When 0.1% of users do most of the linking, we risk having search relevance get ever more out of whack with what's useful for the remaining 99.9% of users. Search engines need to rely more on behavioural data gathered across samples that better represent users, which is why they are building internet access services
    • Signal to noise ratio - Discussion groups drown in flames and low-quality postings, making it hard to identify the gems. Many users stop reading comments because they don't have time to wade through the swamp of postings from people with little to say.
  • You can’t overcome participation inequality, but can implement ways to equalise it
    • Make it easier to contribute - the lower the barrier, the more people will jump through the hoop.
    • Make participation a side effect - let people participate with zero effort by making their contributions a side effect of something else they’re doing. For example, “people who bought this book, also bought these” recommendations are a side effect of people buying books.
    • Edit, don’t create - let users build their contributions by modifying existing templates rather than creating complete entities from scratch. Editing is more enticing and has a gentler learning curve than facing the horror of a blank page.
    • Reward - but don’t over reward - participants - rewarding will help motivate users who have lives outside the internet and thus will broaden your participant base. It doesn’t have to be money based, even just putting gold stars on profiles can be enough. But don’t give too much to the most active participant, or you’ll simply encourage them to dominate the system more.
    • Promote quality contributors - give extra prominence to good contributions and to contributions from people who’ve proven their value.

Chat with GDS about contribution

Conversation with GDS - 10/02/2020

How to create and manage a peer network of community of practice

https://thesocialchangeagency.org/create-a-community-of-practice/

  • CoPs that are created by organisations and institutions still have to be organic and driven by the interests and needs of their members to work.
  • “Sometimes that means letting things go slower than you would have preferred. Don’t try to do everything at once – think about what is the simplest thing you can do that will get you a long way towards your goal and that you will learn the most from.”

CURATE THE GROUP

  • ”If you want to run a successful network you have to create relationships where people are getting equal amount of value for their time and effort. You need to really understand who’s part of your network, what they’re interested in, and how your network can be useful for them to achieve their goals.”
  • You need to make networks mutually beneficial so that participants can see the benefit they get as well as the benefits they can provide. This doesn’t always have to be a personal benefit. It can be attractive because it aligns with an individual’s vision of the change that they wish to see in the world.

CREATE SPACE

  • Create a safe, welcoming and productive environment that helps people focus, relax and trust each other.

MANAGE KNOWLEDGE

  • COPs share knowledge through personal storytelling, based on real-life experience. Give people a platform to share their stories, ideally unfiltered. Use your own comms channels to get them heard. Create feedback loops by making direct calls out to the wider movement to add their experiences, identify new knowledge that emerges and curate the content into follow-up blogs or quick-fire tips.

GET YOUR GOVERNANCE RIGHT

  • Difficulty in sharing decision making with a much larger group of people. How do you decide on what to work on? Creating deadlines for decisions or set the percentage of people involved who need to vote for the decision to count.

MAKE TEA

  • Look after everyone. Facilitate the thing you’ve created well. The key is to make sure that the ground rules are set to encourage positive, constructive information sharing. Think “appreciative inquiry”, rather than “stitch and bitch”.

Building a successful community of practice

http://miller-klein.com/wp-content/uploads/2016/12/Communities-of-Practice-Notes.pdf 

6 steps to a successful community

CLEAR PURPOSE

  • People need to know what a community is about so that they can decide whether to participate or not and whether that particular community might have an answer to a problem they are struggling with. In general, the more tightly defined a community is, the more effective it is.

FIT THE CULTURE

  • Has to match the culture of the organisation it’s within

DELIVER TO COMMUNITY MEMBERS

  • To be successful, a community must offer real value to its participants. The value comes from how it helps people as Individuals. How will the community help them achieve their goals? There needs to be a personal return on investment. Whatever the benefits are, they need to be things the participants want and they need to be delivered in a clear and transparent way.

FIND A LEADER

  • COPs are much easier to set up and maintain with a strong leader. A good leader helps to act as a focal point for the community, encouraging participation, ensuring relevance and building capability.

AGREE WAYS OF WORKING

  • Without thinking about this, different people will go into the community with different agendas and expectations.

HAVE MEETINGS

  • Communities should have face-to-face meetings; these are an important part of strengthening the social side of the community or network. Members of the community need to know each other and come to trust each other.

Cultivating Communities of Practice

https://hbswk.hbs.edu/archive/cultivating-communities-of-practice-a-guide-to-managing-knowledge-seven-principles-for-cultivating-communities-of-practice

Seven principles for cultivating communities of practice

Design for evolution

  • Community design is much more like life-long learning than traditional organisation design. “Alive” communities reflect on and redesign elements of themselves throughout their existence. The key for designing for evolution is to combine design elements in a way that catalyses community development. Social and organisational structures can precipitate the evolution of a community.

Open a dialogue between inside and outside perspectives

Invite different levels of participation

  • Good community architecture invites many different levels of participation. People participate in communities for different reasons - some because the community directly provides value, some for the personal connection, and others for the opportunity to improve their skills.
    • Core group actively participates in discussions, debates and in the public community forum. They are the heart of the community.
    • Active group attend things regularly and participate occasionally in the community forums, but without the regularity or intensity of the core group.
    • Peripheral members rarely participate. They keep to the sidelines, watching the interactions of the core and active members. Some remain peripheral because they feel their observations are not appropriate for the whole or carry no authority. Others do not have the time to contribute more actively. These people are an essential dimension of the COP, they gain their own insights from watching and put them to good use. They may have private conversations about issues being discussed.
    • Interested Non-members
  • Boundaries of the community are fluid and people move through these different levels of involvement over time. The key to good community participation and a healthy degree of movement between levels is to design community activities that allow participants at all levels to feel like full members. Rather than force participation, successful communities “build benches” for those on the sidelines. They make opportunities for semi-private interaction and this keeps the peripheral members connected.
  • Communities create opportunities for active members to take limited leadership roles, such as leading a development project that requires a minimal time commitment. To draw members into more active participation, successful communities build a fire in the centre of the community that will draw people to its heat.

Develop both public and private community spaces

Focus on value

  • Value delivered to the teams which the community serves, and the community members themselves.

Combine familiarity and excitement

Create a rhythm for the community

Defining Design System Contributions

https://medium.com/eightshapes-llc/defining-design-system-contributions-eb48e00e8898

Contribution is not the same as Participation

  • Trouble starts with the basics: people don’t agree on contribution means.
  • Participation is very important, but it can muddle conversations of contribution.
  • Distinguish untraceable collaborative acts as participation, not contribution. Takeaway: Avoid characterising any type of participation in a design system program as a “contribution.” Distinguishing participation from contribution will be hard, and it may risk those heavily participating feeling a bit left out.

Contributions is a Tangible, Recordable Change

  • A design system contribution is… any proposal, design, code, documentation, or design asset of a new feature, enhancement, or fix completed by someone not on the system core team and released through the system for other people to reuse.

Classify Contributions on a Scale

  • Defect fix > Small enhancement > Large enhancement > New feature

  • A fix of a defect. While mostly relevant to code (like an IE11 bug), this also extends to an erroneous Sketch library symbol label or doc site’s guideline.
  • A small enhancement where an architecture otherwise remains stable, such as adding an alert color (orange for “new”) to an existing set (red for “error,” green for “success,” and so on).
  • A large enhancement extends an existing feature, such as an alert’s dismissibility, description, and position (inline, block, or viewport-locked).
  • A new feature is self evident, such as adding a new alert component.

Approach Small and Large Differently

Contributions to Design Systems

https://medium.com/eightshapes-llc/contributions-to-design-systems-89261a9363d8 A system team should be ready for diverse contributions like:

  • A designer contributing component design via Sketch files, even though the component isn’t built in system code.
  • A code-wary designer offering a new colors for charts & visualizations.
  • An editor expanding the published word list (XLS) with 50 additional entries along with another Do/Don’t pair for a punctuation page. Takeaway: Consider the range of disciplines and experience levels served by the system, define how non-coders submit works, and anticipate level-of-effort needed to integrate some contributions from the outside.

How Big? Small Changes Are Easy, Large Changes Are Hard

  • While contributions come in many sizes, you can usually classify them as small or large.

Small Changes

  • Small changes can include fixing a functional, visual, or accessibility defect

Large Changes

  • On the other hand, even a simple pull request (PR) can touch upon a system’s architecture, challenge widely applied conventions, or be “bigger than a breadbox.”

Steps for a large contribution:

  • Initial Discussion, often casual with system team members and/or the community, triggered by an request form, or discussed in a system critique session. “Check out our Contributor’s Guide at [enter URL here]” is a must have.
  • Formal Proposal outlining the contributor, detailed description, rationale, sub-team area (visual style, UI component, UX pattern, or other concern), and relationship with ongoing system and product efforts.
  • Triage & Clarification period to triage the request to refine and detail the proposal. This budding conversation is also an opportunity to educate contributors about related tasks (QA, doc, etc), screening the over-ambitious.
  • Discussion & Consensus period to expose the proposal beyond the contributor and systems team into the community of system users in design and/or development. Common venues can include a system’s “council” of governing leaders, an open #system-design or #system-dev SlackHQ channel, an agenda item during critique, or a meeting with experts to dive deep.
  • Approval and Activation for the proposal to be fully implemented, however approval is defined within an organization.
  • Implementation to design, build and — oh yes, don’t forget — document the proposed feature(s). Takeaway: Have a process, avoid too many steps, separate understanding the change from making the change, and include clear milestones so a contributor sensibly invests their time.

Set Expectations on Quality

Set Expectations on Documentation

Expect to Normalize Contributions, Then and Thereafter

Takeaway: Live with the reality that core members are responsible for maintaining an internally consistent system, and that curation takes effort. Your community appreciates you for it!

Praise Contributor Value in Public Settings

Anatomy of an open source project

https://opensource.guide/how-to-contribute/#anatomy-of-an-open-source-project

A typical open source project has the following types of people:

  • Author: The person/s or organisation that created the project
  • Owner: The person/s who has administrative ownership over the organisation or repository (not always the same as the original author)
  • Maintainers: Contributors who are responsible for driving the vision and managing the organisational aspects of the project (They may also be authors or owners of the project.)
  • Contributors: Everyone who has contributed something back to the project
  • Community Members: People who use the project. They might be active in conversations or express their opinion on the project’s direction

The Carbon community

https://www.carbondesignsystem.com/contributing/overview

Users

Users are members of the community who use Carbon guidelines, assets, and tooling. Anyone can be a user, and we encourage users to participate in the community as much as possible.

Contributors

Contributors are members of the community who contribute to Carbon in a material way. Anyone can be a contributor. In addition to participating as a user, you can also contribute by:

  • Reporting bugs or missing features through GitHub issues
  • Fixing bugs, adding features, and improving documentation

Maintainers

Maintainers are members of the community who are committed to the success of individual Carbon projects. In addition to their participation as a contributor, maintainers:

  • Label, close, and manage GitHub issues
  • Close and merge GitHub pull requests

Blog posts

Clone this wiki locally