Brayansong's Blog

He who controls the past controls the future. He who controls the present controls the past.

Online Community Encouraging Contributions

 

From my last blog post, we discuss about what is online community, characteristics of it, human psychology which also can be understand as social psychology or psychology of community in this case. I also mentioned about keys to create a success online community, today we are going deeper into this. We are going deeper into my favourite online community GitHub.

So What Is GitHub

You might be heard of GitHub, if you are a code savy like me I bet you definitely heard about this lovely name. (I just can’t express my love to this community, I’ll explain this later). So for those who don’t know what GitHub is, GitHub is an online community built for developers which claim to be the world’s leading software development platform. GitHub is founded by Tom Preston-Werner. Feel free to find more about GitHub from here. What I found lovely in GitHub is the culture and the features in provide. In short GitHub is an online community where developers share thoughts, contributes, and collaborate. GitHub also plays abig role in Version Control.

GitHub’s Different Pricing Packages

Don’t worry, GitHub is free for use but with limited feature, unless you need particular features or functions otherwise you don’t need to pay. From my perspective the free version is already heaven. However for those who have professional needs check out this page. For students there’s good news for you, you can request for a Student Developer Pack, check Figure 1. GitHub’s also provides a market place where you can buy software or tools for different purpose. I provide a screenshot of the market place in Figure 2.

Figure 1. GitHub’s Pricing Packages (Private)

Figure 2. GitHub’s Market Place(Private)

Culture

If you remember what I mentioned in my last blog post you might have remember culture is a key to build a success community. If you ever head of Open Source Projects then bingo you are in the right place, GitHub is the largest open source community in the world. You can review, contribute and do surveys here in GitHub. GitHub build the culture to encourage developers or coders to contribute on these open source projects. If you check out this page you will find an ‘event’ started by GitHub called ‘Open Source Friday’ In Open Source Projects no one is getting salary from either a company or the project starter, (although some do donation) however people do help Open Source Project because of motivations. Motivations pathways can be separated as ‘Expectancy’, ‘Intrinsic’, and ‘Heuristic’. Expectancy motivation pathway meaning that ‘Classic expectancy-value model in organizational behavior hold that people will work hard if they think that doing so will lead to outcomes that they value e.g. working hard to get a promotion or playing a computer game to get a high score’– Dr Jason Watson. Intrinsic meaning that ‘The actions (effort) itself can be satisfying and valuede.g. playing a computer game because you like slaying dragonsand watching their wings fall off. Or playing pacman because it is exciting to avoid the ghosts.’ – Dr Jason Watson ‘Heuristic’ meaning that ‘the desire to improve is also directly motivating e.g.Playing a game because you enjoy the fact you are getting better at it.’ – Dr Jason Watson. There are still more Motivations but for today I will focus on this three and explain from my perspective how these motivations can be applied in GitHub this online community.

The Motivation Effects

Starting from ‘Expectancy’, GitHub provide a personal portfolio on its member page showing how much contribution he / she made, these contribution can be earned by reviewing code and contributing on projects. For myself I really find it useful I would like to ask for a person who has more contribution to review my code than those who doesn’t have that much of contributions. It’s like a pride and maybe can build as a portfolio when I try to seek a developer job. That’s how ‘Expectancy’ work, developer working hard to get more contributions shows on their profile.

Second is ‘Intrinsic’, somebody do enjoy helping others and coding, even they don’t get any in payback they just enjoy doing this. Open Source Projects don’t pay back however there are still a lot of developer continuing contributing to it, is it because of this motivation? Maybe is.

The last one for today, ‘Heuristic’. I personally feel deep in this, like everyone I start from a newbie I have no idea what GitHub is and even what is ‘pull’ or ‘merge’ in GitHub, but I was able to I learn from the community – GitHub’s Forum. There is a thread called ‘Learning Hub’, where encourage newcomers learn and ‘teach’ other moderators are also actively in this thread to guide. Another thing, I learned a lot fomr this community that makes me feel I am getting better in coding. This is the motivation of ‘Heuristic’.

Purpose and Features

GitHub has a lot of purpose, it can be used to interact with other developers, collaborate, or help in project management. GitHub provides a tons of API that allow its member to unleash the power of GitHub in a more efficient and east way. User can do almost everything the web version can do by firing API in command prompt or terminal. Features that GitHub provide includes creating brunches, cloning, direct editing code, ask for code reviews, and do automatic comparison on text or code (Figure 5 give an example on this), and may more other features. If use paid for particular professional packages, user can get more additional features. GitHub automatically sends email to user if the code request has been accepted. GitHub also works well with other project management tool or IDE such as Slack, CodeClimate and Atom etc. Figure 3 shows an E-Mail sent by GitHub to notify me about a branch was merged. Figure 4 shows a screenshot of GitHub’s Homepage about other applications that are integrated with GitHub.

Figure 3. Merge E-Mail by GitHub (Private)

Figure 4. Integrated Application (Private) 

Figure 5. Auto Comparison on Text or Code

Encourage

Okay let’s get back to the point, how GitHub encourage its user to contribute? The more contribution made the more popular GitHub is going to be and more user are going to join! From text mentioned above you can know that GitHub is a very good culture builder, GitHub create events and encourage newbies to learn from each other and even request moderators to help up to create a great learning culture to newcomers. The portfolio and insights shows on each opened projects also encourage its user to contribute either to build personal portfolio or to make contribution on the projects requested by the project owner or ‘scrumb master’ in a project management’s term. Its human nature if you receive somebody help, would you help them back in the future? For me yes.

Design Challenges

Including the ‘Expectancy’, ‘Intrinsic’, and ‘Heuristic’ mentioned above. If you try to break down GitHub with Social Design Challenges you can find out that actually GitHub also applies Request Visibility and Social Influence. Request Visibility can be defined as ‘Making the list of needed contributions easily visible increases the likelihood that the community will provide them’. If you navigate to ‘Discover Respositories ’ you can find a list of needed contributions either from open-source projects to undergoing development projects. This encourage community (developer community) to improve and contribute to them. This big community includes Developers around the world and each individual can always find a gap to fit in with their profession. Figure 6. Shows a screenshot of this page. Tags included also show the list of needed profession or in order words programming language needed user can short these out and find the one which they interested in.

Figure 6. Discover Respositories (Private)

The other definition is ‘Providing easy-to-use tools for finding and tracking work that needs to be done increases the amount that gets done’. GitHub provide variety of easy-to-use tools for its members, for example: beyond the web app you can track the commitment, traffic and code frequency of each repository a.k.a Repo. GitHub shows the insight of commitment using visualized graphs and numbers, encouraging individual to commit. GitHub also provides tons of API as a tool to improve development process and also can be used to do project management. Figure 7. Is an edited screenshot of Insight Graphs provided by GitHub as a tool to provide tracking on progress. Check out this link to see API developed by GitHub too.

Figure 7. Insight Graphs (Private)

 

Follow by Social Influence, on GitHub’s home page you can find a list of large firms which cooperate or uses GitHub, isn’t this influential? This explains ‘high-status people in the community lead to more contribution than anonymous requests or requests from low-status members.’ – Dr Jason Watson. For this scenario, high-status people can be referred as worldwide large company. During the lecture, Dr Jason Watson also mentioned that ‘People will be more likely to comply with requests if they come from others who are familiar to them, similar to them, are attractive, are of high status, or have other noticeable socially desirable characteristics.’ Most of these large company such as Airbnb, IBM, Facebook and others (check Figure 8) are well known by people, this cause more attractive, being part of the project development started by these company is super cool right. Even if you don’t be part of them, when you see all these big companies are using this service or are in this community will you be convinced to use and be part of it too? Now you understand how GitHub attracts more developers and encourage contribution. People are more likely to comply with a request when they see that other people have also complied. Report shows that GitHub has 27 Million Developers Worldwide (Retrieved on 6-May-2018). There are so many people are contributing to this community so why not be part of it? As discussed influence can be a very important key point that makes such a great and big community. Are you also a part of this big community? Tell me in the comment below!

Figure 8. Cooperated Companies (Companies uses GitHub)

 

 

Online Community

 

Online community also known as internet community is a virtual community where allows its members or guests to interact with each other via internet. Cambridge Dictionary define it as ‘a group of people who use a particular internet service or belong to a particular group on the internet’. Usually in order to interact with other member in the community ones have to become a member at first. There are plenty of online community nowadays some set-up for specific need or in other word to target specific niche market, which attract user who are finding some specific resources. From my perspective, online community can be separate into two big major type, social media and forum. Examples of social media will be: Facebook, Instagram, Twitter and others, while the other hand, for forums will be Reddit, 4Chan, GitHub’s Forum and others.

The popularity, and differences between them

So you are interested in the popularity of each online community heh? I provide a picture that actually visualize the popularity of major online communities using data in Figure 1. While Figure 2 graph shows the most popular online communities among ages 18 – 24.

Figure 1.  The popularity of Major Online Communities

Figure 2. Most popular Online Communities among ages 18 – 24

Through studying resources I provided above we can know that, online community has become a very ‘sticky’ attribute in our life. Study even shows that ‘More than half of people in Australia say Facebook is their favourite site, strides ahead of other platforms. About 95 per cent of Australians have an account, and use Facebook on average 12.5 hours a week, up 4 hours on last year.’ Figure 3 shows a research done by The Statics Portal a breakdown of Facebook users in Australia as of January 2018, by age group.

Figure 3. Facebook Users in Australia as of January 2018

These online communities works differently, they bring different benefits to its members and users, they also provide different features and functions. These benefits and feature are the fundamentals of making these members, user group sticky. From my perspective, I would use Instagram to share photos but use Facebook to share video content, but rather asking questions about programming and software development on Facebook I will choose to post and discuss these questions on Github’s Forum.

Characteristics of Online Community

Characteristics can be define as the key to a success online community. Basic characteristics of online community including the ability to allow its members to interact with each other, post or share content. However as mentioned, these are just basic if you want to build a great and engaging online community you can try the 6 characteristics below, which I composed and edited after research from various studies.

Keys Characteristics of Success Online Community

  1. Plan your communities
  2. Remember your ‘product’ is human
  3. Design it for user, fit in the market
  4. Plan and build the culture
  5. Create useful content
  6. Encourage Relationships

In order words, online communities do adopt characteristics above.

I included an infographic – Figure 4, that also summarize about the key of creating an engaging online community.

 

Figure 4.  Key of Creating an Engaging Online Community

Like mentioned in the lecture of IAB260 Class by Dr Jason Watson, the multisided platform. User from Side A benefits not only user of Side B but also the same side (Side A) and also the platform (online community). These interactions can be explain with Network Effects. If you want to have a success online community, you must hands on and think about how to cause these effects as they affect also your characteristics.

Psychology

As you may have notice characteristics is the key of success online community. However, online community main ‘products’ are still human, psychologist around the world has conducted a lot of researches on studying human behaviour on these community.  Abraham Maslow, an American psychologist, argued that humans have two distinct social needs: to be loved and accepted. Being able to express your identity among like-minded members, and receive real feedback, is one of the ways to satisfy these needs. Figure 5 will illustrate his theory about social needs. Kenny S. also wrote a guide from his study from most influential studies on the psychology of community by McMillan & Chavis on (1986), in his blog post he mentioned three elements that form ‘sticky’ sense are:

  1. Membership
  2. Influence
  3. Integration
  4. Collaboration

Figure 5. Abraham Maslow  Theory

There are more studies on human psychology on online community this is just brief about them you can find relative studies by searching ‘Social Psychology’.

Where do they occur

The title explains this all, ‘Online Community’ – people interacting online, these community comes in different forms and on different platform. A great distinct example of this would be, 4Chan and Instagram. 4Chan mainly occur on the internet and is not really mobile friendly, 4Chan wants it user / member to access using Desktop rather than mobile or tablets. However, Instagram wants it user / member to access using mobile phone only, you might be able to use Instagram using Desktop or Tablet but you can’t unleash its full functionality and feature, as the main purpose for Instagram is to encourage user to share photos and video using mobile phone.

But good news here, after researching online, Instagram had just released its new API in 2018 which allow user to post online using Desktop version various development is still undergoing. May there be a trade off? We can still observe about this.

Online Community that I engaged

I personally engage in a lot of online community including Facebook, Instagram, Twitter, GitHub’s Forum, GitHub main site, 4Chan. I use them for different purpose, for both Facebook and Instagram, I post actively and comment actively. For Twitter I only post about social cause or professional information. In 4Chan I am only a lurker.

The most interesting online community that I would vote is GitHub. The functionality and features it provide really helped me a lot. Not just these, the number of active members and users in it is also another reason why I am in love with this online community. I provided some screenshot of GitHub in Figure 6 and Figure 7.

Figure 6 (Private)

Figure 7 (Private)

GitHub allows me to ask for code reviews which allows me to connect with other developers (members). GitHub also automatically detects my code changes and keep logs about these which really helps in version control. GitHub also provide a functionality that allows me to collaborate remotely with developers around the world while some projects aren’t limited to local commitment.

Figure 8 and Figure 9 are screenshot about GitHub’s Forum. You can see that GitHub’s Forum is very active and there’s a lot of moderators that helps to keep this community clean. I believe there’s also a lot of developers out there who love this online community as much as I do. Are you one of them? Comment below about what community you like!

[metaslider id=”369″]

Figure 8 Source, Figure 9 Source